skip to main content
Article

Generating embedded software from hierarchical hybrid models

Published: 11 June 2003 Publication History

Abstract

Benefits of high-level modeling and analysis are significantly enhanced if code can be generated automatically from a model such that the correspondence between the model and the code is precisely understood. For embedded control software, hybrid systems is an appropriate modeling paradigm because it can be used to specify continuous dynamics as well as discrete switching between modes. Establishing a formal relationship between the mathematical semantics of a hybrid model and the actual executions of the corresponding code is particularly challenging due to sampling and switching errors. In this paper, we describe an approach to compile the modeling language Charon that allows hierarchical specifications of interacting hybrid systems. We show how to exploit the semantics of Charon to generate code from a model in a modular fashion, and identify sufficient conditions on the model that guarantee the absence of switching errors in the compiled code. The approach is illustrated by compiling a model for coordinated motion of legs for walking onto Sony's AIBO robot.

References

[1]
R. Alur, C. Courcoubetis, N. Halbwachs, T.A. Henzinger, P. Ho, X. Nicollin, A. Olivero, J. Sifakis, and S. Yovine. The algorithmic analysis of hybrid systems. Theoretical Computer Science, 138:3--34, 1995.]]
[2]
R. Alur, T. Dang, J. Esposito, Y. Hur, F. Ivancic, V. Kumar, I. Lee, P. Mishra, G. Pappas, and O. Sokolsky. Hierarchical modeling and analysis of embedded systems. Proceedings of the IEEE, 91(1), 2003.]]
[3]
R. Alur, T. Dang, and F. Ivancic. Counter-example guided predicate abstraction of hybrid systems. In Proceedings of the Ninth International Conference on Tools and Algorithms for the Construction and Analysis of Systems, LNCS 2619, pages 208--223. Springer-Verlag, 2003.]]
[4]
R. Alur, R. Grosu, I. Lee, and O. Sokolsky. Compositioal refinement of hierarchical hybrid systems. In Hybrid Systems: Computation and Control, Fourth International Workshop, LNCS 2034, pages 33--48, 2001.]]
[5]
R. Alur, T.A. Henzinger, and E.D. Sontag, editors. Hybrid Systems III: Verification and Control. LNCS 1066. Springer-Verlag, 1996. Proceedings of the Third International Workshop.]]
[6]
P. Antsaklis and A. Michel. Linear Systems. McGraw Hill, 1997.]]
[7]
E. Asarin, O. Bournez, T. Dang, and O. Maler. Approximate reachability analysis of piecewise-linear dynamical systems. In Hybrid Systems: Computation and Control, Third International Workshop, LNCS 1790, pages 21--31. 2000.]]
[8]
G. Berry and G. Gonthier. The synchronous programming language esterel: design, semantics, implementation. Technical Report 842, INRIA, 1988.]]
[9]
G. Booch, I. Jacobson, and J. Rumbaugh. Unified Modeling Language User Guide. Addison Wesley, 1997.]]
[10]
G. C. Buttazo. Hard real-time computing systems: Predictable scheduling algorithms and applications. Kluwer Academic Publishers, 1997.]]
[11]
C.T. Chen. Linear System Theory and Design. Oxford University Press, 1999. 3rd Edition.]]
[12]
A. Deshpande, A. Gollu, and P. Varaiya. SHIFT: a formalism and a programming language for dynamic networks of hybrid automata. In Hybrid Systems V, LNCS 1567. Springer, 1996.]]
[13]
H. Dierks. PLC-automata: A new class of implementable real-time automata. Theoretical Computer Science, 253(1):61--93, December 2000.]]
[14]
J. Eker, J. Janneck, E.A. Lee, J. Liu, X. Liu, J. Luvig, S. Neuendorffer, S. Sachs, and Y. Xiong. Taming heterogeneity--the Ptolemy approach. Proceedings of the IEEE, 91(1):127--144, 2003.]]
[15]
Entertainment Robot AIBO. http://www.aibo.com.]]
[16]
J. Esposito, V. Kumar, and G.J. Pappas. Accurate event detection for simulating hybrid systems. In Hybrid Systems: Computation and Control, Fourth International Workshop, LNCS 2034, pages 204--217, 2001.]]
[17]
N. Halbwachs, P. Caspi, P. Raymond, and D. Pilaud. The synchronous dataflow programming language Lustre. Proceedings of the IEEE, 79:1305--1320, 1991.]]
[18]
D. Harel. Statecharts: A visual formalism for complex systems. Science of Computer Programming, 8:231--274, 1987.]]
[19]
B. Hengst, D. Ibbotson, S. B. Pham, and C. Sammut. Omnidirectional locomotion for quadruped robots. In RoboCup 2001: Robot soccer world cup V, LNAI 2377, pages 368--373. Springer-Verlag, 2002.]]
[20]
T. Henzinger and C. Kirsch, editors. Embedded Software, First International Workshop. LNCS 2211. Springer, 2001.]]
[21]
T. A. Henzinger, B. Horowitz, and C. M. Kirsch. Giott: A time-triggered language for embedded programming. Proceedings of the IEEE, 91(1):84--99, 2003.]]
[22]
T. A. Henzinger and C. M. Kirsch. The embedded machine: Predictable, portable, real-time code. In Proceedings of the ACM Conference on Programming Language Design and Implementation, pages 315--326, 2002.]]
[23]
G. Karsai, J. Sztipanovits, A. Ledeczi, and T. Bapty. Model-integrated development of embedded software. Proceedings of the IEEE, 91(1):145--164, 2003.]]
[24]
J. Kim and I. Lee. Modular code generation from hybrid automata based on data dependency. In Proceedings of the 9th IEEE Real-Time and Embedded Technology and Applications Symposium, 2003. To appear.]]
[25]
E. A. Lee. What's ahead for embedded software. IEEE Computer, pages 18--26, September 2000.]]
[26]
N. Lynch and B.H. Krogh, editors. Hybrid Systems: Computation and Control. LNCS 1790. Springer, 2000.]]
[27]
O. Maler, Z. Manna, and A. Pnueli. From timed to hybrid systems. In Real-Time: Theory in Practice, REX Workshop, LNCS 600, pages 447--484. Springer-Verlag, 1991.]]
[28]
OPEN-R SDK. http://www.aibo.com/openr.]]
[29]
B. Selic, G. Gullekson, and P.T. Ward. Real-time object oriented modeling and design. J. Wiley, 1994.]]
[30]
Simulink. http://www.mathworks.com.]]

