Skip to main content

High Performance Relaying of C++11 Objects across Processes and Logic-Labeled Finite-State Machines

  • Conference paper
Simulation, Modeling, and Programming for Autonomous Robots (SIMPAR 2014)

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 8810))

  • 4602 Accesses

Abstract

We present gusimplewhiteboard, a software architecture analogous to ROS:services and ROS: messages, that enables the construction and extremely efficient inter-process relaying of message-types as C++11 objects, All gusimplewhiteboard objects reside in shared memory. Moreover, our principle is to use idempotent message communication, in direct contrast to previously released platforms for robotic-module communication, that are based on an event-driven subscriber model that queues and multi-threads. We combine this with compiled, time-triggered, logic-labeled finite state machines (llfsms) the are executed concurrently, but scheduled sequentially, in an extremely efficient manner, removing all race conditions and requirements for explicit synchronisation. Together, these tools enable effective robotic behaviour design, where arrangements of llfsms can be organised as hierarchies of machines and submachines, enabling composition of very complex systems. They have proven to be very powerful for Model-Driven Development, capable of simulation, validation, and formal verification.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Billington, D., Estivill-Castro, V., Hexel, R., Rock, A.: Non-monotonic reasoning on board a sony AIBO. In: Lima, P. (ed.) Robotic Soccer, ch.3, pp. 45–70. I-Tech Education and Publishing, Austria (2007)

    Google Scholar 

  2. Billington, D., Estivill-Castro, V., Hexel, R., Rock, A.: Architecture for hybrid robotic behavior. In: Corchado, E., Wu, X., Oja, E., Herrero, Á., Baruque, B. (eds.) HAIS 2009. LNCS, vol. 5572, pp. 145–156. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  3. Bohren, J., Cousins, S.: The SMACH high-level executive [ROS News]. IEEE Robotics & Automation Magazine 17(4), 18–20 (2010)

    Article  Google Scholar 

  4. Brooks, R.A.: Intelligence without reason. In: 12th ICJAI 1991, Sydney, pp. 569–595 (1991)

    Google Scholar 

  5. Coleman, R., Estivill-Castro, V., Hexel, R., Lusty, C.: Visual-trace simulation of concurrent finite-state machines for validation and model-checking of complex behaviour. In: Noda, I., Ando, N., Brugali, D., Kuffner, J.J. (eds.) SIMPAR 2012. LNCS, vol. 7628, pp. 52–64. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  6. Einhorn, E., Langner, T., Stricker, R., Martin, C., Gross, H.-M.: MIRA - middleware for robotic applications. In: 2012 IEEE/RSJ IROS, Portugal, pp. 2591–2598 (2012)

    Google Scholar 

  7. Erickson, J., Siau, K.: Can UML be simplified? practitioner use of UML in separate domains. In: 12th EMMSAD 2007, vol. 365, pp. 87–96. CEUR (2007)

    Google Scholar 

  8. Estivill-Castro, V., Ferrer-Mesters, J.: Path-finding in dynamic environemnts with PDDL-planners. In: 16th Int. Conf. Advanced Robotics (ICAR), Montevideo (2013)

    Google Scholar 

  9. Estivill-Castro, V., Hexel, R.: Arrangements of finite-state machines semantics, simulation, and model checking. In: Int. Conf. on Model-Driven Engineering and Software Development MODELSWARD, pp. 182–189. SCITEPRESS, Barceloan (2013)

    Google Scholar 

  10. Estivill-Castro, V., Hexel, R.: Module isolation for efficient model checking and its application to FMEA in model-driven engineering. In: 8th ENASE Evaluation of Novel Approaches to Software Engineering, pp. 218–225. INSTCC, Angers (2013)

    Google Scholar 

  11. Estivill-Castro, V., Hexel, R.: Correctness by construction with logic-labeled finite-state machines – comparison with Event-B. In: 23rd Australasian Software Engineering Conf., Sydney. IEEE Computer Soc. CPS (2014)

    Google Scholar 

  12. Estivill-Castro, V., Hexel, R., Rosenblueth, D.A.: Efficient modelling of embedded software systems and their formal verification. In: 19th Asia-Pacific Software Engineering Conf (APSEC 2012), pp. 428–433. IEEE Computer Soc., CPS (2012)

    Google Scholar 

  13. Estivill-Castro, V., Hexel, R., Rosenblueth, D.A.: Failure mode and effects analysis (FMEA) and model-checking of software for embedded systems by sequential scheduling of vectors of logic-labelled finite-state machines. In: 7th Int. IET System Safety Conf., Edinburgh, UK, Paper 3.a.1 (2012)

    Google Scholar 

  14. Garber, L.: Robot OS: A new day for robot design. Computer 46(12), 16–20 (2013)

    Article  Google Scholar 

  15. Grunske, L., Winter, K., Yatapanage, N., Zafar, S., Lindsay, P.A.: Experience with fault injection experiments for FMEA. Software, Practice and Experience 41(11), 1233–1258 (2011)

    Article  Google Scholar 

  16. Harel, D., Naamad, A.: The STATEMATE semantics of statecharts. ACM T. on Software Engineering Methodology 5(4), 293–333 (1996)

    Article  Google Scholar 

  17. Hayes-Roth, B.: A blackboard architecture for control. In: Distributed Artificial Intelligence, San Francisco, pp. 505–540 (1988)

    Google Scholar 

  18. Klotzbuecher, M.: rFSM v1.0-beta6, http://www.orocos.org/rfsm

  19. Kopetz, H.: Should responsive systems be event-triggered or time-triggered? IEICE Transactions on Information and Systems 76(11), 1325 (1993)

    Google Scholar 

  20. Kopetz, H., Bauer, G.: The time-triggered architecture. Proc. of the IEEE 91(1), 112–126 (2003)

    Article  Google Scholar 

  21. Lamport, L.: Using time instead of timeout for fault-tolerant distributed systems. ACM Transactions on Programming Languages and Systems 6, 254–280 (1984)

    Article  Google Scholar 

  22. Lötzsch, M., Bach, J., Burkhard, H.-D., Jüngel, M.: Designing agent behavior with the extensible agent behavior specification language XABSL. In: Polani, D., Browning, B., Bonarini, A., Yoshida, K. (eds.) RoboCup 2003. LNCS (LNAI), vol. 3020, pp. 114–124. Springer, Heidelberg (2004)

    Google Scholar 

  23. Mataric, M.J.: The Robotics Primer. MIT Press (2007)

    Google Scholar 

  24. Mellor, S.J., Balcer, M.: Executable UML: A foundation for model-driven architecture. Addison-Wesley, Reading (2002)

    Google Scholar 

  25. Merz, T., Rudol, P., Wzorek, M.: Control system framework for autonomous robots based on extended state machines. In: ICAS 2006, Silicon Valley, vol. 14 (2006)

    Google Scholar 

  26. Michel, O.: Webots: Professional mobile robot simulation. J. Advanced Robotics Systems 1(1), 39–42 (2004)

    Google Scholar 

  27. Reggio, G., Leotta, M., Ricca, F., Clerissi, D.: What are the used UML diagrams? a preliminary survey Technical report, Universitá di Genova, Italy (DIBRIS) (1998)

    Google Scholar 

  28. Risler, M., von Stryk, O.: Formal behavior specification of multi-robot systems using hierarchical state machines in XABSL. In: AAMAS 2008-Workshop on Formal Models and Methods for Multi-Robot Systems, Estoril (2008)

    Google Scholar 

  29. Samek, M.: Practical UML Statecharts in C/C++, 2nd Edition: Event-Driven Programming for Embedded Systems. Newnes (2008)

    Google Scholar 

  30. Wagner, F., Schmuki, R., Wagner, T., Wolstenholme, P.: Modeling Software with Finite State Machines: A Practical Approach. CRC Press, NY (2006)

    Book  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this paper

Cite this paper

Estivill-Castro, V., Hexel, R., Lusty, C. (2014). High Performance Relaying of C++11 Objects across Processes and Logic-Labeled Finite-State Machines. In: Brugali, D., Broenink, J.F., Kroeger, T., MacDonald, B.A. (eds) Simulation, Modeling, and Programming for Autonomous Robots. SIMPAR 2014. Lecture Notes in Computer Science(), vol 8810. Springer, Cham. https://doi.org/10.1007/978-3-319-11900-7_16

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-11900-7_16

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-11899-4

  • Online ISBN: 978-3-319-11900-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics