Architectural Patterns for Problem Frames ( Report )

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). We 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. We show 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. We also provide alternative architectures to cope with specific system characteristics (e.g. distribution).

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

[2]  Flavio Oquendo,et al.  Software Architecture , 2004, Lecture Notes in Computer Science.

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

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

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

[6]  Samson Abramsky,et al.  Domain theory , 1995, LICS 1995.

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

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

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

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

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

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

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

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

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

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

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

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

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