Implementing Situation Awareness for Car-to-X Applications Using Domain Specific Languages

Car-to-X i.e. Car-to-Anything communication based on standardized IEEE 802.11p radio technology is comprised with wireless communication between cars (Car-to-Car) and between vehicles and the environment (Car-to-Infrastructure). In order to develop Car-to-X applications based on this standard one needs to model parameters such as the vehicle's position, velocity, acceleration etc. and parameters of the vehicle's environment. Typically, the underlying domain models are designed in an ad-hoc manner and the domain rules become hard-coded into the source- code of the application software. In this paper we describe an alternative and more flexible approach. The model is described in almost plain English using a Domain Specific Language (DSL) and translated into target code via parser technology based on the ANTLR tool-chain. This provides more flexibility not only in creating and maintaining the domain rules, but also with regards to generating code for entirely different target languages and technology environments. For instance, we demonstrate to generate Java code for a simulation environment and C-code for the embedded device from the same rule definitions.

[1]  Arie van Deursen,et al.  Little languages: little maintenance , 1998 .

[2]  Paul Hudak,et al.  Building domain-specific embedded languages , 1996, CSUR.

[3]  Daniel P. Miranker,et al.  An algorithmic basis for integrating production systems and large databases , 1990, [1990] Proceedings. Sixth International Conference on Data Engineering.

[4]  Marek Behálek,et al.  Usage of Embedded Process Functional Language as a Modeling Tool for Embedded Systems Development , 2010, 2010 International Conference on Intelligent Systems, Modelling and Simulation.

[5]  Tim Sheard,et al.  A software engineering experiment in software component generation , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[6]  Wolfgang Schoch,et al.  A language for advanced protocol analysis in automotive networks , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[7]  Charles L. Forgy,et al.  Rete: a fast algorithm for the many pattern/many object pattern match problem , 1991 .

[8]  Terence John Parr,et al.  Enforcing strict model-view separation in template engines , 2004, WWW '04.

[9]  Martin Fowler,et al.  Domain-Specific Languages , 2010, The Addison-Wesley signature series.

[10]  Daniel P. Miranker,et al.  On the Performance of Lazy Matching in Production Systems , 1990, AAAI.

[11]  Tom Schrijvers,et al.  Under Consideration for Publication in Theory and Practice of Logic Programming as Time Goes By: Constraint Handling Rules , 2022 .

[12]  Daniel P. Miranker TREAT: a better match algorithm for AI production systems , 1987, AAAI 1987.

[13]  Gabor Karsai,et al.  A modeling language and its supporting tools for avionics systems , 2002, Proceedings. The 21st Digital Avionics Systems Conference.

[14]  M Mernik,et al.  When and how to develop domain-specific languages , 2005, CSUR.

[15]  A. Festag,et al.  CAR-2-X Communication SDK - A Software Toolkit for Rapid Application Development and Experimentations , 2009, 2009 IEEE International Conference on Communications Workshops.

[16]  Terence Parr The Definitive ANTLR Reference: Building Domain-Specific Languages , 2007 .

[17]  Ilja Radusch,et al.  simTD: a car-to-X system architecture for field operational tests [Topics in Automotive Networking] , 2010, IEEE Communications Magazine.

[18]  Terence Parr,et al.  LL(*): the foundation of the ANTLR parser generator , 2011, PLDI '11.