Precise Modeling of Design Patterns in UML (original) (raw)

A UML-based pattern specification technique

2004

Abstract Informally described design patterns are useful for communicating proven solutions for recurring design problems to developers, but they cannot be used as compliance points against which solutions that claim to conform to the patterns are checked. Pattern specification languages that utilize mathematical notation provide the needed formality, but often at the expense of usability. We present a rigorous and practical technique for specifying pattern solutions expressed in the unified modeling language (UML).

A UML-based language for specifying domain-specific patterns

2004

Cost-effective development of large computer-based systems can be realized through systematic reuse of domain-specific design experience. Such experience can be captured by domain-specific design patterns, that is, patterns specifying design solutions for well-defined families of applications. This paper presents a pattern specification notation called the Role-Based Metamodeling Language (RBML) and shows how it can be used to express domain-specific patterns.

A uml-based metamodeling language to specify design patterns

2003

Abstract A design pattern describes a generic solution for problems that occur repeatedly. Current descriptions of design patterns describe solutions with graphical notation and complementing text. To encourage the use of design patterns, the development of pattern supporting tools is imperative. This requires design patterns to be specified precisely. There has been considerable work done on pattern specifications. They suffer from either complication or lack of formality and features.

Specification and Instantiation of Domain Specific Patterns based on UML

International Conference on Enterprise Information Systems, 2010

Domain-specific design patterns provide for architecture reuse of reoccurring design problems in a specific software domain. They capture domain knowledge and design expertise needed for developing applications. Moreover, they accelerate software development since the design of a new application consists in adapting existing patterns, instead of modeling one from the beginning. However, some problems slow their expansion because they have to incorporate flexibility and variability in order to be instantiated for various applications in the domain. This paper proposes new UML notations that better represent the domain-specific design patterns. These notations express variability of patterns to facilitate their comprehension and guide their reuse. The UML extensions are, then, illustrated in the process control system context using an example of an acquisition data pattern.

Model-based specification of design patterns

Acta Informatica, 1999

A considerable interest in design patterns has sprouted in the last couple of years. This interest has been stimulated by the appearance of some excellent books on the subject. A notable example is the book by Gamma et al. . At the time the first ideas of patterns in software engineering were developed, a couple of essential ingredients were available. First, the mechanisms of behavioral and structural abstraction as offered by object-oriented methods (i.e. encapsulation and inheritance). Second, the availability of a notation to communicate the patterns (i.e. OMT [2] as proper predecessor of UML [3]), and last but not least, relevant design-experience with object-oriented systems. The latter is important because patterns are supposed to capture experience on how to solve certain often-occurring problems in system design. Many of the patterns described by Gamma are intended for improving a design by changing class dependencies (possibly without affecting resulting object dependencies) such that groups of classes are de-coupled from others. For example, the observer pattern can be used to make problem specific classes ("concrete subject") independent of the user interface ("concrete observer") such that the changes in the user interface will not affect the implementation of a problem solution. It is interesting to observe that such patterns lean very heavily on inheritance and the related extended object substitutability.

P-UML - A Pattern Design Language with a Formal Semantics

Proceedings of the 15th International Conference on Enterprise Information Systems, 2013

This paper presents and fine-tunes the P-UML design language which is a UML profile that better represents the design patterns and guides their instantiation. Then, it focuses on the definition of the formal semantics of this language in Z. The formal semantics allows a designer to prove the syntactic wellformedness of a P-UML design. In addition, it allows the verification of a design pattern's instantiation thanks to the theorem prover Z/EVES.

UML support for designing software systems as a composition of design patterns

2001

Much of the research work on design patterns has primarily focused on discovering and documenting patterns. Design patterns promise early reuse benefits at the design stage. To reap the benefits of deploying these proven design solutions, we need to develop techniques to construct applications using patterns. These techniques should define a composition mechanism by which patterns can be integrated and deployed in the design of software applications.

Precise Modeling of Design Patterns

Lecture Notes in Computer Science, 2000

Design Patterns are now widely accepted as a useful concept for guiding and documenting the design of object-oriented software systems. Still the UML is ill-equipped for precisely representing design patterns. It is true that some graphical annotations related to parameterized collaborations can be drawn on a UML model, but even the most classical GoF patterns, such as Observer, Composite or Visitor cannot be modeled precisely this way. We thus propose a minimal set of modifications to the UML 1.3 meta-model to make it possible to model design patterns and represent their occurrences in UML, opening the way for some automatic processing of pattern applications within CASE tools. We illustrate our proposal by showing how the Visitor and Observer patterns can be precisely modeled and combined together using our UM-LAUT tool. We conclude on the generality of our approach, as well as its perspectives in the context of the definition of UML 2.0.

Guiding the Application of Design Patterns Based on UML Models

2006

Software design patterns are documented best practice solutions that can be applied to reoccurring problems. Although well documented, there are often opportunities to apply them which are overlooked by software designers. This can be the result of inexperience, the sheer complexity of the system, or the fact that design patterns do not always constitute intuitive designs. In this paper, we present a structured methodology for semiautomating the detection of areas within a UML design of a software system that are good candidates for the use of design patterns. This is achieved by the definition of detection rules formalized using the OCL and using a decision tree model. The approach is illustrated on an example GoF Design Pattern. A prototype tool was developed to show the feasibility of the approach in practical situations, and is used on a case study, producing encouraging results.

Design Patterns Application in UML

Lecture Notes in Computer Science, 2000

Abstract. The Unified Modeling Language (UML) currently proposes a mechanism to model recurrent design structures: the parameterized collaborations. The main goal of this mechanism is to model the struc- ture of Design Patterns. This is an interesting feature because it can help ...