TY - JOUR
T1 - Interconnected Linguistic Architecture
AU - Härtel, Johannes
AU - Härtel, Lukas
AU - Heinz, Marcel
AU - Lämmel, Ralf
AU - Varanovich, Andrei
PY - 2017
Y1 - 2017
N2 - The context of the reported research is the documentation of software technologies such as object/relational 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 software 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/modeldriven 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 megamodeling infrastructure with all conceivable connections) and experimentation with showcases (i.e., documentation 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 technologies in new systems (prescriptive mode) or how technologies are used in existing systems (descriptive mode).
AB - The context of the reported research is the documentation of software technologies such as object/relational 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 software 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/modeldriven 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 megamodeling infrastructure with all conceivable connections) and experimentation with showcases (i.e., documentation 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 technologies in new systems (prescriptive mode) or how technologies are used in existing systems (descriptive mode).
UR - http://www.scopus.com/inward/record.url?scp=85041436759&partnerID=8YFLogxK
U2 - 10.22152/programming-journal.org/2017/1/3
DO - 10.22152/programming-journal.org/2017/1/3
M3 - Article
SN - 2473-7321
VL - 1
JO - Art, Science, and Engineering of Programming
JF - Art, Science, and Engineering of Programming
IS - 1
ER -