Although the importance of Metamodels, Schemas, Grammars, and Ontologies (or "language descriptions") is generally acknowledged in the Software Reverse Engineering (SRE) community, as yet, the study of these artifacts lacks a common umbrella -- hence this workshop. The typical ATEM paper studies language descriptions in the context of SRE and software evolution. To this end, Metamodels, Schemas, Grammars, and Ontologies are considered as first class citizens, just like programs and data.
This view is generally consistent with MDE and "modern" SRE; it is specifically aligned with approaches for language engineering, grammarware engineering, Domain Specific Language (DSL) engineering, software factories and others. While "plain" MDE tends to assume that language descriptions are defined from scratch, ATEM pays attention to the fact that language descriptions are often buried in software components, e.g., in "grammarware" such as transformation tools, documentation generators, or front-ends. Accordingly, it is important to better understand all means to continuously recover language descriptions from arbitrary software artifacts.
Hence, "language engineering", as a derivative of MDE, should not be considered as the sole activity of defining new languages; it essentially covers the recovery of language descriptions. In the context of this event, the term "software artifacts" is inclusive with regard to the nature of the artifacts (source code, binaries, databases contents, database schemas, XML files, XML schemas, software architecture descriptions, passive or active web pages, versioned repositories, configuration files, service descriptions, queries, XML style sheets, user interfaces descriptions, etc.).
The 3rd International ATEM-Workshop intends to discuss all relevant aspects of language descriptions (Metamodels, Schemas, Grammars, and Ontologies). These techniques include the definition and description of languages, the recovery of language descriptions as they are ingrained in existing software artifacts, the reuse, integration and transformation of language descriptions, as well as the use of language descriptions in a software reverse engineering and evolution context.
Workshop topics include, but are not restricted to:
- Relevant uses of language descriptions:
- Metamodels for software re-/reverse engineering
- Metamodels for database re-/reverse engineering
- Evolutionary transformation languages
- Meta techniques for migration towards MDE
- MDE techniques applied to re-/reverse engineering
- Metamodels and ontologies providing tool interoperability
- Practical experiences:
- Legacy or proprietary (meta)models
- Reverse engineering of language descriptions
- Meta techniques in software reverse engineering
- Relationships between different kinds of language descriptions
- Language descriptions in forward versus re-/reverse engineering
- Transformations between / Compositions of - different languages
- Use of ontologies to specify interrelationships among languages
- Mappings among different kinds of language descriptions
- Round-trip engineering with the help of language descriptions