1,929 research outputs found
Formalising design patterns in predicate logic
Design patterns are traditionally outlined in an informal
manner. If they could be formalised, we could derive tools
that automatically recognise design patterns and refactor
designs and code. Our approach is to deploy predicate logic
to specify conditions on the class diagrams that describe
design patterns. The structure of class diagrams is itself
described with a novel meta-notation that can be used for
defining any graphical modelling language. As a result, the
constraints, while based on UML, are highly readable and
have much expressive power. This enables us not only to
recognise design patterns in legacy code, but also to reason
about them at the design stage, such as showing one pattern
to be a special case of another. The paper discusses our
specification of the original 23 design patterns and presents
a representative sample of some of them
On the Composition of Design Patterns
Design patterns are usually applied in a composed form
with each other. It is crucial to be able to formally reason
about how patterns can be composed and to prove the
properties of composed patterns. Based on our previous
work on formal specification of design patterns and formal
reasoning about their properties, this paper focuses on the
composition of design patterns. A notion of composition of
patterns with respect to overlaps is formally defined based
on two operations on design patterns, which are the specialisation
of a pattern with constraints and the lifting of a
pattern with a subset of components as the key. The composition
of design patterns is illustrated by the composition
of Composite, Strategy and Observer patterns. A case
study of the formalisation of the relationship between patterns
as suggested by GoF is also reported
Specifying behavioural features of design patterns in first order logic
The formal specification of design patterns is widely
recognised as being vital to their effective and correct use
in software development. It can clarify the concepts underlying
patterns, eliminate ambiguity and thereby lay a solid
foundation for tool support. This paper further advances
an approach that uses first order predicate logic to specify
design patterns by capturing the dynamic behaviour represented
in sequence diagrams. A case study of all 23 patterns
in the Gang of Four catalogue demonstrates that it can not
only capture dynamic features but also simplify the specification
of structural properties
On the Composability of Design Patterns
In real applications, design patterns are almost always to be found composed with each other. It is crucial that these compositions be validated. This paper examines the notion of validity, and develops a formal method for proving or disproving it, in a context where composition is performed with formally defined operators on formally specified patterns. In particular, for validity, we require that pattern compositions preserve the features, semantics and soundness of the composed patterns. The application of the theory is demonstrated by a formal analysis of overlap-based pattern compositions and a case study of a real pattern-oriented software design
The Devilish Ways of Catherine Bourne : Breaking Heteronormative Gender Roles in The Garden of Eden by Ernest Hemingway
Catherine Bourne can be seen as, if not the first, the most feminist hemingwayesque heroine. The Garden of Eden, published posthumously in 1986, presents the journey of Catherine into the discovery of her gender and sexual identity as she transgresses all the established norms and rejects heteronormative rules. Androgynous haircuts, experimental sexuality in which she involves David, her husband and Marita, a woman introduced in her marriage as an equal, are some of the tools Catherine uses to break free from the patriarchal system. She intends to build a personal world in which she makes her own rules free from the concept of normality.Catherine Bourne es pot considerar una de les heroïnes més feministes que Hemingway va escriure. The Garden of Eden, una novel·la publicada pòstumament l'any 1986, narra el procés del descobriment de la nova identitat de gènere i sexualitat de la seva protagonista, Catherine Bourne, a mida que trenca amb les normes establertes i rebutja els cànons heteronormatius. Pentinats andrògins, experiments sexuals en els que involucra al seu marit i a una dona, la Marita, són algunes de les eines que fa servir per alliberar-se del sistema patriarcal. El seu objectiu es construir un món on ella crea les seves normes ignorant les constriccions d'allò considerat normal
Formal specification of the variants and behavioural features of design patterns
The formal specification of design patterns is widely recognized as being vital to their effective and correct use in software development. It can clarify the concepts underlying patterns, eliminate ambiguity and thereby lay a solid foundation for tool support. This paper further advances a formal meta-modelling approach that uses first order predicate logic to specify design patterns. In particular, it specifies both structural and behavioural features of design patterns and systematically captures the variants in a well-structured format. The paper reports a case study involving the formal specification of all 23 patterns in the Gang of Four catalog. It demonstrates that the approach improves the accuracy of pattern specifications by covering variations and clarifying the ambiguous parts of informal descriptions
An Algebra of Design Patterns
In a pattern-oriented software design process, design decisions are made by selecting and instanti-
ating appropriate patterns, and composing them together. In our previous work, we enabled these
decisions to be formalised by dening a set of operators on patterns with which instantiations and
compositions can be represented. In this paper, we investigate the algebraic properties of these
operators. We provide and prove a complete set of algebraic laws so that equivalence between
pattern expressions can be proven. Furthermore, we dene an always-terminating normalisation
of pattern expressions to a canonical form, which is unique modulo equivalence in rst-order logic.
By a case study, the pattern-oriented design of an extensible request-handling framework,
we demonstrate two practical applications of the algebraic framework. Firstly, we can prove
the correctness of a nished design with respect to the design decisions made and the formal
specication of the patterns. Secondly, we can even derive the design from these components
Transformation of Algebraic Specifications into Ontological Semantic Descriptions of Web Services
The accurate description of service semantics plays a crucial role in service discovery, composition and interaction. Most work in this area has been focused on ontological descriptions, which are searchable and machineunderstandable.
However, they do not define service functionality in a verifiable and testable manner In contrast, formal specification techniques, having evolved over the past 30 years, can define semantics in such a manner, but they have not yet been widely applied to service computing because the specifications produced are not searchable. There is a huge gap between these two methods of semantics description. This paper bridges the gap by advancing a transformation technique. It specifies services formally in an algebraic specification language, and then, extracts an ontological description of domain knowledge and service semantics as profiles in an ontology description language such as OWL-S. This brings the desired searchability benefits. The paper presents a prototype tool for performing this transformation and reports a case study to demonstrate the feasibility of our approach
- …