674 research outputs found
Clafer: Lightweight Modeling of Structure, Behaviour, and Variability
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
On Softening OCL Invariants
Invariants play a crucial role in system development. This contribution focuses on invariants in systems with so-called occurrence uncertainty, where we are interested in deciding whether a certain population (a set of instances of a class model) of the system satisfies an invariant or not, but we are unsure about the actual occurrence of the elements of that population, and also about the degree of satisfaction that is actually required for the invariant to be fulfilled. Invariants are soft in the sense that they are required to hold only for a particular, and a priori uncertain, percentage of the population. The contribution proposes a systematic approach to occurrence uncertainty and a prototypical implementation for models with uncertainty and soft invariants allowing to build system states and to make experiments with them.Universidad de Málaga. Campus de Excelencia Internacional AndalucĂa Tech. Proyectos TIN2014-52034-R y PGC2018-094905-B-I00
Leveraging formal verification tools for DSML users: a process modeling case study
15 pagesIn the last decade, Model Driven Engineering (MDE) has been used to improve the development of safety critical systems by providing early Validation and Verification (V&V) tools for Domain Specific Modeling Languages (DSML). Verification of behavioral models is mainly addressed by translating domain specific models to formal verification dedicated languages in order to use the sophisticated associated tools such as model-checkers. This approach has been successfully applied in many different contexts, but it has a major draw- back: the user has to interact with the formal tools. In this paper, we present an illustrated approach that allows the designer to formally express the expected behavioral properties using a user oriented language -- a temporal extension of OCL --, that is automatically translated into the formal language; and then to get feedback from the assessment of these properties using its domain language without having to deal with the formal verification language nor with the under- lying translational semantics. This work is based on the metamodeling pattern for executable DSML that extends the DSML metamodel to integrate concerns related to execution and behavior
Invariant-driven specifications in Maude
AbstractThis work presents a general mechanism for executing specifications that comply with given invariants, which may be expressed in different formalisms and logics. We exploit Maude’s reflective capabilities and its properties as a general semantic framework to provide a generic strategy that allows us to execute Maude specifications taking into account user-defined invariants. The strategy is parameterized by the invariants and by the logic in which such invariants are expressed. We experiment with different logics, providing examples for propositional logic, (finite future time) linear temporal logic and metric temporal logic
Formal Verification Integration Approach for DSML
International audienceThe application of formal methods (especially, model check- ing and static analysis techniques) for the verification of safety critical embedded systems has produced very good results and raised the inter- est of system designers up to the application of these technologies in real size projects. However, these methods usually rely on specific verifica- tion oriented formal languages that most designers do not master. It is thus mandatory to embed the associated tools in automated verification toolchains that allow designers to rely on their usual domain-specific modeling languages (DSMLs) while enjoying the benefits of these power- ful methods. More precisely, we propose a language to formally express system requirements and interpret verification results so that system designers (DSML end-users) avoid the burden of learning some formal verification technologies. Formal verification is achieved through trans- lational semantics. This work is based on a metamodeling pattern for executable DSML that favors the definition of generative tools and thus eases the integration of tools for new DSML
A logic-based approach for the verification of UML timed models
This article presents a novel technique to formally verify models of real-time systems captured through a set of heterogeneous UML diagrams. The technique is based on the following key elements: (i) a subset of Unified Modeling Language (UML) diagrams, called Coretto UML (C-UML), which allows designers to describe the components of the system and their behavior through several kinds of diagrams (e.g., state machine diagrams, sequence diagrams, activity diagrams, interaction overview diagrams), and stereotypes taken from the UML Profile for Modeling and Analysis of Real-Time and Embedded Systems; (ii) a formal semantics of C-UML diagrams, defined through formulae of the metric temporal logic Tempo Reale ImplicitO (TRIO); and (iii) a tool, called Corretto, which implements the aforementioned semantics and allows users to carry out formal verification tasks on modeled systems. We validate the feasibility of our approach through a set of different case studies, taken from both the academic and the industrial domain
Specification and Model-driven Trace Checking of Complex Temporal Properties
Offline trace checking is a procedure used to evaluate requirement properties over a
trace of recorded events. System properties verified in the context of trace checking can be
specified using different specification languages and formalisms; in this thesis, we consider
two classes of complex temporal properties: 1) properties defined using aggregation operators;
2) signal-based temporal properties from the Cyber Physical System (CPS) domain.
The overall goal of this dissertation is to develop methods and tools for the specification
and trace checking of the aforementioned classes of temporal properties, focusing on the
development of scalable trace checking procedures for such properties.
The main contributions of this thesis are:
i) the TEMPSY-CHECK-AG model-driven approach for trace checking of temporal properties
with aggregation operators, defined in the TemPsy-AG language;
ii) a taxonomy covering the most common types of Signal-based Temporal Properties (SBTPs)
in the CPS domain;
iii) SB-TemPsy, a trace-checking approach for SBTPs that strikes a good balance in industrial
contexts in terms of efficiency of the trace checking procedure and coverage of the most
important types of properties in CPS domains. SB-TemPsy includes: 1) SB-TemPsy-DSL,
a DSL that allows the specification of the types of SBTPs identified in the aforementioned
taxonomy, and 2) an efficient trace-checking procedure, implemented in a prototype
tool called SB-TemPsy-Check;
iv) TD-SB-TemPsy-Report, a model-driven trace diagnostics approach for SBTPs expressed
in SB-TemPsy-DSL. TD-SB-TemPsy-Report relies on a set of diagnostics patterns, i.e., undesired
signal behaviors that might lead to property violations. To provide relevant and
detailed information about the cause of a property violation, TD-SB-TemPsy-Report determines
the diagnostics information specific to each type of diagnostics pattern.
Our technological contributions rely on model-driven approaches for trace checking and
trace diagnostics. Such approaches consist in reducing the problem of checking (respectively,
determining the diagnostics information of) a property over an execution trace to the
problem of evaluating an OCL (Object Constraint Language) constraint (semantically equivalent
to ) on an instance (equivalent to ) of a meta-model of the trace. The results — in
terms of efficiency of our model-driven tools—presented in this thesis are in line with those
presented in previous work, and confirm that model-driven technologies can lead to the development
of tools that exhibit good performance from a practical standpoint, also when
applied in industrial contexts
- …