• Documents
  • Authors
  • Tables
  • Log in
  • Sign up
  • MetaCart
  • DMCA
  • Donate

CiteSeerX logo

Advanced Search Include Citations
Advanced Search Include Citations

Relationships between design patterns, (1994)

by Walter Zimmer
Add To MetaCart

Tools

Sorted by:
Results 1 - 10 of 84
Next 10 →

Architectural Styles and the Design of Network-based Software Architectures

by Roy Thomas Fielding , 2000
"... The World Wide Web has succeeded in large part because its software architecture has been designed to meet the needs of an Internet-scale distributed hypermedia system. The Web has been iteratively developed over the past ten years through a series of modifications to the standards that define its ..."
Abstract - Cited by 1119 (1 self) - Add to MetaCart
The World Wide Web has succeeded in large part because its software architecture has been designed to meet the needs of an Internet-scale distributed hypermedia system. The Web has been iteratively developed over the past ten years through a series of modifications to the standards that define its architecture. In order to identify those aspects of the Web that needed improvement and avoid undesirable modifications, a model for the modern Web architecture was needed to guide its design, definition, and deployment. Software architecture research investigates methods for determining how best to partition a system, how components identify and communicate with each other, how information is communicated, how elements of a system can evolve independently, and how all of the above can be described using formal and informal notations. My work is motivated by the desire to understand and evaluate the architectural design of network-based application software through principled use of architectural constraints, thereby obtaining the functional, performance, and social properties desired of an architecture. An architectural style is a named, coordinated set of architectural constraints. This dissertation defines a framework for understanding software architecture via architectural styles and demonstrates how styles can be used to guide the architectural design of network-based application software. A survey of architectural styles for network-based applications is used to classify styles according to the architectural properties they induce on an architecture for distributed hypermedia. I then introduce the Representational State Transfer (REST) architectural style and describe how REST has been used to guide the design and development of the architecture for the modern Web. REST emphasizes scalability of component interactions, generality of interfaces, independent deployment of components, and intermediary components to reduce interaction latency, enforce security, and encapsulate legacy systems. I describe the software engineering principles guiding REST and the interaction constraints chosen to retain those principles, contrasting them to the constraints of other architectural styles. Finally, I describe the lessons learned from applying REST to the design of the Hypertext Transfer Protocol and Uniform Resource Identifier standards, and from their subsequent deployment in Web client and server software.

Design Pattern Implementation in Java and AspectJ

by Jan Hannemann, Gregor Kiczales , 2002
"... AspectJ implementations of the GoF design patterns show modularity improvements in 17 of 23 cases. These improvements are manifested in terms of better code locality, reusability, composability, and (un)pluggability. The degree of ..."
Abstract - Cited by 311 (3 self) - Add to MetaCart
AspectJ implementations of the GoF design patterns show modularity improvements in 17 of 23 cases. These improvements are manifested in terms of better code locality, reusability, composability, and (un)pluggability. The degree of

SPQR: Flexible Automated Design Pattern Extraction From Source Code

by Jason McC. Smith, David Stotts - IN 18TH IEEE INTL CONF ON AUTOMATED SOFTWARE ENGINEERING , 2003
"... Previous automated approaches to discovering design patterns in source code have suffered from a need to enumerate static descriptions of structural and behavioural relationships, resulting in a finite library of variations on pattern implementation. Our approach, System for Pattern Query and Recogn ..."
Abstract - Cited by 48 (10 self) - Add to MetaCart
Previous automated approaches to discovering design patterns in source code have suffered from a need to enumerate static descriptions of structural and behavioural relationships, resulting in a finite library of variations on pattern implementation. Our approach, System for Pattern Query and Recognition, or SPQR, differs in that we do not seek statically to encode each pattern and each variant that we wish to find. Our system finds patterns that were not explicitly defined, but instead are inferred dynamically during code analysis by a theorem prover, providing practical tool support for software construction, comprehension, maintenance, and refactoring. We use a logical inference system to reveal large numbers of patterns and their variations from a small number of definitions by encoding in a formal denotational semantics a small number of fundamental OO concepts (elemental design patterns), encode the rules by which these concepts are combined to form patterns (reliance operators) , and encode the structural/behavioral relationships among components of objects and classes (rho-calculus). A chain of fully automated tools provides a path from source code to revealed patterns. We describe our approach in this paper with a concrete example to drive the discussion, accompanied by formal treatment of the foundational topics.
(Show Context)

