Prototyping Formal System Models with Active Objects

10/05/2018
by   Eduard Kamburjan, et al.
0

We propose active object languages as a development tool for formal system models of distributed systems. Additionally to a formalization based on a term rewriting system, we use established Software Engineering concepts, including software product lines and object orientation that come with extensive tool support. We illustrate our modeling approach by prototyping a weak memory model. The resulting executable model is modular and has clear interfaces between communicating participants through object-oriented modeling. Relaxations of the basic memory model are expressed as self-contained variants of a software product line. As a modeling language we use the formal active object language ABS which comes with an extensive tool set. This permits rapid formalization of core ideas, early validity checks in terms of formal invariant proofs, and debugging support by executing test runs. Hence, our approach supports the prototyping of formal system models with early feedback.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
12/23/2019

Tool Support for Validation of Formal System Models: Interactive Visualization and Requirements Traceability

Development processes in various engineering disciplines are incorporati...
research
10/25/2018

Thinging vs Objectfying in Software Engineering

In this paper, we propose the use of a modeling methodology based on the...
research
07/09/2017

Refinable Function : An Object-oriented Approach to Procedure Modularity

Modularity is the fundamental aspect of modern software engineering, how...
research
01/30/2018

EMME: a formal tool for ECMAScript Memory Model Evaluation

Nearly all web-based interfaces are written in JavaScript. Given its pre...
research
05/21/2020

THE ADELE-TEMPO experience : an environment to support process modeling and enaction

Process-Centered Software Engineering Environments (PSEE) have recently ...
research
06/26/2019

Toward Maximum Grip Process Modeling in Software Engineering

Process modeling (PM) in software engineering involves a specific way of...
research
06/03/2023

Verifying C++ Dynamic Binding

We propose an approach for modular verification of programs written in a...

Please sign up or login with your details

Forgot password? Click here to reset