A Formal Approach to Architectural Design Patterns

In this paper we introduce a formal approach to architectural design patterns based on an object-oriented model integrated with a process-oriented method for describing the patterns. The object-oriented model is based on the Abstract Data View (ADV) concept, which is a formal model for subjectivity in that it explicitly distinguishes between two kinds of objects, namely application objects and object vieWs. The formalism allows the definition and application of design patterns by considering both the process program for the pattern tasks and the interconnected objects and views resulting from a particular pattern instantiation. The approach can be used to describe design patterns at many different architectural levels, and this is illustrated by presenting patterns for the master-slave, pipes- and-filters, layered systems, adapter, observer, and composite.

[1]  Nicole Lévy,et al.  A language-independent approach to specification construction , 1994, SIGSOFT '94.

[2]  Harold Ossher,et al.  Subjectivity in object-oriented systems , 1994, OOPSLA '94.

[3]  Donald D. Cowan,et al.  Application integration: Constructing composite applications from interactive components , 1993, Software, Practice & Experience.

[4]  Harold Ossher,et al.  Subjectivity in object-oriented systems: workshop summary , 1995, OOPSLA '95.

[5]  Xiaolei Qian,et al.  Correct Architecture Refinement , 1995, IEEE Trans. Software Eng..

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

[7]  Richard Jüllig,et al.  Specware: Formal Support for Composing Software , 1995, MPC.

[8]  James O. Coplien,et al.  Pattern languages of program design , 1995 .

[9]  Zohar Manna,et al.  The Temporal Logic of Reactive and Concurrent Systems , 1991, Springer New York.

[10]  P. Alencar,et al.  Combining Formal Techniques and Prototyping in User Interface Construction and Verification , 1995, DSV-IS.

[11]  Stephen Travis Pope,et al.  A cookbook for using the model-view controller user interface paradigm in Smalltalk-80 , 1988 .

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

[13]  Donald D. Cowan,et al.  Abstract Data Views: An Interface Specification Concept to Enhance Design for Reuse , 1995, IEEE Trans. Software Eng..

[14]  Joseph A. Goguen,et al.  Institutions: abstract model theory for specification and programming , 1992, JACM.

[15]  Martin Gogolla,et al.  Sketching Concepts and Computational Model of TROLL light , 1993, DISCO.

[16]  Bogdan Korel,et al.  Automated Software Test Data Generation , 1990, IEEE Trans. Software Eng..

[17]  Paulo S. C. Alencar,et al.  Formal specification of reusable interface objects , 1995, SSR '95.

[18]  Harold Ossher,et al.  Subject-oriented programming: a critique of pure objects , 1993, OOPSLA '93.

[19]  Joseph A. Goguen,et al.  Introducing Institutions , 1983, Logic of Programs.

[20]  Donald D. Cowan,et al.  Abstract Data Views , 1993, Struct. Program..

[21]  Władysław Turski,et al.  The specification of computer programs , 1987 .

[22]  Paulo S. C. Alencar,et al.  A Formal Approach to Design Pattern Definition Application , 1995 .