Citation Context

...ed work The decomposition and analysis of patterns is an established idea, and the concept of creating a hierarchy of related patterns has been in the literature almost as long as patterns themselves =-=[7, 14, 21, 30]-=-. The few researchers who have attempted to provide a formal basis for patterns have most commonly done so from a desire to perform refactoring of existing code, while others have attempted the more p...

On the interaction of object-oriented design patterns and programming languages

by Gerald Baumgartner, Konstantin Läufer, Vincent F. Russo , 1996
"... Design patterns are distilled from many real systems to catalog common programming practice. We have analyzed several published design patterns and looked for patterns of working around constraints of the implementation language. Some object-oriented design patterns are distorted or overly complic ..."
Abstract - Cited by 28 (1 self) - Add to MetaCart
Design patterns are distilled from many real systems to catalog common programming practice. We have analyzed several published design patterns and looked for patterns of working around constraints of the implementation language. Some object-oriented design patterns are distorted or overly complicated because of the lack of supporting language constructs or mechanisms. Welay a groundwork of generalpurpose language constructs and mechanisms that, if provided by a statically typed, object-oriented language, would better support the implementation of design patterns and, thus, benefit the construction of many real systems. In particular, our catalog of language constructs includes subtyping separate from inheritance, lexically scoped closure objects independent of classes, and multimethod dispatch. The proposed constructs and mechanisms are not radically new, but rather are adopted from a varietyof languages and combined in a new, orthogonal manner. We argue that by describing design patterns in terms of the proposed constructs and mechanisms, pattern descriptions become simpler and, therefore, accessible to a larger number of language communities. Constructs and mechanisms lacking in a particular language can be implemented using paradigmatic idioms.

Classifying Relationships between Object-Oriented

