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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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)
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)
Bohren, J., Cousins, S.: The SMACH high-level executive [ROS News]. IEEE Robotics & Automation Magazine 17(4), 18–20 (2010)
Brooks, R.A.: Intelligence without reason. In: 12th ICJAI 1991, Sydney, pp. 569–595 (1991)
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)
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)
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)
Estivill-Castro, V., Ferrer-Mesters, J.: Path-finding in dynamic environemnts with PDDL-planners. In: 16th Int. Conf. Advanced Robotics (ICAR), Montevideo (2013)
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)
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)
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)
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)
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)
Garber, L.: Robot OS: A new day for robot design. Computer 46(12), 16–20 (2013)
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)
Harel, D., Naamad, A.: The STATEMATE semantics of statecharts. ACM T. on Software Engineering Methodology 5(4), 293–333 (1996)
Hayes-Roth, B.: A blackboard architecture for control. In: Distributed Artificial Intelligence, San Francisco, pp. 505–540 (1988)
Klotzbuecher, M.: rFSM v1.0-beta6, http://www.orocos.org/rfsm
Kopetz, H.: Should responsive systems be event-triggered or time-triggered? IEICE Transactions on Information and Systems 76(11), 1325 (1993)
Kopetz, H., Bauer, G.: The time-triggered architecture. Proc. of the IEEE 91(1), 112–126 (2003)
Lamport, L.: Using time instead of timeout for fault-tolerant distributed systems. ACM Transactions on Programming Languages and Systems 6, 254–280 (1984)
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)
Mataric, M.J.: The Robotics Primer. MIT Press (2007)
Mellor, S.J., Balcer, M.: Executable UML: A foundation for model-driven architecture. Addison-Wesley, Reading (2002)
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)
Michel, O.: Webots: Professional mobile robot simulation. J. Advanced Robotics Systems 1(1), 39–42 (2004)
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)
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)
Samek, M.: Practical UML Statecharts in C/C++, 2nd Edition: Event-Driven Programming for Embedded Systems. Newnes (2008)
Wagner, F., Schmuki, R., Wagner, T., Wolstenholme, P.: Modeling Software with Finite State Machines: A Practical Approach. CRC Press, NY (2006)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)