Modeling adaptive and evolvable software product lines using the variation point model

The product line approach provides a systematic approach for software reuse. A challenge with modeling adaptive and evolvable software product lines is how to model variability. This paper describes four different approaches to modeling variability, modeling variability using parameterization, modeling variability using information hiding, modeling variability using inheritance, and modeling variability using variation points. The variation point model (VPM) is used to demonstrate the fourth approach. VPM allows a reuser or application engineer to extend components at pre-specified variation points. For this to be possible, a variation point must be modeled such that the reuser has enough knowledge to build a variant.

[1]  Hassan Gomaa,et al.  Modeling variability in software product lines with the variation point model , 2004, Sci. Comput. Program..

[2]  Colin Atkinson,et al.  Component-based product line development: the KobrA Approach , 2000, SPLC.

[3]  Ivar Jacobson,et al.  The Unified Modeling Language User Guide , 1998, J. Database Manag..

[4]  Sooyong Park,et al.  UML-based service robot software development: a case study , 2006, ICSE '06.

[5]  Per Brinch Hansen,et al.  The nucleus of a multiprogramming system , 1970, CACM.

[6]  Hassan Gomaa,et al.  Modeling behavioral patterns of concurrent objects using Petri nets , 2006, Ninth IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC'06).

[7]  Paul Clements,et al.  A Case Study in Successful Product Line Development , 1996 .

[8]  M. Brian Blake,et al.  Agent-oriented compositional approaches to services-based cross-organizational workflow , 2005, Decis. Support Syst..

[9]  Michael Eonsuk Shin,et al.  A Multiple-View Meta-modeling Approach for Variability Management in Software Product Lines , 2004, ICSR.

[10]  Hassan Gomaa,et al.  Integrating Petri nets with design methods for concurrent and real-time systems , 1996, Proceedings of ICECCS '96: 2nd IEEE International Conference on Engineering of Complex Computer Systems (held jointly with 6th CSESAW and 4th IEEE RTAW).

[11]  Hassan Gomaa Software design of distributed manufacturing control systems , 1988, Proceedings IEEE International Symposium on Intelligent Control 1988.

[12]  Hassan Gomaa,et al.  Inter-Agent Communication in Cooperative Information Agent-Based Systems , 1999, CIA.

[13]  Hassan Gomaa,et al.  Tool Support for Software Variability Management and Product Derivation in Software Product Lines , 2004 .

[14]  Michael Eonsuk Shin,et al.  Modelling complex systems by separating application and security concerns , 2004, Proceedings. Ninth IEEE International Conference on Engineering of Complex Computer Systems.

[15]  강문설 [서평]「The Unified Modeling Language User Guide」 , 1999 .

[16]  David M. Weiss,et al.  Software Product Line Engineering , 2005, SEKE.

[17]  Hassan Gomaa,et al.  Software Product Line Engineering and Dynamic Customization of a Radio Frequency Management System , 2006, IEEE International Conference on Computer Systems and Applications, 2006..

[18]  Hassan Gomaa,et al.  Designing concurrent, distributed, and real-time applications with UML , 2000, ICSE.

[19]  Shaoying Liu,et al.  Integration of the domain modeling method for families of systems with the SOFL formal specification language , 2000, Proceedings Sixth IEEE International Conference on Engineering of Complex Computer Systems. ICECCS 2000.

[20]  Larry Kerschberg,et al.  A performance oriented design methodology for large-scale distributed data intensive information systems , 1995, Proceedings of First IEEE International Conference on Engineering of Complex Computer Systems. ICECCS'95.

[21]  Klaus Schmid,et al.  PuLSE: a methodology to develop software product lines , 1999, SSR '99.

[22]  Hassan Gomaa,et al.  Separation of concerns in software product line engineering , 2005, ACM SIGSOFT Softw. Eng. Notes.

[23]  Daniel A. Menascé,et al.  A framework for QoS-aware software components , 2004, WOSP '04.

[24]  Hassan Gomaa A simulation based model of a virtual storage system , 1979 .

