PUSH, you must have a channel that absolutely
never loses messages.
In Section 3, we used the example of the ther-
mometer to highlight how the PUSH technology im-
plicitly creates more coupling and affects the sphere
of control in unsatisfactory aspects. Also, the PUSH
approach does not scale up well. If the effect of a
command is to be observed by more than one entity,
the PUSH approach becomes susceptible to concur-
rency issues, e.g. if different subsystems have differ-
ent priorities. Moreover, in the case of middleware,
our implementations and their treatment of the case
studies here illustrates that end-to-end control through
the PULL approach is a simpler and more effective ap-
proach than the simplistic PUSH mechanism using a
subscriber/server with call-backs. This is exemplified
in in the first case study, where the PUSH approach
results in 6 times the number of treads of the PULL
approach. In the second case study, even if it were
implemented, the teleo-operated approach would im-
ply three times more threads. Minimising threads is
crucial to enabling model-checking and formal verifi-
cation. Additional threads exponentially explode the
state space.
REFERENCES
Anzalone, S. M., Avril, M., Salam, H., and Chetouani,
M. (2014). IMI2S: A lightweight framework for dis-
tributed computing. Simulation, Modeling, and Pro-
gramming for Autonomous Robots - 4th Int. Conf.,
SIMPAR, Bergamo, v. 8810 LNCS, p. 267–278.
Springer.
Billington, D., Estivill-Castro, V., Hexel, R., and Rock, A.
(2011). Requirements engineering via non-monotonic
logics and state diagrams. Evaluation of Novel Ap-
proaches to Software Engineering, v. 230, p. 121–135,
Berlin. Springer Verlag.
Bohren, J. and Cousins, S. (2010). The SMACH high-level
executive [ROS News]. IEEE Robotics & Automation
Magazine, IEEE, 17(4):18–20.
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.
Brugali, D., ed. (2007). Software Engineering for Exper-
imental Robotics, v. 30 Springer Tracts in Advanced
Robotics. Springer-Verlag.
Chitic, S.-G., Ponge, J., and Simonin, O. (2014). Are mid-
dlewares ready for multi-robots systems? Simulation,
Modeling, and Programming for Autonomous Robots
- 4th Int. Conf., SIMPAR, Bergamo, v. 8810 LNCS,
p. 279–290. Springer.
Dongol, B., Hayes, I. H., and Robinson, P. J. (2014). Rea-
soning about goal-directed real-time teleo-reactive
programs. Formal Asp. Comput., 26(3):563–589.
Estivill-Castro, V. and Hexel, R. (2013a). Arrangements
of finite-state machines semantics, simulation, and
model checking. Int. Conf. on Model-Driven Engi-
neering and Software Development MODELSWARD,
p. 182–189, Barcelona. SCITEPRESS.
Estivill-Castro, V. and Hexel, R. (2013b). Module isola-
tion for efficient model checking and its application
to FMEA in model-driven engineering. ENASE 8th
Int. Conf. on Evaluation of Novel Approaches to Soft-
ware Engineering, p. 218–225, Angers Loire Valley,
France. INSTCC.
Estivill-Castro, V., Hexel, R., and Lusty, C. (2014). High
performance relaying of C++11 objects across pro-
cesses and logic-labeled finite-state machines. Sim-
ulation, Modeling, and Programming for Autonomous
Robots - 4th Int. Conf., SIMPAR, v. 8810 LNCS,
p. 182–194, Bergamo, Springer.
Hayes, I. J. (2008). Towards reasoning about teleo-reactive
programs for robust real-time systems. SERENE
RISE/EFTS Joint Int. Workshop on Software Engi-
neering for REsilient SystEms, p. 87–94, Newcastle
Upon Tyne, UK. ACM.
Huang, A., Olson, E., and Moore, D. (2010). Lcm:
Lightweight communications and marshalling. Intelli-
gent Robots and Systems (IROS), IEEE/RSJ Int. Conf.
on, p. 4057–4062.
Kopetz, H. (2011). Real-Time Systems - Design Principles
for Distributed Embedded Applications. Real-Time
Systems Series. Springer.
Laprie, J. (1992). Dependability: Basic concepts and termi-
nology. Laprie, J., ed., v. 5 Dependable Computing
and Fault-Tolerant Systems, p. 3–245. Springer Vi-
enna.
Morales, J. L., S
´
anchez, P., and Alonso, D. (2014).
A systematic literature review of the teleo-reactive
paradigm. Artif. Intell. Rev., 42(4):945–964.
Nilsson, N. J. (2001). Teleo-reactive programs and the
triple-tower architecture. Electron. Trans. Artif. In-
tell., 5(B):99–110.
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.
Sommerville, I. (2010). Software engineering (9th ed.).
Addison-Wesley Longman, Boston, MA, USA.
ENASE2015-10thInternationalConferenceonEvaluationofNovelSoftwareApproachestoSoftwareEngineering
196