A metamodel-based ASN.1 editor and compiler for the implementation of communication protocols
|
|
|
- Abigayle Sanders
- 10 years ago
- Views:
Transcription
1 A metamodel-based ASN.1 editor and compiler for the implementation of communication protocols Thomas Kistel, Ralf Vandenhouten Biosystemtechnik/ Bioinformatik Energie- und UmweltmanagemenT Zusammenfassung Abstract In der Software-Industrie sind viele metamodell-basierte Werkzeuge entwickelt worden, um die Erstellung von Programmiersprachen und insbesondere domänenspezifischen Sprachen (DSL) zu unterstützen. Ein Beispiel für diese Werkzeuge ist Eclipse Xtext, welches eine große Popularität im Bereich der modellgetriebenen Softwareentwicklung (MDSE) besitzt. In diesem Beitrag untersuchen wir, inwieweit Xtext und andere metamodell-basierte Ansätze zur Implementierung eines Editors und Compilers für die ASN.1 Spezifikation, welche von der ITU-T standardisiert wurde, verwendet werden können. Der metamodell-basierte Ansatz zur Implementierung der ASN.1 Spezifikation ermöglicht es, ASN.1-Dokumente softwaretechnisch wie ein l behandeln zu können, sodass dieses ASN.1-l mit anderen Softwaremodellen (z. B. Zustandsmaschinen) verknüpft werden kann. Unsere Ergebnisse zeigen, dass mit relativ geringem Aufwand eine Basisimplementierung von ASN.1 zu erreichen ist, die bereits eine gute Werkzeugunterstützung liefert. Bei einigen Details der Implementierung gerät man allerdings an die Grenze des Machbaren und diese sind daher sehr schwer zu realisieren. Dies betrifft insbesondere den Parser-Generator und das komplexe Metamodell. 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 -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. Informations- und Kom.-technologien Material- und Produktionstechnologie Lehr- und Lernmanagement» I. Introduction In software engineering small languages for different domains were gaining popularity during the last years. These small languages are also referred to as Domain Specific Languages (DSLs) and are promoted by the -Driven Software Engineering (MDSE) community. On the other hand the Unified ing Language (UML) (OMG, formal/ , 2.4.1), (OMG, formal/ , 2.4.1) was specified by the Object Management Group (OMG) to unify various graphical diagrams for the description of software systems. The development of UML has also led to the specification of the Meta Object Facility (MOF) (OMG, formal/ , 2.4.1) by the OMG. The extensibility mechanism of UML, which is called UML profiles, can also be used to develop domain specific modeling languages (Selic 2007). Selic (Selic 2012) also remarked that an alternative for developing DSLs is MOF, which has, however, only a few implementations (Scheidgen 2006). The most popular implementation of MOF is the Eclipse ing Framework (EMF) (Steinberg et al. 2009). Many metamodel-based tools for EMF have been developed to support the creation of DSLs and the corresponding domainspecific workbench. Eclipse Xtext (Xtext Project Website) and JetBrains MPS (Meta Programming System) (MPS (Meta Programming System) project website) are two mature metamodel-based technologies for the development of DSLs and surrounding tool support (Text editor, Parsers, Syntax highlighting, Code completion and generation, etc.). Andova (Andova et al. 2012) and Völter (Völter 2011) provide a good introduction into the detailed concepts of Xtext and MPS as well as related tools and approaches. An advantage of Xtext is that it uses EMF as the basis for its metamodels. Therefore it can be easily integrated with other EMF-based tools. Besides the growing popularity of DSLs, especially in the context of MDSE, there already exist many DSLs in different software domains, of which the database query language SQL is one popular example. The domain of protocol engineering, which is predestined for MDSE, also takes advantage of several DSLs. The most important is the Abstract Syntax Notation One (ASN.1) (ITU, X.680, 11/2008), a DSL for the description of data types and data structures together with their corresponding encoding rules. ASN.1 was standardized by the ITU-T. In protocol engineering, ASN.1 is used to describe 61 Logistik Management und Innovation Optische Technologien
2 the messages that are exchanged between two communicating nodes. In this article we investigate, how a metamodel-based editor for ASN.1 can be developed with the Eclipse Xtext framework. Furthermore, we analyze of how the created ASN.1 metamodel can be used for code generation. These steps mentioned have very much in common with traditional compiler construction. The research question of this article is whether the new MDSE tools around Eclipse Xtext can be used for the development of a compiler for a relatively complex language like ASN.1. The intention for the use of a metamodel-based approach for the implementation of the ASN.1 specification is that it allows to treat ASN.1 documents as regular software models. The advantage of this approach is that these ASN.1 models then can be interrelated with other software models - e.g. state machines (Kistel 2012). The remainder of this article is structured as follows: In section 2 we discuss related approaches for the implementation of an ASN.1 compiler, in section 3 we present the result of our preliminary solution, in section 4 we conclude this paper.» II. Related work The original developments of ASN.1 were already done in the 1980ies, where ASN.1 was used to describe data structures for most OSI application protocols (Bochmann et al. 2010). Therefore there already exist many ASN.1 compilers from open source or commercial vendors of which the most important ones are listed on the ASN.1 project site of the ITU (ITU ASN.1 Tools). To the very best knowledge of the authors there is currently no implementation of the ASN.1 specification with a metamodel-based approach that allows the integration with other existing MDSE tools. However, there is some related work, which addresses similar aspects compared to our implementation. In the context of models and UML, Ek (Ek 24/11/2002) proposed an UML profile for ASN.1. UML profiles are a lightweight mechanism to refine or extend the UML language with specific notations. However, a UML profile for ASN.1 is basically a mapping to a UML class diagram, which allows modelers to specify ASN.1 descriptions with UML tools. The question is, how these text-based descriptions can be effectively created and maintained with existing UML tools or how UML profiles can be combined with declarative approaches to specify UML diagrams (Spinellis 2003, Torchiano et al. 2005). More importantly with UML profiles is that it is currently not easy to determine whether a particular specialization of a UML concept is semantically aligned with the base concept of UML, so that UML tools will treat it correctly (Selic 2012). This particularly applies to the evaluation of expressions of ASN.1 data types, which need to analyze their semantics. Another issue, which has many influences on the compiler implementation, concerns the parser technology that is used to read an ASN.1 document and to create the syntax tree. As we will see in section 3.1 the parser technology of the Xtext framework is ANTLR (ANother Tool for Language Recognition) (ANTLR website). Different implementations of the ASN.1 specification with ANTLR can be found on the grammar list page of the project website of ANTLR (ANTLR website). All these implementations only target parts of the ASN.1 specification. Furthermore, these implementations only provide lexing and parsing capabilities for ASN.1 documents. They are not integrated into editors, metamodels or code generation tools. An implementation of an ASN.1 compiler with the Xtext framework was already done in a master thesis (Wendlandt 2010) at Wildau University of Applied Sciences in This implementation is based on an older version of Xtext (0.7) and also uses the Xpand framework (Xpand project webiste) for code generation. The present work can be seen as a re-implementation of the work in the master thesis.» III. Solution 3.1. Parsing and validation The corner stone of implementing a language with the Xtext framework is to define an EBNF-like grammar file. Xtext uses this grammar file to generate Parser, Lexer, EMF Ecore meta model, Editor and other Eclipse workbench functions. The underlying parser/lexer technology of Xtext is ANTLR (ANTLR website; Parr op. 2007), which creates the concrete syntax of the language. The Xtext framework translates the Xtext grammar file, into a grammar description of ANTLR. Then the lexer and parser are generated from ANTLR grammar file. ANTLR is a two phase LL(*) parser. This has many influences on the implementation of the grammar, because the LL(*) parser does not allow left recursions and the ASN.1 specification (ITU, X.680, 11/2008) in contrast is highly left recursive. Therefore all left recursions have to be leftfactorized to remove them. At the time of writing this article we have implemented a huge part of the ASN.1 specification, which allows for parsing many ASN.1 protocol specifications. The left refactoring of the ASN.1 rules guarantees that the implementation of the Xtext grammar does not need the use of the ANTLR syntactic predicates or backtracking options. However, the current implementation does not cover all parts of the Tags, Constraints and Value Assignments of ASN.1. Figure 1 shows the ASN.1 Editor that was created by the Xtext framework with our grammar implementation. 62
3 Fig. 1) ASN.1 editor with tool support besides lexing and parsing, i.e. the transformation of tokens into an abstract syntax tree (sentences), another important step in the frontend phase of a compiler is the semantic analysis of the language. in the Xtext framework this can be done by validation rules. We have implemented only some simple validation rules for the AsN.1 language (e.g. check of case sensitivity in type names). moreover, we have integrated the AsN.1 syntax checker tool by oss Nokalva inc ( oss.com/asn1/products/asn1-syntaxchecker/asn1-syntax-checker.html). this allows validating the complete syntax of an AsN.1 document in the background and reporting syntax errors and warnings to the user. this solution allows for parsing and validation of almost any ASN.1 file Asn.1 metamodel the Xtext framework not only generates a parser and lexer through ANtlr, it also generates an emf metamodel, which describes the abstract syntax of the language. Xtext basically has two implementation strategies for the abstract syntax: 1) create the Xtext grammar file and generate the abstract syntax (i.e. emf metamodel) from it; 2) create the abstract syntax (i.e. emf metamodel) first and refer the model elements in the Xtext grammar file. In our implementation we have chosen the first strategy, because we are implementing an existing language that is specified in an ITU recommendation (itu, X.680, 11/2008). in contrast to our strategy it could be useful to first define the abstract syntax and then the concrete syntax through the grammar file, when one is implementing a new language. Nevertheless, in both strategies, there is always a one-to-one mapping between abstract and concrete syntax in Xtext. this means that every parser rule (except terminal and data type rules) of the concrete syntax is represented in the abstract syntax. the opposite, every element of the abstract syntax is represented in the concrete syntax, is not true. regarding our implementation, figure 2 shows the model hierarchy of the Buildins of the ASN.1 specification. in our compiler implementation we have introduced a distinction of Buildins. the model element Simple was introduced for types that do not contain other types. in contrast, Container was introduced for types that do contain other types (see figure 3). bitstringtype character stringtype octetstring type datetype timetype realtype Fig. 2) hierarchy of ASN.1 Buildins builtintype integertype booleantype Nulltype the P r e fi x e d T y p e is an exception here and is a new type which is isomorphic with another type, but has additional tags or encoding instructions. Simple and Container are represented in the abstract syntax (i.e. metamodel) but are not represented in the concrete syntax of our AsN.1 implementation. in summary the direct mapping of the concrete syntax to the abstract syntax is not a problem for simple languages, but results in large metamodels for more complex languages. in our current implementation of the AsN.1 language, the metamodel contains 127 model elements, which is relatively complex. This issue also has some influences on the code generation, which we will describe in the next section code generation code generation is part of the backend phase of a compiler, which usually creates machine or interpreter code. in our implementation the code generation phase creates a higher level programming language (e.g. an imperative, object oriented language like Java). in mdse terms, code generation is also referred to as a model to text (m2t) transformation (flores beltran et al. 2007), because generally a m2t generator may not only create programming code, but also other artifacts like configurations, database or user-interface scripts. in our implementation of the AsN.1 compiler we use the Xtend2 language (Xtend project website), which is now settype setoftype sequencetype sequenceof type Wissenschaftliche beiträge 2013 choicetype Prefixed 63 BIOSYSTEMTECHNIK/ BIOINFORMATIK ENERGIE- UND UMWELTMANAGEMENT INFORMATIONS- UND KOM.-TECHNOLOGIEN MATERIAL- UND PRODUKTIONSTECHNOLOGIE LEHR- UND LERNMANAGEMENT LOGISTIK MANAGEMENT UND INNOVATION OPTISCHE TECHNOLOGIEN
4 BitString Character String OctetString Simple Date Time Real Fig. 3) Modified model hierarchy of ASN.1 Buildin the default generator language of the recent version (2.3) of the Xtext framework. The source of our code generation is an EMF model instance, the target language is Java7 (The Java Language Specification 2012). Generally different implementation subjects for the code generation have to be distinguished. These subjects are 1) the internal behavior of the generator and 2) the output configuration of the generated code. Figure 4 shows the two different strategies for the internal behavior of the generator. Strategy a) creates an intermediate model from the source model, which can contain some optimizations etc. of the source model and then generates the target model. This way code generation is done in Xbase, which is part of Xtext and allows for reuse of expressions in different DSLs. Builtin Prefixed Integer Boolean Null Container Set SetOf Choice Sequence SequenceOf During the code generation, the Xbase model is inferred to a JVM types model, from which Java code is generated. It is also possible to create a different intermediate model than the JVM types model, where necessary. In our ASN.1 compiler implementation we have done a direct conversion of the EMF model to Java code. This is possible, because the ASN.1 syntax has a strict type and naming (typereference) convention. Each ASN.1 typereference is translated into a Java class or field name and each ASN.1 type is translated into a Java class or field type. A problematic issue in the code generation is the complex traverse of the model. A simpler model would be helpful for the code generation. The other subject (2) concerns the output configuration. In traditional compiler implementations these are options that control the runtime behavior or memory usage of the generated code. These options are also valid for code generation. The generated programming code can also be optimized for performance issues or memory management. The latter one also implies whether the generated code depends on a runtime library the generated code depends on. Traditional implementations of ASN.1 compilers for Java always use a runtime library (jar-file) which defines Java classes for the standard ASN.1 types and their encoding rules. For those ASN.1 compilers the generated type classes inherit from the ASN.1 library classes. This approach has the advantage, that every generated ASN.1 type class is explicitly defined and has a strict semantics according to the super class or its interface definition. But this approach has also some drawbacks. The most important are 1) the library also defines classes and methods that may not be required or should not be used in the target environment and 2) the inheritance reduces the flexibility of the generated classes. A Source (ASN.1) Intermediate Target (Java) B Source (ASN.1) Target (Java) Fig. 4) Internal behavior strategies of a code generator 64
5 INFORMATIONS- UND KOM.-TECHNOLOGIEN ENERGIE- UND UMWELTMANAGEMENT MATERIAL- UND PRODUKTIONSTECHNOLOGIE BIOSYSTEMTECHNIK/ BIOINFORMATIK Fig. 5) Example of the code generation for an ASN.1 Sequence type our implementation of the AsN.1 code generator includes generation of Java classes for AsN.1 type assignments. library classes and functions are copied into the target package as needed. this reduces the amount of the target code, because no runtime library is needed. besides simple type assignments we also generate code for Constraints. currently we generate size constraints and value ranges to Java Annotations that are attached to the corresponding Java field. These Annotations are then validated in their equivalent setter and read methods. figure 5 shows this concept in a simple example for an AsN.1 sequence type. the sequence type Absolutetime that is part of the ASN.1 protocol specification of (iso/ieee, , 2010) is generated into a Java class, the child elements of the sequence type become field members of this Java class. the implementation provides a sophisticated ide support, i.e. an editor with syntax highlighting, code completion, formatting and integration into the eclipse workbench. A drawback of this approach is the strict coupling between Xtext and the ll(*) parser generator ANtlr. this requires a complex rewriting of the grammar rules to be conforming to ll grammars. An optional replacement of the parser generator, like the possible replacement of the code generator Xtend2 through Xpand, Acceleo (both eclipse projects on m2t) or others, would be helpful for this issue. in future we plan to extend the grammar implementation of the AsN.1 specification and to extend the code generator to support different encoding rules (e.g. mder schrenker, todd 2001 and ber). LEHR- UND LERNMANAGEMENT» iv. conclusions in this article we have discussed the different aspects on implementing an AsN.1 editor and compiler. to achieve this we have used the eclipse projects Xtext and Xtend2. With these frameworks we have implemented a huge part of the ASN.1 specification. We have proved this implementation on the AsN.1 data type description of the ieee standard (iso/ieee, , 2010), which defines an exchange protocol for personal health device communication. our results show that the itu recommendation AsN.1 can be implemented with the metamodel-based tools Xtext and Xtend2. With relatively little effort Wissenschaftliche beiträge 2013 LOGISTIK MANAGEMENT UND INNOVATION OPTISCHE TECHNOLOGIEN 65
6 Acknowledgements This work is funded by the German ministry for education and research (BMBF) in the ongoing project MOSES lgetriebene Software-Entwicklung von vernetzten Embedded Systems (FKZ 17075B10). Bibliography ANTLR website. Available online at checked on 7/09/2012. Xpand project webiste. Available online at eclipse.org/xpand, checked on 14/09/2012. Xtend project website. Available online at eclipse.org/xtend, checked on 23/07/2012. Andova, S., van den Brand, M., Engelen, L., Verhoeff, T. (2012): MDE Basics with a DSL Focus. In: Bernardo, M., Cortellessa, V., Pierantonio, A. (Eds.): Formal Methods for -Driven Engineering. 12th International School on Formal Methods for the Design of Computer, Communication, and Software Systems, SFM 2012, Bertinoro, Italy, June 18-23, Advanced Lectures, vol Berlin / Heidelberg: Springer (Lecture Notes in Computer Science, 7320), Bochmann, G. v., Rayner, D.; West, C. H. (2010): Some notes on the history of protocol engineering. In Comput. Netw 54, Available online at org/ /j.comnet Eclipse Foundation: Xtext Project Website. Available online at checked on 15/07/2012. Ek, A. (2002): An ASN.1 Profile. Workshop on Language Advisory Board. Geneva, 24/11/2002. Available online at checked on 19/07/2012. Flores Beltran, J. C., Holzer, B., Kamann, Th., Kloss, M., Mork, St., Niehues, Th., Thoms, K. (2007): lgetriebene Softwareentwicklung. MDA und MDSD in der Praxis. Edited by Jens Trompeter, Georg Pietrek. Frankfurt [Main]: Entwickler.press. ISO/IEEE : : Health informatics Personal health device communication Application profile Optimized exchange protocol. International Telecommunication Union (ITU): ITU ASN.1 Tools. Available online at links/index.htm, checked on 10/09/2012. ITU X.680, 13/11/2008: Abstract Syntax Notation One (ASN.1) Specification of basic notation. JetBrains: MPS (Meta Programming System) project website. Available online at checked on 3/09/2012. Kistel, Th. (2012): On the extension of message syntax languages for the development of communication protocols. In: ACM/IEEE 15th International Conference on Driven Engineering Languages & Systems. Doctoral Symposium. MODELS. Innsbruck, OMG formal/ , August 2011: Meta Object Facility (MOF) Core. OMG formal/ , August 2011: Unified ing Language (UML) - Infrastructure. OMG formal/ , August 2011: Unified ing Language (UML) - Superstructure. Oracle America Inc. (2012): The Java Language Specification. Java SE 7 Edition. With assistance of James Gosling, Bill Joy, Guy Steele, Gilad Bracha, Alex Buckley. Available online at pdf, checked on 11/09/2012. Parr, T. (op. 2007): The Definitive ANTLR reference guide. Building domain-specific languages. Raleigh [ etc.]: The Pragmatic bookshelf. Scheidgen, M. (2006): CMOF-model semantics and language mapping for MOF 2.0 implementations. In: Ricardo J. M. (Ed.): Fourth and Third International Workshop on -Based Development of Computer-Based Systems and -Based Methodologies for Pervasive and Embedded Software, MBD/MOMPES 2006; 30 March 2006, Potsdam, Germany. Computer Society; Institute of Electrical and Electronics Engineers (IEEE); Workshop on -Based Development of Computer-Based Systems; International Workshop on -Based Methodologies for Pervasive and Embedded Software; MBD-MOMPES Los Alamitos, Calif: IEEE Computer Society, pp. 10. Schrenker, R.; Todd, C. (2001): Building the Foundation for Medical Device Plug-and-Play Interoperability. In: Medical Electronics Manufacturing. Available online at checked on 20/07/2012. Selic, B. (2007): A Systematic Approach to Domain-Specific Language Design Using UML. In: ISORC th IEEE International Symposium on : Object and Component- Oriented Real-Time Distributed Computing, 2007, 2 9. Selic, B. (2012): The Less Well Known UML. A Short User Guide. In Bernardo, M., Cortellessa, V., Pierantonio, A. (Eds.): Formal Methods for -Driven Engineering. 12th International School on Formal Methods for the Design of Computer, Communication, and Software Systems, SFM 2012, Bertinoro, Italy, June 18-23, Advanced Lectures, vol Berlin / Heidelberg: Springer (Lecture Notes in Computer Science, 7320), Spinellis, D. (2003): On the declarative specification of models. Software, IEEE. In IEEE Software 20 (2), Steinberg, D., Budinsky, F., Paternostro, M., Merks, E, (2009): EMF. Eclipse ing Framework. 2nd ed. Upper Saddle River, NJ: Addison-Wesley. Torchiano, M., Ricca, F., Tonella, P. (2005): A comparative study on the re-documentation of existing software: code annotations vs. drawing editors. In : International Symposium on Empirical Software Engineering 2005 (ISESE 2005). Noosa Heads, Queensland, Australia, Völter, M. (2011): Language and IDE Modularization, Extension and Composition with MPS. In: Lämmel, R. Saraiva, J., Visser, J (Eds.): Generative and Transformational Techniques in Software Engineering IV. International Summer School, GTTSE Pre-proceeding, Wendlandt, O. (2010): Entwurf und Realisierung eines Konzeptes für modellgetriebene Softwareentwicklung von Geräteschnittstellen. Master Thesis. University of Applied Sciences Wildau, Wildau. Institute of Telematics Authors Thomas Kistel, M. Eng Fachgebiet Telematik Fachbereich Ingenieurwesen/Wirtschaftsingenieurwesen TH Wildau [FH] [email protected] Prof. Dr. rer. nat. Ralf Vandenhouten Fachgebiet Telematik Fachbereich Ingenieurwesen/Wirtschaftsingenieurwesen TH Wildau [FH] [email protected] 66
X-ABNF: Name-Bindings of ABNF specifications for custom code generation
X-ABNF: Name-Bindings of ABNF specifications for custom code generation Thomas Kistel and Ralf Vandenhouten University of Applied Sciences Wildau Institute of Telematics Bahnhofstrasse, 15745 Wildau, Germany
Textual Modeling Languages
Textual Modeling Languages Slides 4-31 and 38-40 of this lecture are reused from the Model Engineering course at TU Vienna with the kind permission of Prof. Gerti Kappel (head of the Business Informatics
A DOMAIN SPECIFIC LANGUAGE FOR THE AUTOMATIC GENERATION OF PARSER CLASSES FOR TEXT PROTOCOLS
A DOMAIN SPECIFIC LANGUAGE FOR THE AUTOMATIC GENERATION OF PARSER CLASSES FOR TEXT PROTOCOLS Thomas Kistel, Ralf Vandenhouten Abstract Zusammenfassung ABNF is a language for the definition of the formal
Development of Tool Extensions with MOFLON
Development of Tool Extensions with MOFLON Ingo Weisemöller, Felix Klar, and Andy Schürr Fachgebiet Echtzeitsysteme Technische Universität Darmstadt D-64283 Darmstadt, Germany {weisemoeller klar schuerr}@es.tu-darmstadt.de
Organization of DSLE part. Overview of DSLE. Model driven software engineering. Engineering. Tooling. Topics:
Organization of DSLE part Domain Specific Language Engineering Tooling Eclipse plus EMF Xtext, Xtend, Xpand, QVTo and ATL Prof.dr. Mark van den Brand GLT 2010/11 Topics: Meta-modeling Model transformations
Model-Driven Development - From Frontend to Code
Model-Driven Development - From Frontend to Code Sven Efftinge [email protected] www.efftinge.de Bernd Kolb [email protected] www.kolbware.de Markus Völter [email protected] www.voelter.de -1- Model Driven
Foundations of Model-Driven Software Engineering
Model-Driven Software Engineering Foundations of Model-Driven Software Engineering Dr. Jochen Küster ([email protected]) Contents Introduction to Models and Modeling Concepts of Model-Driven Software
Modeling Cloud Messaging with a Domain-Specific Modeling Language
Modeling Cloud Messaging with a Domain-Specific Modeling Language Gábor Kövesdán, Márk Asztalos and László Lengyel Budapest University of Technology and Economics, Budapest, Hungary {gabor.kovesdan, asztalos,
A Common Metamodel for Code Generation
A Common Metamodel for Code Generation Michael PIEFEL Institut für Informatik, Humboldt-Universität zu Berlin Unter den Linden 6, 10099 Berlin, Germany [email protected] ABSTRACT Models can
Automatic Generation of Consistency-Preserving Edit Operations for MDE Tools
Automatic Generation of Consistency-Preserving Edit Operations for MDE Tools Michaela Rindt, Timo Kehrer, Udo Kelter Software Engineering Group University of Siegen {mrindt,kehrer,kelter}@informatik.uni-siegen.de
Embedded Software Development with MPS
Embedded Software Development with MPS Markus Voelter independent/itemis The Limitations of C and Modeling Tools Embedded software is usually implemented in C. The language is relatively close to the hardware,
Java Generation from UML Models specified with Alf Annotations
Université de Franche-Comté Supervisers : Fabien Peureux, Isabelle Jacques Java Generation from UML Models specified with Alf Annotations Supervised project report Alexandre Vernotte Jean-Marie Gauthier
Co-Creation of Models and Metamodels for Enterprise. Architecture Projects.
Co-Creation of Models and Metamodels for Enterprise Architecture Projects Paola Gómez [email protected] Hector Florez [email protected] ABSTRACT The linguistic conformance and the ontological
Towards Integrating Modeling and Programming Languages: The Case of UML and Java
Towards Integrating Modeling and Programming Languages: The Case of UML and Java Patrick Neubauer, Tanja Mayerhofer, and Gerti Kappel Business Informatics Group, Vienna University of Technology, Austria
Implementing reusable software components for SNOMED CT diagram and expression concept representations
1028 e-health For Continuity of Care C. Lovis et al. (Eds.) 2014 European Federation for Medical Informatics and IOS Press. This article is published online with Open Access by IOS Press and distributed
Revel8or: Model Driven Capacity Planning Tool Suite
Revel8or: Model Driven Capacity Planning Tool Suite Liming Zhu 1,2, Yan Liu 1,2, Ngoc Bao Bui 1,2,Ian Gorton 3 1 Empirical Software Engineering Program, National ICT Australia Ltd. 2 School of Computer
CommentTemplate: A Lightweight Code Generator for Java built with Eclipse Modeling Technology
CommentTemplate: A Lightweight Code Generator for Java built with Eclipse Modeling Technology Jendrik Johannes, Mirko Seifert, Christian Wende, Florian Heidenreich, and Uwe Aßmann DevBoost GmbH D-10179,
An eclipse-based Feature Models toolchain
An eclipse-based Feature Models toolchain Luca Gherardi, Davide Brugali Dept. of Information Technology and Mathematics Methods, University of Bergamo [email protected], [email protected] Abstract.
A Case Study on Model-Driven and Conventional Software Development: The Palladio Editor
A Case Study on Model-Driven and Conventional Software Development: The Palladio Editor Klaus Krogmann, Steffen Becker University of Karlsruhe (TH) {krogmann, sbecker}@ipd.uka.de Abstract: The actual benefits
DSL Design. Model Transformations. Model Transformations. Language g Implementation Strategies
DSL Design Generic Language g Technology 2IS15 Model Transformations Language g Implementation Strategies Stand-alone Marcel van Amstel Embedding Translation / Software Engineering and Technology 9-1-2012
Aplicando enfoque MDE a aplicaciones WEB-SOA
Aplicando enfoque MDE a aplicaciones WEB-SOA María Consuelo Franky [email protected] Dpto. Ingeniería de Sistemas Universidad Javeriana Bogotá - 2010 http://sophia.javeriana.edu.co/~lfranky/ 1 Temario
VICCI. The Eclipse Modeling Framework (EMF) A Practical Introduction and Technology Overview. Dipl.-Inf. Christoph Seidl
VICCI Visual and Interactive Cyber-Physical Systems Control and Integration The Eclipse Modeling Framework (EMF) A Practical Introduction and Technology Overview Dipl.-Inf. Christoph Seidl Overview of
Jairson Vitorino. PhD Thesis, CIn-UFPE February 2009. Supervisor: Prof. Jacques Robin. Ontologies Reasoning Components Agents Simulations
CHROME: A Model-Driven Component- Based Rule Engine Jairson Vitorino PhD Thesis, CIn-UFPE February 2009 Supervisor: Prof. Jacques Robin Ontologies Reasoning Components Agents Simulations Contents 1. Context
INTERNATIONAL TELECOMMUNICATION UNION
INTERNATIONAL TELECOMMUNICATION UNION ITU-T X.690 TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU (07/2002) SERIES X: DATA NETWORKS AND OPEN SYSTEM COMMUNICATIONS OSI networking and system aspects Abstract
Eindhoven University of Technology
Eindhoven University of Technology Department of Mathematics and Computer Science Software Engineering and Technology Group Master Thesis mlbnf A Syntax Formalism for Domain Specific Languages M.W. Manders
Xtext Documentation. September 26, 2014
Xtext Documentation September 26, 2014 Contents I. Getting Started 9 1. 5 Minutes Tutorial 10 1.1. Creating A New Xtext Project........................ 10 1.2. Generating The Language Infrastructure...................
Defining and Checking Model Smells: A Quality Assurance Task for Models based on the Eclipse Modeling Framework
Defining and Checking Model Smells: A Quality Assurance Task for Models based on the Eclipse Modeling Framework Thorsten Arendt a, Matthias Burhenne a, Gabriele Taentzer a a Philipps-Universität Marburg,
COCOVILA Compiler-Compiler for Visual Languages
LDTA 2005 Preliminary Version COCOVILA Compiler-Compiler for Visual Languages Pavel Grigorenko, Ando Saabas and Enn Tyugu 1 Institute of Cybernetics, Tallinn University of Technology Akadeemia tee 21 12618
An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications
An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications Germán Harvey Alférez Salinas Department of Computer Information Systems, Mission College,
Creating visualizations through ontology mapping
Creating visualizations through ontology mapping Sean M. Falconer R. Ian Bull Lars Grammel Margaret-Anne Storey University of Victoria {seanf,irbull,lgrammel,mstorey}@uvic.ca Abstract We explore how to
Über die Semantik von Modellierungssprachen
Über die Semantik von Modellierungssprachen und des UML-Standards Prof. Dr. Bernhard Rumpe Technische Universität Braunschweig http://www.sse.cs.tu-bs.de/ Seite 2 What is a model? And why do we need modeling
Principles of integrated software development environments. Learning Objectives. Context: Software Process (e.g. USDP or RUP)
Principles of integrated software development environments Wolfgang Emmerich Professor of Distributed Computing University College London http://sse.cs.ucl.ac.uk Learning Objectives Be able to define the
Cedalion A Language Oriented Programming Language (Extended Abstract)
Cedalion A Language Oriented Programming Language (Extended Abstract) David H. Lorenz Boaz Rosenan The Open University of Israel Abstract Implementations of language oriented programming (LOP) are typically
Patterns in Domain Models
Master Thesis Patterns in Domain Models A Methodology and its Application in the Healthcare Management Domain Technische Universität Berlin Institute of Database Systems and Information Management (DIMA)
Model Driven Interoperability through Semantic Annotations using SoaML and ODM
Model Driven Interoperability through Semantic Annotations using SoaML and ODM JiuCheng Xu*, ZhaoYang Bai*, Arne J.Berre*, Odd Christer Brovig** *SINTEF, Pb. 124 Blindern, NO-0314 Oslo, Norway (e-mail:
Bridging the Generic Modeling Environment (GME) and the Eclipse Modeling Framework (EMF)
Bridging the Generic ing Environment () and the Eclipse ing Framework (EMF) Jean Bézivin (), Christian Brunette (2), Régis Chevrel (), Frédéric Jouault (), Ivan Kurtev () () ATLAS Group (INRIA & LINA,
Graph-Grammar Based Completion and Transformation of SDL/UML-Diagrams
Graph-Grammar Based Completion and Transformation of SDL/UML-Diagrams Position Paper Ulrich A. Nickel, Robert Wagner University of Paderborn Warburger Straße 100 D-33098 Paderborn Germany [duke, wag25]@uni-paderborn.de
Clarifying a vision on certification of MDA tools
SCIENTIFIC PAPERS, UNIVERSITY OF LATVIA, 2010. Vol. 757 COMPUTER SCIENCE AND INFORMATION TECHNOLOGIES 23 29 P. Clarifying a vision on certification of MDA tools Antons Cernickins Riga Technical University,
GECO: Automatic Generator-Composition for (Aspect-oriented) DSLs
GECO: Automatic Generator-Composition for (Aspect-oriented) DSLs Doctoral Symposium Reiner Jung Christian-Albrechts-Universität zu Kiel Institut für Informatik 26.02.2014 Domain-specific Languages Motivation
A Framework for Creating Domain-specific Process Modeling Languages
A Framework for Creating Domain-specific Process Modeling Languages Henning Heitkötter Department of Information Systems, University of Münster, Münster, Germany [email protected] Keywords:
Tool Support for Model Checking of Web application designs *
Tool Support for Model Checking of Web application designs * Marco Brambilla 1, Jordi Cabot 2 and Nathalie Moreno 3 1 Dipartimento di Elettronica e Informazione, Politecnico di Milano Piazza L. Da Vinci,
Efficient Editor Generation for Compositional DSLs in Eclipse
Efficient Editor Generation for Compositional DSLs in Eclipse Holger Krahn, Bernhard Rumpe, and Steven Völkel Institute for Software Systems Engineering Niedersächsische Technische Hochschule, Standort
Implementation and Integration of a Domain Specific Language with oaw and Xtext
Implementation and Integration of a Domain Specific Language with oaw and Xtext by Volker Koster MT AG, Okt. 2007 www.mt-ag.com [email protected] Implementation and Integration of a Domain Specific Language
1 Business Modeling. 1.1 Event-driven Process Chain (EPC) Seite 2
Business Process Modeling with EPC and UML Transformation or Integration? Dr. Markus Nüttgens, Dipl.-Inform. Thomas Feld, Dipl.-Kfm. Volker Zimmermann Institut für Wirtschaftsinformatik (IWi), Universität
Towards Collaborative Requirements Engineering Tool for ERP product customization
Towards Collaborative Requirements Engineering Tool for ERP product customization Boban Celebic, Ruth Breu, Michael Felderer, Florian Häser Institute of Computer Science, University of Innsbruck 6020 Innsbruck,
A Framework of Model-Driven Web Application Testing
A Framework of Model-Driven Web Application Testing Nuo Li, Qin-qin Ma, Ji Wu, Mao-zhong Jin, Chao Liu Software Engineering Institute, School of Computer Science and Engineering, Beihang University, China
Programmers rejoice: QML makes business people understand. Qt Developer Days 2014 Hinrich Specht 2. September 2014 Folie 1
Programmers rejoice: QML makes business people understand Qt Developer Days 2014 Hinrich Specht 2. September 2014 Folie 1 About me My company What I do at work Where I live What is it all about? Agenda
Modeling Turnpike: a Model-Driven Framework for Domain-Specific Software Development *
for Domain-Specific Software Development * Hiroshi Wada Advisor: Junichi Suzuki Department of Computer Science University of Massachusetts, Boston [email protected] and [email protected] Abstract. This
Jos Warmer, Independent [email protected] www.openmodeling.nl
Domain Specific Languages for Business Users Jos Warmer, Independent [email protected] www.openmodeling.nl Sheet 2 Background Experience Business DSLs Insurance Product Modeling (structure) Pattern
Simplifying e Business Collaboration by providing a Semantic Mapping Platform
Simplifying e Business Collaboration by providing a Semantic Mapping Platform Abels, Sven 1 ; Sheikhhasan Hamzeh 1 ; Cranner, Paul 2 1 TIE Nederland BV, 1119 PS Amsterdam, Netherlands 2 University of Sunderland,
Towards a Framework for Generating Tests to Satisfy Complex Code Coverage in Java Pathfinder
Towards a Framework for Generating Tests to Satisfy Complex Code Coverage in Java Pathfinder Matt Department of Computer Science and Engineering University of Minnesota [email protected] Abstract We present
Automatic Test Data Generation for TTCN-3 using CTE
Automatic Test Data Generation for TTCN-3 using CTE Zhen Ru Dai, Peter H. Deussen, Maik Busch, Laurette Pianta Lacmene, Titus Ngwangwen FraunhoferInstitute for Open Communication Systems (FOKUS) Kaiserin-Augusta-Allee
UML-based Test Generation and Execution
UML-based Test Generation and Execution Jean Hartmann, Marlon Vieira, Herb Foster, Axel Ruder Siemens Corporate Research, Inc. 755 College Road East Princeton NJ 08540, USA [email protected] ABSTRACT
Integration of Application Business Logic and Business Rules with DSL and AOP
Integration of Application Business Logic and Business Rules with DSL and AOP Bogumiła Hnatkowska and Krzysztof Kasprzyk Wroclaw University of Technology, Wyb. Wyspianskiego 27 50-370 Wroclaw, Poland [email protected]
Syntax Check of Embedded SQL in C++ with Proto
Proceedings of the 8 th International Conference on Applied Informatics Eger, Hungary, January 27 30, 2010. Vol. 2. pp. 383 390. Syntax Check of Embedded SQL in C++ with Proto Zalán Szűgyi, Zoltán Porkoláb
Tool Support for fuml Models
Int. J. of Computers, Communications & Control, ISSN 1841-9836, E-ISSN 1841-9844 Vol. V (2010), No. 5, pp. 775-782 Tool Support for fuml Models C.-L. Lazăr, I. Lazăr, B. Pârv, S. Motogna, I.-G. Czibula
On General-purpose Textual Modeling Languages. On General-purpose Textual Modeling Languages
On General-purpose Textual Modeling Languages On General-purpose Textual Modeling Languages Martin Mazanec and Ondřej Macek Martin Mazanec and Ondřej Macek Department of Computer Science, FEL, Czech Technical
Produktfamilienentwicklung
Produktfamilienentwicklung Bericht über die ITEA-Projekte ESAPS, CAFÉ und Families Günter Böckle Siemens CT SE 3 Motivation Drei große ITEA Projekte über Produktfamilien- Engineering: ESAPS (1.7.99 30.6.01),
Integrating Performance Characterization with Software Development
International Journal of Basic & Applied Sciences IJBAS-IJENS Vol: 11 No: 02 7 Integrating Performance Characterization with Software Development Abstract- The importance of integrating performance considerations
Knowledge Engineering for Business Rules in PROLOG
Knowledge Engineering for Business Rules in PROLOG Ludwig Ostermayer, Dietmar Seipel University of Würzburg, Department of Computer Science Am Hubland, D 97074 Würzburg, Germany {ludwig.ostermayer,dietmar.seipel}@uni-wuerzburg.de
mbeddr: an Extensible MPS-based Programming Language and IDE for Embedded Systems
mbeddr: an Extensible MPS-based Programming Language and IDE for Embedded Systems Markus Voelter independent/itemis [email protected] Daniel Ratiu Bernhard Schaetz Fortiss {ratiu schaetz}@fortiss.org Bernd
Overview. Stakes. Context. Model-Based Development of Safety-Critical Systems
1 2 Model-Based Development of -Critical Systems Miguel A. de Miguel 5/6,, 2006 modeling Stakes 3 Context 4 To increase the industrial competitiveness in the domain of software systems To face the growing
Quality Assurance of Software Models within Eclipse using Java and OCL
Quality Assurance of Software Models within Eclipse using Java and OCL Dr. Thorsten Arendt Modellgetriebene Softwareentwicklung mobiler Anwendungen Wintersemester 2014/15 17. Dezember 2014 Outline Why
Towards collaboration between sighted and visually impaired developers in the context of Model-Driven Engineering
Towards collaboration between sighted and visually impaired developers in the context of Model-Driven Engineering Filipe Del Nero Grillo, Renata Pontin de Mattos Fortes, and Daniel Lucrédio Computer Science
Transforming PICTURE to BPMN 2.0 as Part of the Model-driven Development of Electronic Government Systems
Heitkötter, Henning, Transforming PICTURE to BPMN 2.0 as Part of the Model-Driven Development of Electronic Government Systems, 44th Hawaii International Conference on System Sciences (HICSS), pp. 1 10,
Testing automation of projects in telecommunication domain
Testing automation of projects in telecommunication domain Alexey Veselov, Vsevolod Kotlyarov Saint-Petersburg State Polytechnic University, Saint-Petersburg, Russia [email protected], [email protected]
Agile Test-based Modeling
Agile Test-based Modeling Bernhard Rumpe Software Systems Engineering TU Braunschweig, Germany www.sse.cs.tu-bs.de Model driven architecture (MDA) concentrates on the use of models during software development.
UPROM Tool: A Unified Business Process Modeling Tool for Generating Software Life Cycle Artifacts
UPROM Tool: A Unified Business Process Modeling Tool for Generating Software Life Cycle Artifacts Banu Aysolmaz 1 and Onur Demirörs 2 1, 2 Informatics Institute, Middle East Technical University, Ankara,
A Tool Suite for the Generation and Validation of Configurations for Software Availability
A Tool Suite for the Generation and Validation of Configurations for Software Availability A. Gherbi 1, A. Kanso 1, F. Khendek 1, M. Toeroe 2 and A. Hamou-Lhadj 1 1 Concordia University, Montréal, Canada
Model-driven Development for a Treasure Hunt Android application
Model-driven Development for a Treasure Hunt Android application Muram Faiz Ul Subramani Uma Shankar Marinescu Raluca Eduard Paul Enoiu Mälardalen University, Västerås, Sweden {faizulmuram, shanumas, ralukutza,
Open Source egovernment Reference Architecture Osera.modeldriven.org. Copyright 2006 Data Access Technologies, Inc. Slide 1
Open Source egovernment Reference Architecture Osera.modeldriven.org Slide 1 Caveat OsEra and the Semantic Core is work in progress, not a ready to use capability Slide 2 OsEra What we will cover OsEra
Building industrial sensors with MDSD
Building industrial sensors with MDSD Bernhard Merkle Central Department Research & Development Software-Engineering SICK-AG Waldkirch mailto: [email protected] mailto: [email protected]
Design of Visual Repository, Constraint and Process Modeling Tool based on Eclipse Plug-ins
Design of Visual Repository, Constraint and Process Modeling Tool based on Eclipse Plug-ins Rushiraj Heshi Department of Computer Science and Engineering Walchand College of Engineering, Sangli Smriti
Representing XML Schema in UML A Comparison of Approaches
Representing XML Schema in UML A Comparison of Approaches Martin Bernauer, Gerti Kappel, Gerhard Kramler Business Informatics Group, Vienna University of Technology, Austria {lastname}@big.tuwien.ac.at
Architectural Design Patterns for Language Parsers
Architectural Design Patterns for Language Parsers Gábor Kövesdán, Márk Asztalos and László Lengyel Budapest University of Technology and Economics Department of Automation and Applied Informatics Magyar
A Pattern-driven Generation of Security Policies for Service-oriented Architectures
A Pattern-driven Generation of Security Policies for Service-oriented Architectures Michael Menzel Hasso-Plattner-Institute Prof.-Dr.-Helmert Str. 2-3 14482 Potsdam, Germany michael.menzel @hpi.uni-potsdam.de
YouTrack MPS case study
YouTrack MPS case study A case study of JetBrains YouTrack use of MPS Valeria Adrianova, Maxim Mazin, Václav Pech What is YouTrack YouTrack is an innovative, web-based, keyboard-centric issue and project
Organization. Introduction to Software Engineering
Dr. Michael Eichberg Software Technology Group Department of Computer Science Technische Universität Darmstadt Introduction to Software Engineering Organization Teaser Background Information 3 As long
Java Application Developer Certificate Program Competencies
Java Application Developer Certificate Program Competencies After completing the following units, you will be able to: Basic Programming Logic Explain the steps involved in the program development cycle
This is an author-deposited version published in : http://oatao.univ-toulouse.fr/ Eprints ID : 15447
Open Archive TOULOUSE Archive Ouverte (OATAO) OATAO is an open access repository that collects the work of Toulouse researchers and makes it freely available over the web where possible. This is an author-deposited
Eclipse Modeling Project Advantages and Disadvantages
IT Vertiefung Model Driven Software Development MDSD Concepts Metamodeling, MOF, Ecore MDSD Process Model Driven Generation OMG Model Driven Architecture Edin Arnautovic Wolfgang Radinger MDSD Concepts
