LUSTRE: a declarative language for real-time programming
POPL '87 Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
The ESTEREL synchronous programming language: design, semantics, implementation
Science of Computer Programming
Programming with POSIX threads
Programming with POSIX threads
Proof, language, and interaction
Modern Control Systems Analysis and Design Using MATLAB and SIMULINK
Modern Control Systems Analysis and Design Using MATLAB and SIMULINK
Synchronous Programming of Reactive Systems
Synchronous Programming of Reactive Systems
The ODBC Solution: Open Database Connectivity in Distributed Environments
The ODBC Solution: Open Database Connectivity in Distributed Environments
Modeling Reactive Systems with Statecharts: The Statemate Approach
Modeling Reactive Systems with Statecharts: The Statemate Approach
Programming Perl
Extreme Mindstorms
Real-Time Database Systems: Architecture and Techniques
Real-Time Database Systems: Architecture and Techniques
What is in a Step: On the Semantics of Statecharts
TACS '91 Proceedings of the International Conference on Theoretical Aspects of Computer Software
Constructive Analysis of Cyclic Circuits
EDTC '96 Proceedings of the 1996 European conference on Design and Test
Compiling Esterel
Hi-index | 0.00 |
A current limitation in embedded controller design and programming is the lack of database support in development tools such as Esterel Studio. This article proposes a way of integrating databases and Esterel by providing two application programming interfaces (APIs) which enable the use of relational databases inside Esterel programs. As databases and Esterel programs are often executed on different machines, result sets returned as responses to database queries may be processed either locally and according to Esterel's synchrony hypothesis, or remotely along several of Esterel's execution cycles. These different scenarios are reflected in the design and usage rules of the two APIs presented in this article, which rely on Esterel's facilities for extending the language by external data types, external functions, and procedures, as well as tasks. The APIs' utility is demonstrated by means of a case study modelling an automated warehouse storage system, which is constructed using Lego Mindstorms robotics kits. The robot's controller is programmed in Esterel in a way that takes dynamic ordering information and the warehouse's floor layout into account, both of which are stored in a MySQL database.