Clafer: Lightweight Modeling of Structure, Behaviour, and Variability

Paulius Juodisius, Atrisha Sarkar, Raghava Rao Mukkamala, Michal Antkiewicz, Krzysztof Czarnecki, Andrzej Wasowski

Research output: Contribution to journalJournal articleResearchpeer-review

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.
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.
LanguageEnglish
Article number2
JournalThe Art, Science, and Engineering of Programming
Volume3
Issue number1
Number of pages62
ISSN2473-7321
DOIs
StatePublished - 23 Jul 2018
Externally publishedYes

Bibliographical note

Epub ahead of print. Published online: 23. July 2018

Keywords

  • Language design
  • Feature modeling
  • Variability modeling
  • Behaviour modeling
  • Semantics

Cite this

Juodisius, Paulius ; Sarkar, Atrisha ; Mukkamala, Raghava Rao ; Antkiewicz, Michal ; Czarnecki, Krzysztof ; Wasowski, Andrzej. / Clafer : Lightweight Modeling of Structure, Behaviour, and Variability. In: The Art, Science, and Engineering of Programming. 2018 ; Vol. 3, No. 1.
@article{125eee957f9c40d0b2ae4722995ba01c,
title = "Clafer: Lightweight Modeling of Structure, Behaviour, and Variability",
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.",
keywords = "Language design, Feature modeling, Variability modeling, Behaviour modeling, Semantics, Language design, Feature modeling, Variability modeling, Behaviour modeling, Semantics",
author = "Paulius Juodisius and Atrisha Sarkar and Mukkamala, {Raghava Rao} and Michal Antkiewicz and Krzysztof Czarnecki and Andrzej Wasowski",
note = "Epub ahead of print. Published online: 23. July 2018",
year = "2018",
month = "7",
day = "23",
doi = "10.22152/programming-journal.org/2019/3/2",
language = "English",
volume = "3",
journal = "The Art, Science, and Engineering of Programming",
issn = "2473-7321",
publisher = "AOSA",
number = "1",

}

Clafer : Lightweight Modeling of Structure, Behaviour, and Variability. / Juodisius, Paulius; Sarkar, Atrisha; Mukkamala, Raghava Rao; Antkiewicz, Michal; Czarnecki, Krzysztof; Wasowski, Andrzej.

In: The Art, Science, and Engineering of Programming, Vol. 3, No. 1, 2, 23.07.2018.

Research output: Contribution to journalJournal articleResearchpeer-review

TY - JOUR

T1 - Clafer

T2 - The Art, Science, and Engineering of Programming

AU - Juodisius,Paulius

AU - Sarkar,Atrisha

AU - Mukkamala,Raghava Rao

AU - Antkiewicz,Michal

AU - Czarnecki,Krzysztof

AU - Wasowski,Andrzej

N1 - Epub ahead of print. Published online: 23. July 2018

PY - 2018/7/23

Y1 - 2018/7/23

N2 - 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.

AB - 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.

KW - Language design

KW - Feature modeling

KW - Variability modeling

KW - Behaviour modeling

KW - Semantics

KW - Language design

KW - Feature modeling

KW - Variability modeling

KW - Behaviour modeling

KW - Semantics

U2 - 10.22152/programming-journal.org/2019/3/2

DO - 10.22152/programming-journal.org/2019/3/2

M3 - Journal article

VL - 3

JO - The Art, Science, and Engineering of Programming

JF - The Art, Science, and Engineering of Programming

SN - 2473-7321

IS - 1

M1 - 2

ER -