This day is organized by Uppsala University and ASTEC (Advanced Software Technology) as an introduction to the discipline of Design patterns, and with presentation of research work. It is intended for anyone with any level of interest in the topic. Everyone is most welcome to attend!!!
Abstract:
Beginning with a short historical review of the young discipline,
the presentation serves as an overview of the most widely effective
application of patterns in software: design patterns. I give an
essential description of two distinct design patterns, and conclude
with a discussion of the definitions, characteristics, and variety of
pattern papers.
Abstract:
The aim is to discuss the notion of design patterns from two perspectives,
i.e. software architecture and language support. Software architecture
research is concerned with the top-level structure of a software system and
aims at guaranteeing the fulfillment of especially the non-functional
requirements of the system. Design patterns represent structures that improve
one or more NFRs while maintaining the same functionality. The relation
between architectural styles and design patterns is that the former exists on
the macro level, whereas design patters provide structures at the micro level.
With respect to language support, the implementation of design patterns in
conventional object oriented languages suffers from problems such as
traceability, the self problem, reusability and implementation overhead. Three
levels of support can be identified, i.e. visualization, code generation and
integrated language support. The presentation will discuss these approaches
and their associated advantages and disadvantages. Especially our work
representing design patterns in the layered object model, our high-level
research language, will be addressed.
Abstract:
Precise specification of the solution indicated by a design pattern can
greatly promote our understanding of the laws that govern the application
(implementation) of each design pattern. Resolution of other issues,
such as efficient indexing of patterns, and possible juxtapositions
of different patterns, also appear to depend on having their accurate
formulation.
This talk focuses on formulating the specification of the solution dictated by design patterns ("lattice") and approaches to the specification language, such as the metaprogramming approach. I demonstrate how the solutions prescribed by design patterns are precisely formulated by this approach; and a prototype of a tool we have built, the "patterns wizard", that supports the specification of design patterns and their application according to the metaprogramming approach.
I will demonstrate the use of this tool in the context of the GoF's patterns and Eiffel programs.
I conclude with a declarative approach at the specification of design patterns. A formal specification language will be defined, and the specification of design patterns by this approach will be discussed.