Modeling Executable Architectural Design Patterns for Software Product Lines

This paper addresses variability in software product line architectures by addressing variability at a higher level of granularity through architectural design patterns. This approach models three levels of executable architectural design patterns to progressively address variability within the SPL and the member applications. The approach is intended for distributed real-time embedded software domains and has been applied to a space flight SPL.

[1]  Bran Selic Architectural Patterns for Real-Time Systems , 2003, UML for Real.

[2]  Hassan Gomaa,et al.  Reusable Model-Based Testing , 2009, ICSR.

[3]  Hassan Gomaa,et al.  Modeling behavioral design patterns of concurrent objects , 2006, ICSE '06.

[4]  Hassan Gomaa Designing Software Product Lines with UML 2.0: From Use Cases to Pattern-Based Software Architectures , 2006, ICSR.

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

[6]  Hassan Gomaa,et al.  Software product line engineering of space flight software , 2012, 2012 Third International Workshop on Product LinE Approaches in Software Engineering (PLEASE).

[7]  Hassan Gomaa,et al.  A Pattern-Based Modeling Approach for Software Product Line Engineering , 2013, 2013 46th Hawaii International Conference on System Sciences.

[8]  D. Bellebia,et al.  Applying patterns to build a lightweight middleware for embedded systems , 2006, PLoP '06.

[9]  Julie S. Fant Building domain specific software architectures from software architectural design patterns , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[10]  Klaus Pohl,et al.  Software Product Line Engineering - Foundations, Principles, and Techniques , 2005 .

[11]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[12]  Hassan Gomaa,et al.  Architectural Design Patterns for Flight Software , 2011, 2011 14th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing Workshops.

[13]  David Harel,et al.  Executable object modeling with statecharts , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.