skip to main content
10.1145/2648511.2648533acmotherconferencesArticle/Chapter ViewAbstractPublication PagessplcConference Proceedingsconference-collections
research-article

Generation, composition, and verification of families of human-intensive systems

Published: 15 September 2014 Publication History

Abstract

Software products are rarely developed without providing different sets of features to better meet varying user needs, whether through tiered products as part of a product line or different subscription levels for software as a service (SaaS). Software product line approaches for generating and maintaining a family of different variants of software products address such needs for variation quite well. Real-world human-intensive systems (HISs) display similar needs for families of variants. A key contribution of this paper is to show how many of these needs can be rigorously and systematically addressed by adapting established techniques from system and software product line engineering (SPLE).
In this paper, we present an approach for creating such families by explicitly modeling variation in HISs. We focus on two kinds of variation we have previously described in other work---functional detail variation and service variation. We describe a prototype system that is able to meet the need for these kinds of variation within an existing modeling framework and present a case study of the application of our prototype system to generate a family in an HIS from the domain of elections. Our approach also demonstrates how to perform model-checking of this family to discover whether any variants in the family may violate specified system requirements.

References

[1]
S. Apel, T. Leich, and G. Saake. Aspectual feature modules. IEEE Trans. Softw. Eng., 34(2):162--180, 2008.
[2]
O. Armbrust, M. Katahira, Y. Miyamoto, J. Munch, H. Nakao, and A. Ocampo. Scoping software process lines. Softw. Process: Improvement Practice, 14(3):181--197, 2009.
[3]
P. Asirelli, M. ter Beek, A. Fantechi, and S. Gnesi. A model-checking tool for families of services. In Formal Tech. Distr. Sys., volume 6722 of LNCS, 44--58. 2011.
[4]
C. Atkinson, J. Bayer, and D. Muthig. Component-based product line development: The KobrA approach. In SPLC: Int. Softw. Prod. Line Conf., 289--309, 2000.
[5]
D. Batory. Feature-oriented programming and the AHEAD tool suite. In ICSE: Int. Conf. Softw. Eng., 702--703, 2004.
[6]
A. G. Cass, B. Staudt Lerner, E. K. McCall, L. J. Osterweil, S. M. Sutton Jr, and A. Wise. Little-JIL/Juliette: A process definition language and interpreter. In ICSE: Int. Conf. Softw. Eng., 754--757, 2000.
[7]
A. Classen, M. Cordy, P. Heymans, A. Legay, and P.-Y. Schobbens. Model checking software product lines with SNIP. Int. J. Softw. Tools Tech. Transfer, 14(5):589--612, 2012.
[8]
A. Classen, P. Heymans, P.-Y. Schobbens, A. Legay, and J.-F. Raskin. Model checking lots of systems: efficient verification of temporal properties in software product lines. In ICSE: Int. Conf. Softw. Eng., 335--344, 2010.
[9]
P. Clements and L. Northrop. Software Product Lines--Practices and Patterns. Addison-Wesley Prof., 2001.
[10]
J. C. Corbett and G. S. Avrunin. Using integer programming to verify general safety and liveness properties. Int. J. Formal Methods Sys. Design, 6(1):97--123, 1 1995.
[11]
K. Czarnecki and U. Eisenecker. Components and generative programming. In ESEC/FSE: Euro. Softw. Eng. Conf./Int. Symp. Found. Softw. Eng., 2--19, 1999.
[12]
M. B. Dwyer, L. A. Clarke, J. M. Cobleigh, and G. Naumovich. Flow analysis for verifying properties of concurrent software systems. ACM Trans. Softw. Eng. Methodol., 13(4):359--430, 2004.
[13]
C. Gacek and M. Anastasopoules. Implementing product line variabilities. In Symp. Softw. Reusability, 109--117, 2001.
[14]
A. Gruler, M. Leucker, and K. Scheidemann. Modeling and model checking software product lines. In Formal Meth. Open Object-Based Distr. Sys., volume 5051 of LNCS, 113--131. 2008.
[15]
G. J. Holzmann. The model checker SPIN. IEEE Trans. Softw. Eng., 23(5):279--295, 1997.
[16]
C. Kästner and S. Apel. Type-checking software product lines-a formal approach. In ASE: Int. Conf. Auto. Softw. Eng., 258--267, 2008.
[17]
C. Kästner, S. Apel, and M. Kuhlemann. Granularity in software product lines. In ICSE: Int. Conf. Softw. Eng., 311--320, 2008.
[18]
C. Kästner, T. Thüm, G. Saake, J. Feigenspan, T. Leich, F. Wielgorz, and S. Apel. FeatureIDE: a tool framework for feature-oriented software development. In ICSE: Int. Conf. Softw. Eng., 611--614, 2009.
[19]
G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J. Loingtier, and J. Irwin. Aspect-oriented programming. In ECOOP: Euro. Conf. Object-Oriented Prog., 220--242, 1997.
[20]
S. Knauber. Synergy between component-based and generative approaches. In ESEC/FSE: Euro. Softw. Eng. Conf./Int. Symp. Found. Softw. Eng., 2--19, 1999.
[21]
J. Magee and J. Kramer. Concurrency: State Models and Java Programs. Wiley, 2006.
[22]
T. Martínez-Ruiz, F. García, M. Piattini, and F. De Lucas-Consuegra. Process variability management in global software development: a case study. In ICSSP: Int. Conf. Softw. Sys. Process, 46--55, 2013.
[23]
T. Martínez-Ruiz, J. Münch, F. García, and M. Piattini. Requirements and constructors for tailoring software processes: a systematic literature review. J. Softw. Quality, 20(1):229--260, 2012.
[24]
S. Mohalik, S. Ramesh, J.-V. Millo, S. N. Krishna, and G. K. Narwane. Tracing spls precisely and efficiently. In SPLC: Int. Softw. Prod. Line Conf., 186--195, 2012.
[25]
K. Pohl and A. Metzger. Variability management in software product line engineering. In ICSE: Int. Conf. Softw. Eng., 1049--1050, 2006.
[26]
P.-Y. Schobbens, P. Heymans, and J.-C. Trigaux. Feature diagrams: A survey and a formal semantics. In IEEE Int. Conf. Requir. Eng., 139--148, 2006.
[27]
B. Simidchieva and L. Osterweil. Characterizing process variation: NIER track. In ICSE: Int. Conf. Softw. Eng., 836--839, 2011.
[28]
B. I. Simidchieva, S. Engle, M. Clifford, A. C. Jones, S. Peisert, M. Bishop, L. A. Clarke, and L. J. Osterweil. Modeling and analyzing faults to improve election process robustness. In EVT/WOTE: Electronic Voting Tech. Workshop/Workshop Trustworthy Elections, 2010.
[29]
B. I. Simidchieva and L. J. Osterweil. Categorizing and modeling variation in families of systems: a position paper. In ESCA: Euro. Conf. Softw. Arch., 316--323, 2010.
[30]
M. Sinnema, S. Deelstra, J. Nijhuis, and J. Bosch. COVAMOF: a framework for modeling variability in software product families. In Software Product Lines, volume 3154 of LNCS, 25--27, 2004.
[31]
R. L. Smith, G. S. Avrunin, L. A. Clarke, and L. J. Osterweil. PROPEL: an approach supporting property elucidation. In ICSE: Int. Conf. Softw. Eng., 11--21, 2002.
[32]
S. Thaker, D. Batory, D. Kitchin, and W. Cook. Safe composition of product lines. In Int. Conf. Generative Prog. Comp. Eng., 95--104, 2007.
[33]
H. Washizaki. Building Software Process Line Architectures from Bottom Up. In Product-Focused Softw. Process Improvement (PROFES), 415--421, 2006.
[34]
D. M. Weiss and C. T. R. Lai. Software product-line engineering: a family-based software development process. Addison-Wesley, 1999.
[35]
A. Wise. Little-JIL 1.5 Language Report. Tech. report, Computer Science, University of Massachusetts, Amherst, MA, 2006.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
SPLC '14: Proceedings of the 18th International Software Product Line Conference - Volume 1
September 2014
377 pages
ISBN:9781450327404
DOI:10.1145/2648511
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

  • University of Florence: University of Florence
  • CNR: Istituto di Scienza e Tecnologie dell Informazione

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 15 September 2014

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. process families
  2. software product lines
  3. system variation

Qualifiers

  • Research-article

Funding Sources

Conference

SPLC '14
Sponsor:
  • University of Florence
  • CNR

Acceptance Rates

SPLC '14 Paper Acceptance Rate 36 of 97 submissions, 37%;
Overall Acceptance Rate 167 of 463 submissions, 36%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 103
    Total Downloads
  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)0
Reflects downloads up to 20 Jan 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media