ACM Home Page
Please provide us with feedback. Feedback
Synchronous objects with scheduling policies: introducing safe shared memory in lustre
Full text PdfPdf (490 KB)
Source
Language, Compiler and Tool Support for Embedded Systems archive
Proceedings of the 2009 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems table of contents
Dublin, Ireland
SESSION: Scheduling table of contents
Pages 11-20  
Year of Publication: 2009
ISBN:978-1-60558-356-3
Also published in ...
Authors
Paul Caspi  VERIMAG, Grenoble, France
Jean-Louis Colaço  Prover Technology, Toulouse, France
Léonard Gérard  LRI, Univ. Paris-Sud 11, INRIA, Orsay, France
Marc Pouzet  LRI, Univ. Paris-Sud 11, INRIA, Orsay, France
Pascal Raymond  VERIMAG, Grenoble, France
Sponsors
ACM: Association for Computing Machinery
SIGBED: ACM Special Interest Group on Embedded Systems
SIGMICRO: ACM Special Interest Group on Microarchitectural Research and Processing
SIGART: ACM Special Interest Group on Artificial Intelligence
SIGPLAN: ACM Special Interest Group on Programming Languages
SIGDA: ACM Special Interest Group on Design Automation
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 9,   Downloads (12 Months): 71,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1542452.1542455
What is a DOI?

ABSTRACT

This paper addresses the problem of designing and implementing complex control systems for real-time embedded software. Typical applications involve different control laws corresponding to different phases or modes, e.g., take-off, full flight and landing in a fly-by-wire control system. On one hand, existing methods such as the combination of Simulink/Stateflow provide powerful but unsafe mechanisms by means of imperative updates of shared variables. On the other hand, synchronous languages and tools such as Esterel or SCADE/Lustre are too restrictive and forbid to fully separate the specification of modes from their actual instantiation with a particular control automaton.

In this paper, we introduce a conservative extension of a synchronous data-flow language close to Lustre, in order to be able to define systems with modes in a more modular way, while insuring the absence of data-races. We show that such a system can be viewed as an object where modes are methods acting on a shared memory. The object is associated to a scheduling policy which specifies the ways methods can be called to build a valid synchronous reaction. We show that the verification of the proper use of an object reduces to a type inference problem using row types introduced by Wand, Rémy and Vouillon. We define the semantics of the extended synchronous language and the type system. The proposed extension has been implemented and we illustrate its use through several examples.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
A. Benveniste, P. Caspi, S.A. Edwards, N. Halbwachs, P. Le Guernic, and R. de Simone. The synchronous languages 12 years later. Proceedings of the IEEE, 91(1), January 2003.
 
3
 
4
Gerard Berry. The constructive semantics of pure esterel. Draft book, 1999.
5
6
7
8
 
9
Gregoire Hamon. Calcul d'horloge et Structures de Contrôle dans Lucid Synchrone, un langage de ots synchrones à la ML. PhD thesis, Université Pierre et Marie Curie, Paris, France, 14 novembre 2002.
 
10
11
 
12
 
13
Bertrand Meyer. Eiffel: An Introduction. Interactive Software Eng, 1988.
 
14
Daniel Pilaud. Personnal communication, March 2009.
 
15
 
16

Collaborative Colleagues:
Paul Caspi: colleagues
Jean-Louis Colaço: colleagues
Léonard Gérard: colleagues
Marc Pouzet: colleagues
Pascal Raymond: colleagues