by James Noble - Design Patterns, Australian Software Engineering Conference (ASWEC , 1998
"... Since the publication of the Design Patterns book, a large number of object-oriented design patterns have been identified and codified. As part of the pattern form, objectoriented design patterns must indicate their relationships with other patterns, but these relationships are typically described v ..."
Abstract - Cited by 27 (2 self) - Add to MetaCart
Since the publication of the Design Patterns book, a large number of object-oriented design patterns have been identified and codified. As part of the pattern form, objectoriented design patterns must indicate their relationships with other patterns, but these relationships are typically described very briefly, and different collections of patterns describe different relationships in different ways. In this paper we describe and classify the common relationships between object oriented design patterns. Practitioners can use these relationships to help them identity those patterns which may be applicable to a particular problem, and pattern writers can use these relationships to help them integrate new patterns into the body of the patterns literature. 1.
(Show Context)

Citation Context

...For example, the relationships between object-oriented design patterns were first analysed by Walter Zimmer, who studied the relationships between patterns in DesignsPatterns[12]. According to Zimmer =-=[31]-=-, there are three relationships --- one pattern can use another pattern; a variant of one pattern can use another pattern; and one pattern can be similar to another pattern. The Design Patterns Smallt...

Meta-Modeling Design Patterns: Application to Pattern Detection and Code Synthesis

by Hervé Albin-amiot, Yann-gaël Guéhéneuc, Rue Alfred Kastler - Proc. First ECOOP Workshop Automating Object-Oriented Software Development Methods , 2001
"... ABSTRACT: Design Patterns have been quickly adopted by the object-oriented community, in particular since the publication of “Design Patterns: Elements of Reusable Object-Oriented Software”. They offer elegant and reusable solutions to recurring problems of design. Their use increases productivity a ..."
Abstract - Cited by 27 (3 self) - Add to MetaCart
ABSTRACT: Design Patterns have been quickly adopted by the object-oriented community, in particular since the publication of “Design Patterns: Elements of Reusable Object-Oriented Software”. They offer elegant and reusable solutions to recurring problems of design. Their use increases productivity and development quality. However, these solutions, at the boundary of programming languages and design models, suffer from a lack of formalism. For this reason, their application remains empirical and manually performed. This position paper presents how a meta-model can be used to obtain a representation of design patterns and how this representation allows both automatic code generation and design patterns detection.

Object-Oriented Frameworks - A survey of methodological issues

by Michael Mattsson, Michael Mattsson, Michael Mattsson , 1996
"... Software productivity has increased the last three decades [You92]. However, the gap getween the demands on the software industry and what state-of-the-rpractice can deliver is still large. Several decades of research in software engineering left few alternatives but sofware reuse as the (only) real ..."
Abstract - Cited by 26 (9 self) - Add to MetaCart
Software productivity has increased the last three decades [You92]. However, the gap getween the demands on the software industry and what state-of-the-rpractice can deliver is still large. Several decades of research in software engineering left few alternatives but sofware reuse as the (only) realistic approach to bring about the gains in productivity and quality that the software industry needs [Mil95]

Software Patterns

by James O. Coplien
"... ..."
Abstract - Cited by 26 (2 self) - Add to MetaCart
Abstract not found

Elemental design patterns: A formal semantics for composition of oo software architecture

by Jason Mcc Smith, David Stotts - In Proc. of 27th Annual IEEE/NASA Software Engineering Workshop , 2002
"... Design patterns are an important concept in the field of software engineering, providing a language and application independent method for expressing and conveying lessons learned by experienced designers. There is a large gap, however, between the aesthetic and elegance of the patterns as intended ..."
Abstract - Cited by 16 (6 self) - Add to MetaCart
Design patterns are an important concept in the field of software engineering, providing a language and application independent method for expressing and conveying lessons learned by experienced designers. There is a large gap, however, between the aesthetic and elegance of the patterns as intended and the reality of working with an ultimately mathematically expressible system such as code. In this paper we describe a step towards meaningful formal analysis of code within the language of patterns, and discuss potential uses. The major contributions include: a compendium of Elemental Design Patterns (EDPs), a layer of seemingly simplistic relationships between objects that, on closer inspection, provide a critical link between the world of formal analysis and the realm of pattern design and implementation without reducing the patterns to merely syntactic constructs; an extension to the ς-calculus, termed ρ-calculus, a formal notation for expressing relationships between the elements of object oriented languages, and its use in expressing the EDPs directly. We discuss their use in composition and decomposition of existing patterns, identification of pattern use in existing code to aid comprehension, and future research directions, such as support for refactoring of designs, interaction with traditional code analysis systems, and the education of students of software architecture. 1. Problem Description Programming has historically been an exercise in the creation of hierarchical abstractions to manage complexity. As programming techniques have progressed in the field, language designers have continued to push the envelope of producing explicit constructs for those conceptual lessons learned in the previous generation of languages, and software architects have continued to build ever more complex and powerful abstractions. At the same time that these ab-
(Show Context)

Citation Context

...ted work The decomposition and analysis of patterns is an established idea, and the concept of creating a hierarchy of related patterns has been in the literature almost as long as patterns themselves=-=[8, 18, 26, 33]-=-. The few researchers who have attempted to provide a truly formal basis for patterns have most commonly done so from a desire to perform refactoring of existing code, while others have attempted the ...

Patterns as Signs

by James Noble, Robert Biddle - In ECOOP Proceedings , 2002
"... Abstract. Object-oriented design patterns have been one of the most important and successful ideas in software design over the last ten years, and have been well adopted both in industry and academia. A number of open research problems remain regarding patterns, however, including the differences be ..."
Abstract - Cited by 12 (6 self) - Add to MetaCart
Abstract. Object-oriented design patterns have been one of the most important and successful ideas in software design over the last ten years, and have been well adopted both in industry and academia. A number of open research problems remain regarding patterns, however, including the differences between patterns, variant forms of common patterns, the naming of patterns, the organisation of collections of patterns, and the relationships between patterns. We provide a semiotic account of design patterns, treating a pattern as a sign comprised of the programmers ’ intent and its realisation in the program. Considering patterns as signs can address many of these common questions regarding design patterns, to assist both programmers using patterns and authors writing them. 1
(Show Context)

Citation Context

...rns. 5.3 Relationships Between Patterns Semiotics, being fundamentally concerned with the difference between signifiers, signifieds, and signs, can also help define the relationships between patterns =-=[81, 58, 60]-=-. Some pairs of patterns will fundamentally be different: that is, both their signifier (design) and signified (intent) will be mutually unrelated. More interesting cases arise when one (or both) of t...

Powered by: Apache Solr
  • About CiteSeerX
  • Submit and Index Documents
  • Privacy Policy
  • Help
  • Data
  • Source
  • Contact Us

Developed at and hosted by The College of Information Sciences and Technology

© 2007-2019 The Pennsylvania State University