A Tool and a Formalism to Design and Apply Patterns

Patterns systems are becoming more and more numerous. They offer product patterns or process patterns of varied range and cover (analysis, design or implementation patterns, and general, domain or enterprise patterns). New application development environments have been developed together with these pattern-oriented approaches and should address two kinds of actors: patterns engineers who specify patterns systems, and applications engineers who use these systems to specify information systems. Nevertheless, most of the existing development environments are made for applications engineers; they offer few functionalities allowing definition and organization of patterns systems. This paper presents AGAP, a development environment for defining and using patterns, which distinguishes pattern formalisms from patterns systems. Not only does AGAP address applications engineers, but it also allows patterns engineers to define patterns systems in order to increase the level of reuse. We illustrate the use of AGAP by the presentation of P-Sigma, a common formalism for patterns representation. P-Sigma expresses a semantics common to most of the existing formalisms and standardizes the expression of product patterns and process patterns. It allows to clarify the patterns selection interface and facilitates the organization of patterns systems.

[1]  James H. Cross,et al.  Reverse engineering and design recovery: a taxonomy , 1990, IEEE Software.

[2]  Maria Istela Cagnin,et al.  An experiment of legacy code segmentation to improve maintainability , 1999, Proceedings of the Third European Conference on Software Maintenance and Reengineering (Cat. No. PR00090).

[3]  Agnès Front,et al.  Patterns Retrieval System: A First Attempt , 2000, NLDB.

[4]  Marco Meijers,et al.  T ool Support for Object-Oriented Design Patterns , 1996 .

[5]  Rosangela Aparecida Dellosso Penteado Um método para engenharia reversa orientada a objetos. , 1996 .

[6]  D. M. Hutton,et al.  Process Patterns: Building Large‐Scale Systems Using Object Technology , 1999 .

[7]  Ralph E. Johnson,et al.  Documenting frameworks using patterns , 1992, OOPSLA '92.

[8]  M. Fowler Analysis patterns: reusable objects models , 1996 .

[9]  B. F. Castro Buschmann, Frank; Meunier, Regine; Rohnert, Hans; Sommerlad, Peter; Stal, Michael. Pattern-oriented software architecture: a system of patterns, John Wiley & Sons Ltd, 1996 , 1997 .

[10]  Silvana Castano,et al.  WERDE: A Pattern-Based Tool for Exception Design in Workflows , 1998, SEBD.

[11]  Scott W. Ambler,et al.  More Process Patterns: About the Author , 1998 .

[12]  D. Rieu,et al.  Symphony: a conceptual model based on business components , 2002, IEEE International Conference on Systems, Man and Cybernetics.

[13]  Douglas C. Schmidt,et al.  Software patterns , 1996, CACM.

[14]  Bernd-Uwe Pagel,et al.  Towards Pattern-based Tools , 1996 .

[15]  Serge Demeyer,et al.  Making design patterns explicit in FACE: a frame work adaptive composition environment , 1997, ESEC '97/FSE-5.

[16]  Craig Chambers,et al.  A debate on language and tool support for design patterns , 2000, POPL '00.

[17]  Stéphane Ducasse,et al.  A Pattern Language for Reverse Engineering , 1999, EuroPLoP.

[18]  Mark Mayfield,et al.  Object Models: Strategies, Patterns, and Applications , 1995 .

[19]  Colette Rolland,et al.  A Multi-Model View of Process Modelling , 1999, Requirements Engineering.

[20]  Scott W. Ambler,et al.  Process patterns: building large-scale systems using object technology , 1998 .

[21]  Christopher Alexander,et al.  The Timeless Way of Building , 1979 .

[22]  D. Rieu,et al.  Pattern approach for product information systems engineering , 2002, IEEE International Conference on Systems, Man and Cybernetics.

[23]  Rosana T. V. Braga Padrões de Software a partir da Engenharia Reversa de Sistemas Legados , 1998 .

[24]  Robert Engel,et al.  Making design patterns explicit in FACE , 1997, FSE 1997.

[25]  Scott W. Ambler More Process Patterns: Illustrations , 1999 .

[26]  Rebecca Wirfs-Brock,et al.  Designing object-oriented software , 1990 .

[27]  Martin Fowler,et al.  Analysis patterns - reusable object models , 1996, Addison-Wesley series in object-oriented software engineering.

[28]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .