2006 · 140 citations · 15 references
ComputingComputer ScienceSystems EngineeringFormal MethodsRequirements EngineeringSoftware EngineeringModel-driven DevelopmentModel-driven Software EngineeringSoftware ArchitectureSoftware DesignSoftware ModelingBehavioral SpecificationProduct ArchitectureSoftware Architecture ModelingSoftware Product Line ArchitectureSoftware Product Line ModelingSoftware Product LinesTransition SystemsUser Requirements Analysis
Software product lines or families represent an emerging paradigm that is enabling companies to engineer applications with similar functionality and user requirements more effectively. Behaviour modelling at the architecture level has the potential for supporting behaviour analysis of entire product lines, as well as defining optional and variable behaviour for different products of a family. However, to do so rigorously, a well defined notion of behavioural conformance of a product to its product line must exist. In this paper we provide a discussion on the shortcomings of traditional behaviour modelling formalisms such as Labelled Transition Systems for characterising conformance and propose Modal Transition Systems as an alternative. We discuss existing semantics for such models, exposing their limitations and finally propose a novel semantics for Modal Transition Systems, branching semantics, that can provide the formal underpinning for a notion of behaviour conformance for software product line architectures.
15
Algebraic laws for nondeterminism and concurrency
Matthew Hennessy, Robin Milner · Journal of the ACM · 1985 · 1.4K citations
Formal Methods: State of the Art and Future Directions
Jeannette M. Wing · 1996 · 1.1K citations
Formal verification of parallel programs
Robert Keller · Communications of the ACM · 1976 · 791 citations · Full text
Branching time and abstraction in bisimulation semantics
Rob J. van Glabbeek, W. P. Weijland · Journal of the ACM · 1996 · 737 citations · Full text