loading...
 This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
27th Annual NASA Goddard Software Engineering Workshop (SEW-27'02)
Elemental Design Patterns: A Formal Semantics for Composition of OO Software Architecture
Greenbelt, Maryland
December 05-December 06
ISBN: 0-7695-1855-9
Jason McC. Smith, University of North Carolina at Chapel Hill
David Stotts, University of North Carolina at Chapel Hill
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.
Citation:
Jason McC. Smith, David Stotts, "Elemental Design Patterns: A Formal Semantics for Composition of OO Software Architecture," sew, pp.183, 27th Annual NASA Goddard Software Engineering Workshop (SEW-27'02), 2002
Usage of this product signifies your acceptance of the Terms of Use.