Cited By

View all
  • (2020)Automatically Generating SystemC Code from HCSP Formal ModelsACM Transactions on Software Engineering and Methodology10.1145/336000229:1(1-39)Online publication date: 30-Jan-2020
  • (2018)Platform for model-based design and testing for deep brain stimulationProceedings of the 9th ACM/IEEE International Conference on Cyber-Physical Systems10.1109/ICCPS.2018.00033(263-274)Online publication date: 11-Apr-2018
  • (2017)Synthesizing SystemC Code from Delay Hybrid CSPProgramming Languages and Systems10.1007/978-3-319-71237-6_2(21-41)Online publication date: 19-Nov-2017
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
LCTES '03: Proceedings of the 2003 ACM SIGPLAN conference on Language, compiler, and tool for embedded systems
June 2003
304 pages
ISBN:1581136471
DOI:10.1145/780732
  • cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 38, Issue 7
    Special Issue: Proceedings of the 2003 ACM SIGPLAN conference on Language, compiler, and tool support for embedded systems (San Diego, CA).
    July 2003
    293 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/780731
    Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 11 June 2003

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. code generation
  2. embedded software
  3. formal language
  4. hybrid system
  5. modularity

Qualifiers

  • Article

Conference

LCTES03
Sponsor:

Acceptance Rates

LCTES '03 Paper Acceptance Rate 29 of 128 submissions, 23%;
Overall Acceptance Rate 116 of 438 submissions, 26%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 25 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2020)Automatically Generating SystemC Code from HCSP Formal ModelsACM Transactions on Software Engineering and Methodology10.1145/336000229:1(1-39)Online publication date: 30-Jan-2020
  • (2018)Platform for model-based design and testing for deep brain stimulationProceedings of the 9th ACM/IEEE International Conference on Cyber-Physical Systems10.1109/ICCPS.2018.00033(263-274)Online publication date: 11-Apr-2018
  • (2017)Synthesizing SystemC Code from Delay Hybrid CSPProgramming Languages and Systems10.1007/978-3-319-71237-6_2(21-41)Online publication date: 19-Nov-2017
  • (2013)Model-Driven Development of Safe Self-optimizing Mechatronic Systems with MechatronicUMLAssurances for Self-Adaptive Systems10.1007/978-3-642-36249-1_6(152-186)Online publication date: 2013
  • (2012)Time-Triggered Implementations of Dynamic ControllersACM Transactions on Embedded Computing Systems10.1145/2331147.233116811:S2(1-24)Online publication date: 1-Aug-2012
  • (2011)Putting Preemptive Time Petri Nets to Work in a V-Model SW Life CycleIEEE Transactions on Software Engineering10.1109/TSE.2011.437:6(826-844)Online publication date: 1-Nov-2011
  • (2011)Correct-by-construction code generation from hybrid automata specification2011 7th International Wireless Communications and Mobile Computing Conference10.1109/IWCMC.2011.5982784(1660-1665)Online publication date: Jul-2011
  • (2010)Generating Reliable Code from Hybrid-Systems ModelsIEEE Transactions on Computers10.1109/TC.2010.8459:9(1281-1294)Online publication date: 1-Sep-2010
  • (2008)Robust safety of timed automataFormal Methods in System Design10.1007/s10703-008-0056-733:1-3(45-84)Online publication date: 1-Dec-2008
  • (2007)The Challenges of Building Advanced Mechatronic Systems2007 Future of Software Engineering10.1109/FOSE.2007.28(72-84)Online publication date: 23-May-2007
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media