Skip to search boxSkip to navigationSkip to main content

Clafer: Lightweight Modeling of Structure, Behaviour, and Variability

  • Paulius Juodisius
    ,
  • Atrisha Sarkar
    ,
  • Raghava Rao Mukkamala
    ,
  • Michal Antkiewicz
    ,
  • Krzysztof Czarnecki
    ,
Research Output:
Journal Article or Conference Article in Journal
Journal article
Peer-review

Open access

Publication Information

Output type

Research Output:
Journal Article or Conference Article in Journal
Journal article
Peer-review

Original language

English

Article number

2

Pages from-to (Number of pages)

Pages 2:1-2:62 (62 pages)

Journal (Volume, Issue Number)

The Art, Science, and Engineering of Programming (Volume 3, Issue 1)

Publication milestones

  • Published - 2019

Publication status

Published - 2019

ISSN

2473-7321

Publication IDs

  • Scopus: 85076044712

Abstract

Embedded software is growing fast in size and complexity, leading to intimate mixture of complex architectures and complex control. Consequently, software speci cation 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 all these aspects. The language is built on top of first order logic with quantifiers over basic entities (for modeling structures) combined with linear temporal logic (for modeling behaviour). On top of this semantic foundation we build a simple but expressive syntax, enriched with carefully selected syntactic expansions that cover hierarchical modeling, associations, automata, scenarios, and Dwyer’s property patterns.

We evaluate Clafer using a power window case study, and comparing it against other notations that substantially overlap with its scope (SysML, AADL, Temporal OCL and Live Sequence Charts), discussing benefits and perils of using a single notation for the purpose.

Publication metrics

PlumX, opens in new tab

Captures
16
Citations
22