[25]  Michael Eonsuk Shin,et al.  Multiple-view meta-modeling of software product lines , 2002, Eighth IEEE International Conference on Engineering of Complex Computer Systems, 2002. Proceedings..

[26]  Larry Kerschberg,et al.  Data and information architectures for large-scale distributed data intensive information systems , 1996, Proceedings of 8th International Conference on Scientific and Statistical Data Base Management.

[27]  Hassan Gomaa,et al.  Dynamic Software Reconfiguration in Software Product Families , 2003, PFE.

[28]  Vijayan Sugumaran,et al.  A prototype domain modeling environment for reusable software architectures , 1994, Proceedings of 1994 3rd International Conference on Software Reuse.

[29]  Hassan Gomaa,et al.  Modeling State-Dependent Objects using Colored Petri Nets , 2022 .

[30]  Hassan Gomaa,et al.  Use cases for distributed real-time software architectures , 1997, Proceedings of 5th International Workshop on Parallel and Distributed Real-Time Systems and 3rd Workshop on Object-Oriented Real-Time Systems.

[31]  M.L. Griss,et al.  Software reuse architecture, process, and organization for business success , 1997, Proceedings of the Eighth Israeli Conference on Computer Systems and Software Engineering.

[32]  Barbara Paech,et al.  Component-based product line engineering with UML , 2001, Addison Wesley object technology series.

[33]  Daniel A. Menascé,et al.  A Method for Design and Performance Modeling of Client/Server Systems , 2000, IEEE Trans. Software Eng..

[34]  Kevin L. Mills,et al.  A Knowledge-Based Method for Inferring Semantic Concepts from Graphical Models of Real-time Systems , 1998 .

[35]  B. K. Penney,et al.  A student group project in operating system implementation , 1978, SIGCSE '78.

[36]  Hassan Gomaa,et al.  Validation of Dynamic Behavior in UML Using Colored Petri Nets , 2000 .

[37]  Hassan Gomaa The design and calibration of a simulation model of a star computer network , 1982, Softw. Pract. Exp..

[38]  Hassan Gomaa Configuration of distributed heterogeneous information systems , 1994, Proceedings of 2nd International Workshop on Configurable Distributed Systems.

[39]  A. Jefferson Offutt,et al.  A Five Year Perspective on Software Engineering Graduate Programs at George Mason University , 1994, CSEE.

[40]  Daniel A. Menascé,et al.  Reusable component interconnection patterns for distributed software architectures , 2001, SSR '01.

[41]  Hassan Gomaa,et al.  Automated configuration of distributed applications from reusable software architectures , 1997, Proceedings 12th IEEE International Conference Automated Software Engineering.

[42]  Hassan Gomaa,et al.  Model-based testing for applications derived from software product lines , 2005, A-MOST.

[43]  Hassan Gomaa A Modelling Approach to the Evaluation of Computer System Performance , 1976, Performance.

[44]  Hassan Gomaa Designing Real-Time Applications with the COMET / UML Method , 2000 .

[45]  Randal E. Bryant,et al.  Concurrent programming , 1980, Operating Systems Engineering.

[46]  Hassan Gomaa,et al.  Modeling Variability with the Variation Point Model , 2002, ICSR.

[47]  Hassan Gomaa,et al.  A reusable architecture for federated client/server systems , 1999, SSR '99.

[48]  Larry Kerschberg,et al.  Domain modeling for software reuse and evolution , 1995, Proceedings Seventh International Workshop on Computer-Aided Software Engineering.

[49]  G.A. Farrukh,et al.  An approach for generating executable distributed applications from reusable software architectures , 1996, Proceedings of ICECCS '96: 2nd IEEE International Conference on Engineering of Complex Computer Systems (held jointly with 6th CSESAW and 4th IEEE RTAW).

[50]  Daniel A. Menascé,et al.  Performance Engineering of Component-Based Distributed Software Systems , 2001, Performance Engineering.

[51]  H. Gomaa Architecture-Centric Evolution in Software Product Lines : Position Paper , 2005 .

[52]  Hassan Gomaa,et al.  Prototyping as a tool in the specification of user requirements , 1981, ICSE '81.

