Abstract

This paper presents the language Lutin and its operational semantics. This language specifically targets the domain of reactive systems, where an execution is a (virtually) infinite sequence of input/output reactions. More precisely, it is dedicated to the description and the execution of constrained random scenarios. Its first use is for test sequence specification and generation. It can also be useful for early simulation of huge systems, where Lutin programs can be used to describe and simulate modules that are not yet fully developed.The programming style mixes relational and imperative features. Basic statements are input/output relations, expressing constraints on a single reaction. Those constraints are then combined to describe non deterministic sequences of reactions. The language constructs are inspired by regular expressions, and process algebra (sequence, choice, loop, concurrency). Moreover, the set of statements can be enriched with user defined operators. A notion of stochastic directive is also provided, in order to finely influence the selection of a particular class of scenarios.

Highlights

  • The targeted domain is the one of reactive systems, where an execution is a infinite sequence of input/output reactions

  • As a matter of fact, the environment behaves itself as a reactive system, whose environment is the program under test

  • All these remarks have led to the idea of defining a language for describing random reactive systems

Read more

Summary

INTRODUCTION

The targeted domain is the one of reactive systems, where an execution is a (virtually) infinite sequence of input/output reactions. Examples of such systems are control/command in industrial process, embedded computing systems in transportation. As a matter of fact, the environment behaves itself as a reactive system, whose environment is the program under test This feedback aspect makes offline test generation impossible; testing a reactive system requires to run it in a simulated environment. All these remarks have led to the idea of defining a language for describing random reactive systems. The language can be useful for early prototyping and simulation, where constrained random programs can implement missing modules

Our proposal
Related works
OVERVIEW OF THE LANGUAGE
Composing reactions
Well-founded loops
Influencing non-determinism
Random loops
Parallel composition
Parallel composition versus stochastic directives
2.10. Exceptions
2.11. Modularity
SYNTAX SUMMARY
Abstract syntax
The execution environment
The step function
The recursive step function
A complete execution
IMPLEMENTATION
Notes on constraint solvers
Notes on predefined loop profiles
Findings
CONCLUSION
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call