Interconnected Linguistic Architecture

Status
Publishe in the Art, Science, and Engineering of Programming Journal

Authors
Johannes Härtel, Lukas Härtel, Marcel Heinz, Ralf Lämmel, and Andrei Varanovich

Abstract
The context of the reported research is the documentation of software technologies such as object/re- lational mappers, web-application frameworks, or code generators. We assume that documentation should model a macroscopic view on usage scenarios of technologies in terms of involved artifacts, leveraged soft- ware languages, transformation and conformance relationships, I/O behavior, and others. In previous work, we referred to such documentation also as ‘linguistic architecture’. The corresponding models may also be referred to as ‘megamodels’ while adopting this term from the technological space of modeling/model-driven engineering. This work is an inquiry into making such documentation more useful by means of connecting (mega)models, systems, and developer experience in several ways. To this end, we adopt an approach that is primarily based on prototyping (i.e., implementation of a meg- amodeling infrastructure with all conceivable connections) and experimentation with showcases (i.e., docu- mentation of concrete software technologies). The knowledge gained by this research is a notion of interconnected linguistic architecture on the grounds of connecting primary model elements, inferred model elements, static and runtime system artifacts, traceability links, system contexts, knowledge resources, plugged interpretations of model elements, and IDE views. A corresponding suite of aspects of interconnected linguistic architecture is systematically described. As to the grounding of this research, we describe a literature survey which tracks scattered occurrences and thus demonstrates the relevance of the identified aspects of interconnected linguistic architecture. Further, we describe the MegaL/Xtext+IDE infrastructure which realizes interconnected linguistic architecture. The importance of this work lies in providing relatively formal, ontologically rich, navigable, and verifiable documentation of software technologies, thereby helping developers to better understand how to use tech- nologies in new systems (prescriptive mode) or how technologies are used in existing systems (descriptive mode).

Keywords
Documentation. Software technology. Linguistic architecture. Megamodeling. Traceability. Ontology engineering. MegaL. IDE. Xtext.

Downloads and links

Bibtex entry
@article{HaertelHHLV17,
  author    = {Johannes H\"artel and Lukas H\"artel and Marcel Heinz and Ralf L{\"a}mmel and Andrei Varanovich},
  title     = "{Interconnected Linguistic Architecture}",
  year      = {2017},
  journal   = "The Art, Science, and Engineering of Programming Journal",
  volume    = "1",
  issue     = "1",
  note      = "27 pages."
}