VULCAN: A Workbench for Feature-Oriented Product Line Software Development

Software developers, especially embedded system developers, are faced with fierce market competition with: diverse market needs, ever increasing number of features, rapidly changing technologies, and time-to-market pressure. To survive in this environment and enhance their competitiveness in the market, developers are searching for methods and tools to increase their productivity and improve software quality. As a result, software product line engineering (SPLE) methods and support tools have gained popularity ([1, 2]). There are several methods/tools ([3, 4, 5, 6, 7]) that support SPLE. Existing methods such as [3, 4, 5] provide mechanisms for instantiating products from assets that are created manually. Other methods ([6, 7]) provide languages for describing product line architectures and integration mechanisms, but development of assets need to be done manually. With the existing method ([3, 4, 5, 6, 7]), the behavior of systems is not visible thus it is difficult to understand and maintain the systems. To address this limitation, we have developed a new CASE tool, called VULCAN, that supports the entire feature-oriented product line software development life cycle ([8]). VULCAN uses parameterization of assets with features and instantiation of applications through feature selection as others. However, it also provides architecture models/patterns that make the behavior of systems visible; user interface, control, and computation components are separated in architecture models, and control

[1]  Seung-won Hwang,et al.  Towards an Intelligent Code Search Engine , 2010, AAAI.

[2]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[3]  Kyo Chul Kang,et al.  VULCAN: architecture-model-based software development workbench , 2012, WICSA/ECSA Companion Volume.

[4]  Kyo Chul Kang,et al.  Experience Report on Using a Domain Model-Based Extractive Approach to Software Product Line Asset Development , 2009, ICSR.

[5]  Kyo Chul Kang,et al.  A real world object modeling method for creating simulation environment of real-time systems , 2000, OOPSLA '00.

[6]  Hassan Gomaa,et al.  A software design method for real-time systems , 1984, CACM.

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

[8]  Kyo Chul Kang,et al.  Validating Consistency between a Feature Model and Its Implementation , 2013, ICSR.

[9]  David Harel,et al.  On visual formalisms , 1988, CACM.

[10]  Richard N. Taylor,et al.  A highly-extensible, XML-based architecture description language , 2001, Proceedings Working IEEE/IFIP Conference on Software Architecture.

[11]  Ki Ko,et al.  ASADAL/PROVER: A Toolset for Verifying Temporal Properties of Real-Time System Specifications in Statechart , 1999 .

[12]  Kyo Chul Kang,et al.  ASADAL: a tool system for co-development of software and test environment based on product line engineering , 2006, ICSE '06.

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

[14]  Paul Grünbacher,et al.  DOPLER: An Adaptable Tool Suite for Product Line Engineering , 2007, SPLC.