Clafer: Lightweight Modeling of Structure, Behaviour, and Variability
Paulius Juodisius (IT University of Copenhagen, Denmark), Atrisha, Sarkar (University of Waterloo, Canada), Raghava Rao Mukkamala (Department of, Technology, Kristiania University College, Norway), Michal Antkiewicz, (University of Waterloo, Canada)

TL;DR
Clafer is a compact modeling language that unifies structural, behavioral, and variability aspects of embedded software systems, enabling comprehensive system specifications within a single formalism.
Contribution
It introduces Clafer, a novel language combining rich structural and behavioral modeling with variability, built on first-order and linear temporal logic, unifying multiple modeling facets.
Findings
Successfully applied to a power window case study
Compared favorably against SysML, AADL, and other notations
Demonstrated expressive power and integration capabilities
Abstract
Embedded software is growing fast in size and complexity, leading to intimate mixture of complex architectures and complex control. Consequently, software specification requires modeling both structures and behaviour of systems. Unfortunately, existing languages do not integrate these aspects well, usually prioritizing one of them. It is common to develop a separate language for each of these facets. In this paper, we contribute Clafer: a small language that attempts to tackle this challenge. It combines rich structural modeling with state of the art behavioural formalisms. We are not aware of any other modeling language that seamlessly combines these facets common to system and software modeling. We show how Clafer, in a single unified syntax and semantics, allows capturing feature models (variability), component models, discrete control models (automata) and variability encompassing…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