[53]  Hassan Gomaa,et al.  A software modeling odyssey: designing evolutionary architecture-centric real-time systems and product lines , 2006, MoDELS'06.

[54]  Henk Sol,et al.  Proceedings of the 54th Hawaii International Conference on System Sciences , 1997, HICSS 2015.

[55]  Hassan Gomaa,et al.  Domain Modeling for World Wide Web Based Software Product Lines with UML , 2002, ICSR.

[56]  Hassan Gomaa,et al.  Improving the Reliability of Concurrent Object-Oriented Software Designs , 2003, 2003 The Ninth IEEE International Workshop on Object-Oriented Real-Time Dependable Systems.

[57]  Hassan Gomaa,et al.  The Role of Use Cases in Requirements and Analysis Modeling , 2005 .

[58]  Hassan Gomaa,et al.  Object Oriented Analysis and Modeling for Families of Systems with UML , 2000, ICSR.

[59]  Ivar Jacobson,et al.  The unified modeling language reference manual , 2010 .

[60]  Hassan Gomaa,et al.  Dynamic navigation in multiple view software specifications and designs , 1998, J. Syst. Softw..

[61]  Hassan Gomaa,et al.  Concurrent Systems Design , 2002 .

[62]  Hassan Gomaa,et al.  A software design method for Ada 95 based concurrent and real-time systems , 1995, TRI-Ada '95.

[63]  Hassan Gomaa The impact of rapid prototyping on specifying user requirements , 1983, SOEN.

[64]  Daniel A. Menascé,et al.  Design and performance modeling of component interconnection patterns for distributed software architectures , 2000, WOSP '00.

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

[66]  Hassan Gomaa,et al.  Methods and tools for the automated configuration of distributed applications from reusable software architectures and components , 1999, IEE Proc. Softw..

[67]  Larry Kerschberg,et al.  Domain modeling of software process models , 2000, Proceedings Sixth IEEE International Conference on Engineering of Complex Computer Systems. ICECCS 2000.

[68]  M. Brian Blake Object-Oriented Modeling Approaches to Agent-Based Cross-Organizational Workflow Systems , 2003 .

[69]  Hassan Gomaa Domain modeling methods and environments , 1995, SSR '95.

[70]  H. Gomaa,et al.  Composition of software architectures from reusable architecture patterns , 1998, ISAW '98.

[71]  Hassan Gomaa,et al.  A software engineering environment for configuring distributed applications from reusable software architectures , 1997, Proceedings Eighth IEEE International Workshop on Software Technology and Engineering Practice incorporating Computer Aided Software Engineering.

[72]  Hassan Gomaa,et al.  Modeling behavioral patterns of concurrent software architectures using Petri nets , 2004, Proceedings. Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004).

[73]  Hassan Gomaa,et al.  Software product line engineering for Web services and UML , 2005, The 3rd ACS/IEEE International Conference onComputer Systems and Applications, 2005..

[74]  Hassan Gomaa,et al.  A Knowledge-based Approach for Automating a Design Method for Concurrent and Real-Time Systems , 1996, SEKE.

[75]  M. Morisio,et al.  Extending UML to support domain analysis , 2000, Proceedings ASE 2000. Fifteenth IEEE International Conference on Automated Software Engineering.

[76]  Hassan Gomaa,et al.  Feature Driven Dynamic Customization of Software Product Lines , 2006, ICSR.

[77]  David C. Rine,et al.  The variation point model for software product lines , 2001 .

[78]  Daniel A. Menascé,et al.  On a language based method for software performance engineering of client/server systems , 1998, WOSP '98.

[79]  Philippe Lalanda,et al.  A Domain-Specific Software Architecture for Adaptive Intelligent Systems , 1995, IEEE Trans. Software Eng..

[80]  Hassan Gomaa,et al.  Software reconfiguration patterns for dynamic evolution of software architectures , 2004, Proceedings. Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004).

[81]  Kevin L. Mills,et al.  Knowledge-based Automation of a Design Method for Concurrent and Real-Time Systems , 1998 .

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