The implementation of communication protocols is an important development task that appears frequently in software projects. This article is a vision paper that describes the components of the currently available implementation strategies and problems that arise. The article introduces the main existing protocol engineering techniques and puts them into the context of model driven software development. At the end a methodology is introduced for the automatic generation of manager interfaces of Device Agent protocols for the use in a distributed component oriented environment, using ASN.1 and SDL. This article describes the preliminary results of the MOSES project (model-driven software engineering of distributed embedded systems) which is funded by the German ministry of Education and Research (BMBF). In this project the authors are concentrating on medical and facility management areas where they have particular experiences.
Der OSGi-Standard wurde für die Entwicklung komponentenbasierter Software in Java spezifiziert. In diesem Artikel wird eine Architektur für Gebäudemanagementsoftware vorgestellt, die auf Basis von OSGi entwickelt wurde. Grundlage der Client-Server- Architektur des entwickelten Systems ist das Eclipse- Framework, das mit Equinox eine Implementierung des OSGi-Standards liefert. Die verwendeten OSGi- Technologien ermöglichen eine modulare Integration unterschiedlicher Gebäudemanagement-Geräte verschiedener Hersteller in die Softwareplattform und dessen einheitliche Steuerung und Visualisierung. Die Client-Anwendung des Systems profitiert dabei von der komfortablen Benutzeroberfläche der Eclipse Rich-Client-Platform. Das Ergebnis ist eine flexibel einsetzbare Softwarelösung für ein breites Anwendungsspektrum, das von der Überwachung von Industrie- und Bürogebäuden bis hin zu Privathäusern mit Touch-Display Bedienung reicht. Wesentliche Vorteile der Lösung sind die kontextsensitive Informationsbereitstellung sowie die Unterstützung und Automatisierung der Prozesse im Gebäudemanagement. Der Artikel geht auf die technologischen Hintergründe des Software-Systems ein und stellt die betriebswirtschaftlichen Anwendungsfälle vor.
Dieser Beitrag untersucht Konzepte zur Verteilung von Softwareanwendungen auf Basis des OSGi-Standards im Netzwerk. Darin wird mit R-OSGi eine Lösung vorgestellt, die transparente Anwendungsentwicklung gegenüber der verwendeten Netzwerktechnologie ermöglicht. Dabei wird auch darauf eingegangen, wie netzwerkspezifische Charakteristiken (höhere Latenzzeiten, Übertragungsfehler oder Ausfall des Netzwerkes) agnostisch auf die höheren Softwareschichten abgebildet werden können.
A metamodel-based ASN.1 editor and compiler for the implementation of communication protocols
(2013)
In the software industry many metamodel-based tools and approaches have been developed to support the creation of programming and especially domain specific languages (DSL). An example of these tools is eclipse Xtext, which has gained much popularity in the model-driven software engineering (MDSE) community. In this article we investigate whether Xtext and related metamodel-based approaches can also be used to implement the ASN.1 specification that was standardized by the ITU-T. The metamodel-based approach for the implementation of the ASN.1 specification allows to treat ASN.1 documents as software models, so that these ASN.1 models can be interrelated with other models (e.g. state machines). Our results show that relatively little efforts are required to create a basic implementation of this standard with good tool support. However, some details of the implementation are quite difficult to realize because they touch the limits of feasibility. This concerns in particular the parser generator and the complex metamodel.
A domain specific language for the automatic generation of parsers classes for text protocols
(2014)
ABNF is a language for the definition of the formal syntax of technical specifications and is widely used for the definition of textual protocol messages of many internet protocols. The automatic generation of parser classes for ABNF specifications is currently very limited, because ABNF only defines the transfer syntax of the text messages and does not define names for the set of production rules. The lack of name definitions within ABNF rules does not allow to automatically generate expressiveness and meaningful program code for ABNF specifications. In this paper we present X-ABNF, which is a domain-specific language (DSL) for the definition of name-bindings for ABNF rules. The name-bindings with X-ABNF facilitates to generate a concise and meaningful code for an ABNF specification. Additionally, we show that the name-binding can also be used for language extensions through macro programming to dynamically access ABNF encoded text data within source code. We have used Xtext and Xtend for the implementation of the language grammar of ABNF and X-ABNF, which provide good tool support and code generation capabilities.