Next Generation Design and Verification Methodologies for Distributed Embedded Control Systems pp 261-273 | Cite as
On the Polychronous Approach to Embedded Software Design
Formal approaches for designing mission critical embedded software are gaining importance due to the complexity of concurrent nature and the asynchronous interaction with the environment by such software. “After-the-fact” formal verification is one way to provide correctness guarantees, but is plagued with statespace explosion and other problems. “Correct-by-construction” design approach is therefore often the methodological choice for such software design. Polychronous or “multi-clock” model of computation (MoC) in the context of synchronous programming has been successfully used in many safety critical embedded software design in avionics, and other industries in France. SIGNAL is an example of such an embedded software system description language that captures a polychronous MoC. SIGNAL compiler generates deterministic embedded software with provable properties from polychronous specifications. However, an embedded software often interacts with operating systems, hardware interrupt controllers, and other software applications. Therefore, determinism itself may not provide enough guarantee for the correct operation of a software component designed this way. Tighter characterizations beyond determinacy have been invented to guarantee safe usage of such software in an embedded context with lesser restrictive requirements on the environment. “Endochrony” is one such characterization, which is often hard to understand by regular embedded software designers due to the complications of the semantic domain in which such characterization has been expressed in the past. In this paper we provide a true concurrency based semantics which we believe makes the notion of endochrony easier for real system engineers to comprehend and use as a technique to guarantee usage safety.
Keywords
Partial Order Embed Software Semantic Domain Safe Usage Interface AutomatonPreview
Unable to display preview. Download preview PDF.
References
- Abramsky, S. (1996). Semantics of interaction. In Trees in Algebra and Programming, Lecture Notes in Computer Science, Springer Verlag, volume 1059.Google Scholar
- Benveniste, A., Caillaud, B., and Le Guernic, P. (2000) Compositionality in dataflow synchro-nous languages: specification & distributed code generation. Information and Computation, 163,125-171.MATHCrossRefMathSciNetGoogle Scholar
- Benveniste, A., Caillaud, D., Carloni, L.P., and Sangiovanni-Vincentelli, A.L. (2005). Tag machines. In Proceedings of Embedded Software Conference, Lecture Notes in Computer Science, Springer-Verlag, October.Google Scholar
- Carloni, L., McMillan, K., and Sangiovanni-Vincentelli, A. (2001). The theory of latency insensi-tive design. IEEE Transactions on Computer Aided Design of Integrated Circuits and System, 20 (9):1059-1076.CrossRefGoogle Scholar
- Guernic, P. Le, Talpin, J.-P., and Lann, J.-C. Le (2003). Polychrony for system design. Journal of Circuits, Systems, and Computers - Special Issue: Application Specific Hardware Design, 12 (3):261-303.Google Scholar
- Hoare, C. (1978). Communicating sequential processes. Communications of the ACM, 21(8).Google Scholar
- Holzmann, Gerard (2003). The SPIN Model Checker. Addison-Wesley Professional.Google Scholar
- Hudak, Paul and Anderson, Steven (1987). Pomset interpretations of parallel functional programs. In Proceedings of the Functional Programming Languages and Computer Architecture, pages 234-256, London, UK. Springer-Verlag.Google Scholar
- Jantsch, A. (2003). Modeling Embedded Systems and SOC’s Concurrency and Time in Models of Computation. Morgan Kaufmann Publishers.Google Scholar
- Jategaonkar, L. and Meyer, A. R. (1993). Deciding true concurrency equivalences on finite safe nets. In Proceedings of ICALP, pages 519-531. Springer-Verlag LNCS.Google Scholar
- Kahn, G. (1974). The semantics of a simple language for parallel programming. In proceedings of Information Processing, pages 471-475.Google Scholar
- Lee, E.A. and Sangiovanni-Vincentelli, A.L. (1996). Comparing models of computation. In Inter-national Conference on Computer-Aided Design (ICCAD), pages 234-241. McMillan, K.L. (1993). Symbolic Model Checking. PhD thesis, Boston.CrossRefGoogle Scholar
- Meyer, John-Jules Ch. and de Vink, Erik P. (1989). Pomset semantics for true concurrency with synchronization and recursion (extended abstract). In MFCS ’89: Proceedings on Mathemat-ical Foundations of Computer Science 1989, pages 360-369, London, UK. Springer-Verlag.Google Scholar
- Pratt, Vaughan R. (1986). Modelling concurrency with partial orders. International Journal of Parallel Programming, 15(1):33-71.MATHCrossRefMathSciNetGoogle Scholar