1,929 research outputs found

    Formalising design patterns in predicate logic

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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
    corecore