Conference article

Comodeling Revisited: Execution of Behavior Trees in Modelica

Toby Myers
Institute of Intelligent and Integrated Systems, Griffith University, Australia

Wladimir Schamai
EADS Innovation Works, Germany

Peter Fritzon
PELAB - Programming Environment Lab, IDA, Linköping University, Sweden

Download article

Published in: Proceedings of the 4th International Workshop on Equation-Based Object-Oriented Modeling Languages and Tools; Zurich; Switzerland; September 5; 2011

Linköping Electronic Conference Proceedings 56:11, p. 97-106

Show more +

Published: 2011-11-03

ISBN: 978-91-7519-825-5

ISSN: 1650-3686 (print), 1650-3740 (online)


Large-scale systems increasingly consist of a mixture of co-dependent software and hardware. The differing nature of software and hardware means that they are often modeled separately and with different approaches. Comodeling is a design strategy that allows hardware/software integration issues to be identified; investigated and resolved in the early stages of development. Previous work described a comodeling approach that integrates Behavior Engineering with Modelica. This paper revisits this approach and introduces a new means of integration that natively executes Behavior Trees in Modelica rather than utilizing external functions. This enhanced integration has several benefits. Firstly; it makes comodeling easier to apply as the comodel is captured solely in Modelica. Secondly; it makes the ability to execute Behavior Trees widely available. Finally; it opens the possibility to use comodeling with other complementary approaches such as the virtual verification of system designs against system requirements.


Comodeling; Behavior Engineering; Behavior Trees; Modelica; Model Driven Engineering


[1] Wladimir Schamai; Uwe Pohlmann; Peter Fritzson; Christian J.J. Paredis; Philipp Helle; Carsten Strobel. Execution of UML State Machines Using ModelicaIn Proceedings of the 3rd International Workshop on Equation-Based Object-Oriented Modeling Languages and Tools; (EOOLT 2010); Published by Linkoping University Electronic Press;; In conjunction with MODELS 2010; Oslo; Norway; Oct 3; 2010.

[2] Wladimir Schamai; Philipp Helle; Peter Fritzson; Christian Paredis. Virtual Verication of System Designs against System Requirements; In Proc. of 3rd International Workshop on Model Based Architecting and Construction of Embedded Systems (ACES 2010). In conjunction with MODELS 2010. Oslo; Norway; Oct 4; 2010.

[3] Toby Myers; Geoff Dromey; Peter Fritzson. Comodeling:From Requirements to an Integrated Software/Hardware Model; IEEE Computer 44(4) pp.62-70; April 2011 doi: 10.1109/MC.2010.270.

[4] Toby Myers. The Foundations for a Scaleable Methodology for Systems Design; PhD Thesis; School of Computer and Information Technology; Griffith University; Australia; 2010.

[5] Modelica Association. Modelica: A Unified Object- Oriented Language for Physical Systems Modeling: Language Specification Version 3.0; Sept 2007.

[6] Michael Tiller. Introduction to Physical Modeling with Modelica. Kluwer Academic Publishers; 2001.

[7] Peter Fritzson. Principles of Object-Oriented Modeling and Simulation with Modelica 2.1. Wiley-IEEE Press; 2004.

[8] Open Source Modelica Consortium. OpenModelica.

[9] Dynasim. Dymola.

[10] MathCore. Mathmodelica.

[11] Geoff Dromey. From requirements to design: Formalizing the key steps. in Proc. Conf. on Software Engineering and Formal Methods (SEFM). IEEE Computer Society; pp. 2- 13; 2003.

[12] Geoff Dromey. Climbing over the “no silver bullet” brick wall. IEEE Software; vol. 23; pp. 120; 118-119; 2006.

[13] Robert Colvin and Ian Hayes. A semantics for BehaviorTrees using CSP with specification commands. Science of Computer Programming; In Press; Corrected Proof; Available online 9 December 2010.

[14] Toby Myers. TextBE: A Textual Editor for BehaviorEngineering. Proceedings of the 3rd Improving Systems and Software Engineering Conference (ISSEC); Sydney; Australia; 2-5 August 2011 (Accepted).

[15] Martin Otter; Martin Malmheden; Hilding Elmqvist; SvenErik Mattsson; and Charlotta Johnsson. A New Formalism for Modeling of Reactive and Hybrid Systems. In Proceedings of the 7th International Modelica Conference; Como; Italy. September 20-22; 2009.

[16] Sabrina Proß and Bernhard Bachmann. A Petri Net Library for Modeling Hybrid Systems in OpenModelica. Proceedings of the 7th International Modelica Conference; Como; Italy; 20-22 September 2009.

[17] Toby Myers; M. Wendland; S. Kim; Peter Lindsay. From Requirements to Executable UML State Machines: A Formal Path using Behavior Engineering and M2M Transformations; Proceedings of the 14th International Conference on Model Driven Engineering Languages and Systems; Wellington; New Zealand; 16-21 October 2011 (submitted).

[18] M. Wendland; I. Schieferdecker; A. Vouffo-Feudjio. Requirements driven testing with behavior trees. In Proceedings of the ICST Workshop Requirements and Validation; Verification & Testing (ReVVerT 2011). 2011. Accepted.

[19] M. Mernik; J. Heering and A. M. Sloane. When and how o develop domain-specific languages; ACM Computing Surveys (CSUR); vol. 37(4); 2005. pp. 316-344.

[20] J. Heering and M. Mernik; Domain-specific languages in perspective; Tech. rep.; CWI; sEN-E0702. 2007.

Citations in Crossref