Clafer: Lightweight Modeling of Structure, Behaviour, and Variability

07/23/2018
by   Paulius Juodisius, et al.
0

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

READ FULL TEXT
research
04/12/2021

Joint Universal Syntactic and Semantic Parsing

While numerous attempts have been made to jointly parse syntax and seman...
research
04/13/2023

Robustness Measures and Monitors for Time Window Temporal Logic

Temporal logics (TLs) have been widely used to formalize interpretable t...
research
07/17/2021

A proof theoretic basis for relational semantics

Logic has proved essential for formally modeling software based systems....
research
02/14/2018

pyfml - a textual language for feature modeling

The Feature model is a typical approach to capture variability in a soft...
research
09/06/2023

Requirements Analysis of Variability Constraints in a Configurable Flight Software System

Variability constraints are an integral part of the requirements for a c...
research
06/30/2020

Towards a Quantum Software Modeling Language

We set down the principles behind a modeling language for quantum softwa...
research
01/21/2020

Executable Biochemical Space for Specification and Analysis of Biochemical Systems

We present the second generation of a rule-based language called Biochem...

Please sign up or login with your details

Forgot password? Click here to reset