Information Technology Reference
In-Depth Information
reasons are (i) finding patterns relevant to the problem-at-hand is hard [3], often because
pattern libraries are unstructured; (ii) understanding patterns requires some expertise [4]
that users often do not have.
The main objective of this paper is to address this situation by formalizing design pat-
terns in a language that has a built-in matching operation, thereby offering automated
support for the identification of applicable patterns for a given design problem, also for
formulating a design solution. In this work, we formalize the pattern library as well
as the design problem as a knowledge base using description logics [5], and represent
the context of the patterns as a query to the knowledge base (SPARQL and SQWRL).
To evaluate the proposed framework, we use a case study coming from SERENITY
Security and Dependability (S&D) patterns [6]. Our evaluation is conducted along two
fronts. Firstly we want to see to what extent a description logic can accommodate pat-
terns expressed in an ontologically rich pattern language with built-in concepts such as
goal, agent, strategic dependencies among agents, and more. After all, description logics
are ontologically simple in the sense that they usually come only with two primitives:
concepts and roles (binary relationships). Secondly, we want to know if our proposed
solution scales as the size of the design problem to be matched against patterns in the
pattern library grow.
The rest of the paper is structured as follows. We outline the research baseline (de-
scription logic and OWL-
) in Section 2. Section 3 presents the case study, while
Section 4 details the formalization of patterns. In Section 5, we explain the experimen-
tal setup we used and its results. We then offer a discussion of related work in Section 6
and concluding remarks in Section 7.
DL
2 Baseline
Description Logics (DL). [5] are used to formalize design patterns and also the
problem-at-hand in terms of concepts, roles, individuals and their relations. In DL there
is no explicit use of variables. Instead, operators are exploited to define complex con-
cepts and roles starting from atomic ones. The set of operators is restricted to ensure
tractability for reasoning, such as deciding if a concept is a generalization (subsumes)
another concept. A DL knowledge base is composed of two components: 1) a termino-
logical box (TBox) consisting of definitions for concepts and roles, and 2) an assertional
box (ABox) consisting of individuals and true facts about them. For instance, if we con-
sider a knowledge base about persons, the TBox would contain concepts such as Person,
Male, Female, Parent, Child etc., and roles such as hasChild, and axioms of the form:
Person Male Female
Man≡ PersonMale
Father
Man
Father
Man
hasChild.Person
The ABox, on the other hand, contains assertions regarding individuals, such as axioms
of the form: Father
(
Tom
)
.
 
Search WWH ::




Custom Search