Context-dependent product line engineering with lightweight formal approaches

This paper proposes a new style of product line engineering methods. It focuses on constructing embedded systems that take into account the contexts such as the external physical environments. In current product line development projects, Feature Analysis is mainly conducted from the viewpoint of system configurations: how hardware and software components are configured to constitute a system. In most cases, contexts are not considered explicitly. As a result, unexpected and unfavorable behavior might emerge in a system if a developer does not recognize any possible conflicting combinations between the system and contexts. To deal with this problem, this paper provides the notion of a context-dependent product line, which is composed of the system and context lines. The former is obtained by analyzing a family of systems. The latter is obtained by analyzing features of contexts associated to the systems. The system and context lines contain reusable core assets. The configuration of selected system components and contexts can be formally checked at the specification level. In this paper, we show a development process that includes the creation of both product line assets as well as context assets.

[1]  Michael A. Jackson,et al.  Problem Frames - Analysing and Structuring Software Development Problems , 2000 .

[2]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

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

[4]  Cliff B. Jones,et al.  Determining the Specification of a Control System from That of Its Environment , 2003, FME.

[5]  Josh Dehlinger,et al.  Software fault tree analysis for product lines , 2004, Eighth IEEE International Symposium on High Assurance Systems Engineering, 2004. Proceedings..

[6]  John McCarthy,et al.  SOME PHILOSOPHICAL PROBLEMS FROM THE STANDPOINT OF ARTI CIAL INTELLIGENCE , 1987 .

[7]  Jack Greenfield,et al.  Software factories: assembling applications with patterns, models, frameworks and tools , 2004, OOPSLA '03.

[8]  Matthias Weber,et al.  Using Product Sets to Define Complex Product Decisions , 2005, SPLC.

[9]  Patrick Donohoe,et al.  Feature-Oriented Project Line Engineering , 2002, IEEE Softw..

[10]  Constance L. Heitmeyer,et al.  SCR: a toolset for specifying and analyzing requirements , 1995, COMPASS '95 Proceedings of the Tenth Annual Conference on Computer Assurance Systems Integrity, Software Safety and Process Security'.

[11]  Jean-Raymond Abrial,et al.  The B-book - assigning programs to meanings , 1996 .

[12]  Jack Greenfield Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools , 2004, SPLC.

[13]  Naoyasu Ubayashi,et al.  A context analysis method for embedded systems — Exploring a requirement boundary between a system and its context , 2011, 2011 IEEE 19th International Requirements Engineering Conference.

[14]  Jaejoon Lee,et al.  FORM: A feature-;oriented reuse method with domain-;specific reference architectures , 1998, Ann. Softw. Eng..

[15]  Stanley M. Sutton,et al.  N degrees of separation: multi-dimensional separation of concerns , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[16]  Ridha Khédri,et al.  Feature Algebra , 2006, FM.

[17]  Klaus Pohl,et al.  Software Product Line Engineering , 2005 .

[18]  Nancy G. Leveson,et al.  Safeware: System Safety and Computers , 1995 .

[19]  Peter Gorm Larsen,et al.  Modelling Systems: Practical Tools and Techniques in Software Development , 1998 .

[20]  Richard Foley,et al.  An extension of problem frame notation for software product lines , 2005, 12th Asia-Pacific Software Engineering Conference (APSEC'05).

[21]  John Mylopoulos,et al.  Capturing more world knowledge in the requirements specification , 1982, ICSE '82.

[22]  Tzilla Elrad,et al.  Aspect-oriented programming: Introduction , 2001, CACM.

[23]  Kang G. Shin,et al.  A distributed real-time operating system , 1992, IEEE Software.

[24]  Tim Trew,et al.  Using Feature Diagrams with Context Variability to Model Multiple Product Lines for Software Supply Chains , 2008, 2008 12th International Software Product Line Conference.

[25]  Kyo Chul Kang,et al.  Usage Context as Key Driver for Feature Selection , 2010, SPLC.

[26]  Gregor Kiczales,et al.  Aspect-oriented programming , 1996, CSUR.

[27]  Jing Liu Handling Safety-Related Feature Interaction in Safety-Critical Product Lines , 2007, 29th International Conference on Software Engineering (ICSE'07 Companion).

[28]  Daniel Jackson,et al.  Lightweight Formal Methods , 2001, FME.

[29]  Gerard J. Holzmann,et al.  The SPIN Model Checker , 2003 .

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

[31]  Mark Saaltink,et al.  The Z/EVES System , 1997, ZUM.

[32]  Peter Gorm Larsen,et al.  Validated Designs for Object-oriented Systems , 2004 .

[33]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

[34]  Jing Liu,et al.  Safety analysis of software product lines using state-based modeling , 2005, 16th IEEE International Symposium on Software Reliability Engineering (ISSRE'05).

[35]  Andreas Classen,et al.  Relating requirements and feature configurations: a systematic approach , 2009, SPLC.

[36]  Jun Yoshida,et al.  An Extensible Aspect-Oriented Modeling Environment , 2009, CAiSE.

[37]  Naoyasu Ubayashi,et al.  Context-aware feature-oriented modeling with an aspect extension of VDM , 2007, SAC '07.

[38]  Naoyasu Ubayashi,et al.  Context-Dependent Product Line Practice for Constructing Reliable Embedded Systems , 2010, SPLC.

[39]  Hai H. Wang,et al.  Formal semantics and verification for feature modeling , 2005, 10th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS'05).

[40]  Robert E. Filman,et al.  What Is Aspect-Oriented Programming , 2001 .