Simple, Not Simplistic - The Middleware of Behaviour Models

Vladimir Estivill-Castro, René Hexel

Abstract

There are many areas where software components must interact witch each other and where middleware provides the appropriate benefits of robustness, decoupling, and modularisation. However, there is a potential performance overhead that, for autonomous robotic and embedded systems, may be critical. Proposals for robotic middleware continue to emerge, but surprisingly, they repeatedly follow the publish-subscriber model. There are several disadvantages to the push paradigm of the publisher-subscriber approach; in particular, its implication of a closer coupling where the subscriber must be active and able to keep up with the pace of events. We propose an alternative pull model, where consumers of messages handle information at their own time. We show that our proposal aligns with fundamental, time-triggered design principles, and produces simple module communication that reduces thread management and can enable rapid prototyping, validation, and formal verification.

References

  1. Anzalone, S. M., Avril, M., Salam, H., and Chetouani, M. (2014). IMI2S: A lightweight framework for distributed computing. Simulation, Modeling, and Programming for Autonomous Robots - 4th Int. Conf., SIMPAR, Bergamo, v. 8810 LNCS, p. 267-278. Springer.
  2. Billington, D., Estivill-Castro, V., Hexel, R., and Rock, A. (2011). Requirements engineering via non-monotonic logics and state diagrams. Evaluation of Novel Approaches to Software Engineering, v. 230, p. 121-135, Berlin. Springer Verlag.
  3. Bohren, J. and Cousins, S. (2010). The SMACH high-level executive [ROS News]. IEEE Robotics & Automation Magazine, IEEE, 17(4):18-20.
  4. Brooks, R., Connell, J., and Ning, P. (1988). Herbert: A Second Generation Mobile Robot : By Rodney A.Brooks, Jonathan H.Connell and Peter Ning. A.I. memo. Massachusetts Institute of Technology.
  5. Brugali, D., ed. (2007). Software Engineering for Experimental Robotics, v. 30 Springer Tracts in Advanced Robotics. Springer-Verlag.
  6. Chitic, S.-G., Ponge, J., and Simonin, O. (2014). Are middlewares ready for multi-robots systems? Simulation, Modeling, and Programming for Autonomous Robots - 4th Int. Conf., SIMPAR, Bergamo, v. 8810 LNCS, p. 279-290. Springer.
  7. Dongol, B., Hayes, I. H., and Robinson, P. J. (2014). Reasoning about goal-directed real-time teleo-reactive programs. Formal Asp. Comput., 26(3):563-589.
  8. Estivill-Castro, V. and Hexel, R. (2013a). Arrangements of finite-state machines semantics, simulation, and model checking. Int. Conf. on Model-Driven Engineering and Software Development MODELSWARD, p. 182-189, Barcelona. SCITEPRESS.
  9. Estivill-Castro, V. and Hexel, R. (2013b). Module isolation for efficient model checking and its application to FMEA in model-driven engineering. ENASE 8th Int. Conf. on Evaluation of Novel Approaches to Software Engineering, p. 218-225, Angers Loire Valley, France. INSTCC.
  10. Estivill-Castro, V., Hexel, R., and Lusty, C. (2014). High performance relaying of C++11 objects across processes and logic-labeled finite-state machines. Simulation, Modeling, and Programming for Autonomous Robots - 4th Int. Conf., SIMPAR, v. 8810 LNCS, p. 182-194, Bergamo, Springer.
  11. Hayes, I. J. (2008). Towards reasoning about teleo-reactive programs for robust real-time systems. SERENE RISE/EFTS Joint Int. Workshop on Software Engineering for REsilient SystEms, p. 87-94, Newcastle Upon Tyne, UK. ACM.
  12. Huang, A., Olson, E., and Moore, D. (2010). Lcm: Lightweight communications and marshalling. Intelligent Robots and Systems (IROS), IEEE/RSJ Int. Conf. on, p. 4057-4062.
  13. Kopetz, H. (2011). Real-Time Systems - Design Principles for Distributed Embedded Applications. Real-Time Systems Series. Springer.
  14. Laprie, J. (1992). Dependability: Basic concepts and terminology. Laprie, J., ed., v. 5 Dependable Computing and Fault-Tolerant Systems, p. 3-245. Springer Vienna.
  15. Morales, J. L., Sánchez, P., and Alonso, D. (2014). A systematic literature review of the teleo-reactive paradigm. Artif. Intell. Rev., 42(4):945-964.
  16. Nilsson, N. J. (2001). Teleo-reactive programs and the triple-tower architecture. Electron. Trans. Artif. Intell., 5(B):99-110.
  17. Quigley, M., Conley, K., Gerkey, B. P., Faust, J., Foote, T., Leibs, J., Wheeler, R., and Ng, A. Y. (2009). ROS: an open-source robot operating system. ICRA Workshop on Open Source Software.
  18. Sommerville, I. (2010). Software engineering (9th ed.). Addison-Wesley Longman, Boston, MA, USA.
Download


Paper Citation


in Harvard Style

Estivill-Castro V. and Hexel R. (2015). Simple, Not Simplistic - The Middleware of Behaviour Models . In Proceedings of the 10th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE, ISBN 978-989-758-100-7, pages 189-196. DOI: 10.5220/0005371101890196


in Bibtex Style

@conference{enase15,
author={Vladimir Estivill-Castro and René Hexel},
title={Simple, Not Simplistic - The Middleware of Behaviour Models},
booktitle={Proceedings of the 10th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,},
year={2015},
pages={189-196},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0005371101890196},
isbn={978-989-758-100-7},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 10th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,
TI - Simple, Not Simplistic - The Middleware of Behaviour Models
SN - 978-989-758-100-7
AU - Estivill-Castro V.
AU - Hexel R.
PY - 2015
SP - 189
EP - 196
DO - 10.5220/0005371101890196