Architectural patterns for problem frames

Problem frames provide a characterisation and classification of software development problems. Fitting a problem to an appropriate problem frame should not only help to understand it, but also to solve the problem (the idea being that, once the adequate problem frame is identified, then the associated development method should be available). The authors propose software architectural patterns corresponding to the different problem frames that may serve as a starting point for the construction of the software solving the given problem. It is shown that these architectural patterns exactly reflect the properties of the problems fitting to a given frame, and that they can be combined in a modular way to solve multi-frame problems. Alternative architectures to cope with specific system characteristics (e.g. distribution) are also provided.

[1]  Bashar Nuseibeh,et al.  Relating software requirements and architectures using problem frames , 2002, Proceedings IEEE Joint International Conference on Requirements Engineering.

[2]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

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

[4]  Peter D. Mosses,et al.  CASL User Manual: Introduction to Using the Common Algebraic Specification Language , 2004 .

[5]  Peter D. Mosses,et al.  CASL User Manual , 2004, Lecture Notes in Computer Science.

[6]  Tommaso Bolognesi,et al.  Tableau methods to describe strong bisimilarity on LOTOS processes involving pure interleaving and enabling , 1994, FORTE.

[7]  J. Michael Spivey,et al.  The Z notation - a reference manual , 1992, Prentice Hall International Series in Computer Science.

[8]  Mary Shaw,et al.  Software architecture: the next step for object technology (panel) , 1993, OOPSLA '93.

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

[10]  Alistair G. Sutcliffe,et al.  The domain theory - patterns for knowledge and software reuse , 2002 .

[11]  Luigi Lavazza,et al.  A UML-based Approach for Representing Problem Frames , 2004 .

[12]  John Daniels,et al.  UML Components: A Simple Process for Specifying Component-Based Software , 2000 .

[13]  Neil A. M. Maiden,et al.  The Domain Theory for Requirements Engineering , 1998, IEEE Trans. Software Eng..

[14]  Constance L. Heitmeyer,et al.  Hardware/Software Co-Design and Co-Validation Using the SCR Method , 1999 .

[15]  Christine Choppy,et al.  Using CASL to Specify the Requirements and the Design: A Problem Specific Approach , 1999, WADT.

[16]  Michael A. Jackson,et al.  Software requirements and specifications - a lexicon of practice, principles and prejudices , 1995 .

[17]  Charles P. Shelton,et al.  Developing a Software Architecture for Graceful Degradation in an Elevator Control System , 2001 .

[18]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .

[19]  Anthony Hall,et al.  Will It Work , 2001 .

[20]  Helen M. Edwards,et al.  Problem frames: analyzing and structuring software development problems , 2002, Softw. Test. Verification Reliab..

[21]  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 .

[22]  Maritta Heisel,et al.  A Model-Based Development Process for Embedded System , 2005, MBEES.

[23]  Bashar Nuseibeh,et al.  Architecture-driven problem decomposition , 2004, Proceedings. 12th IEEE International Requirements Engineering Conference, 2004..

[24]  Maritta Heisel,et al.  Use of Patterns in Formal Development: Systematic Transition from Problems to Architectural Designs , 2002, WADT.

[25]  David Lorge Parnas,et al.  Functional Documents for Computer Systems , 1995, Sci. Comput. Program..