Communicating sequential processes
Communicating sequential processes
Algebraic theory of processes
The entity-relationship model—toward a unified view of data
ACM Transactions on Database Systems (TODS) - Special issue: papers from the international conference on very large data bases: September 22–24, 1975, Framingham, MA
Design and use of software architectures: adopting and evolving a product-line approach
Design and use of software architectures: adopting and evolving a product-line approach
Software product lines: practices and patterns
Software product lines: practices and patterns
Component-based product line engineering with UML
Component-based product line engineering with UML
A Calculus of Communicating Systems
A Calculus of Communicating Systems
Using First-Order Logic for Product Line Model Validation
SPLC 2 Proceedings of the Second International Conference on Software Product Lines
Integrating Feature Modeling with the RSEB
ICSR '98 Proceedings of the 5th International Conference on Software Reuse
Software Product Line Engineering: Foundations, Principles and Techniques
Software Product Line Engineering: Foundations, Principles and Techniques
A foundation for behavioural conformance in software product line architectures
Proceedings of the ISSTA 2006 workshop on Role of software architecture for testing and analysis
Feature-based survey of model transformation approaches
IBM Systems Journal - Model-driven software development
Generic semantics of feature diagrams
Computer Networks: The International Journal of Computer and Telecommunications Networking
A behavioural model for product families
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
An analyzer for extended compositional process algebras
Companion of the 30th international conference on Software engineering
Modeling and Model Checking Software Product Lines
FMOODS '08 Proceedings of the 10th IFIP WG 6.1 international conference on Formal Methods for Open Object-Based Distributed Systems
Formal Modeling for Product Families Engineering
SPLC '08 Proceedings of the 2008 12th International Software Product Line Conference
Using formal specifications to support testing
ACM Computing Surveys (CSUR)
CONCUR 2009 Proceedings of the 20th International Conference on Concurrency Theory
SAT-based analysis of feature models is easy
Proceedings of the 13th International Software Product Line Conference
Modal I/O automata for interface and product line theories
ESOP'07 Proceedings of the 16th European conference on Programming
Automated analysis of feature models 20 years later: A literature review
Information Systems
A logical framework to deal with variability
IFM'10 Proceedings of the 8th international conference on Integrated formal methods
Automated metamorphic testing on the analyses of feature models
Information and Software Technology
Design and validation of variability in product lines
Proceedings of the 2nd International Workshop on Product Line Approaches in Software Engineering
An algebra of product families
Software and Systems Modeling (SoSyM)
A text-based approach to feature modelling: Syntax and semantics of TVL
Science of Computer Programming
Formal Description of Variability in Product Families
SPLC '11 Proceedings of the 2011 15th International Software Product Line Conference
Modular modelling of software product lines with feature nets
SEFM'11 Proceedings of the 9th international conference on Software engineering and formal methods
Derivation of a suitable finite test suite for customized probabilistic systems
FORTE'06 Proceedings of the 26th IFIP WG 6.1 international conference on Formal Techniques for Networked and Distributed Systems
Feature models, grammars, and propositional formulas
SPLC'05 Proceedings of the 9th international conference on Software Product Lines
The PLUSS approach: domain modeling with features, use cases and use case realizations
SPLC'05 Proceedings of the 9th international conference on Software Product Lines
FM'06 Proceedings of the 14th international conference on Formal Methods
SAT-solving in CSP trace refinement
Science of Computer Programming
On modal refinement and consistency
CONCUR'07 Proceedings of the 18th international conference on Concurrency Theory
Hi-index | 0.00 |
Context: A Software Product Line is a set of software systems that are built from a common set of features. These systems are developed in a prescribed way and they can be adapted to fit the needs of customers. Feature models specify the properties of the systems that are meaningful to customers. A semantics that models the feature level has the potential to support the automatic analysis of entire software product lines. Objective: The objective of this paper is to define a formal framework for Software Product Lines. This framework needs to be general enough to provide a formal semantics for existing frameworks like FODA (Feature Oriented Domain Analysis), but also to be easily adaptable to new problems. Method: We define an algebraic language, called SPLA, to describe Software Product Lines. We provide the semantics for the algebra in three different ways. The approach followed to give the semantics is inspired by the semantics of process algebras. First we define an operational semantics, next a denotational semantics, and finally an axiomatic semantics. We also have defined a representation of the algebra into propositional logic. Results: We prove that the three semantics are equivalent. We also show how FODA diagrams can be automatically translated into SPLA. Furthermore, we have developed our tool, called AT, that implements the formal framework presented in this paper. This tool uses a SAT-solver to check the satisfiability of an SPL. Conclusion: This paper defines a general formal framework for software product lines. We have defined three different semantics that are equivalent; this means that depending on the context we can choose the most convenient approach: operational, denotational or axiomatic. The framework is flexible enough because it is closely related to process algebras. Process algebras are a well-known paradigm for which many extensions have been defined.