Glossary

term definition
Abstraction Level The abstraction level of a concept present in a software language is the amount of detail required to either represent (for data) or execute (for processes) this concept in terms of computer hardware
Abstract Form The abstract form of a linguistic utterance of language L is a labeled graph typed over the abstract syntax model of L
Abstract Syntax The hidden, underlying, unifying structure (Chomsky)
Abstract Syntax Graph An instance of an ASM, which is the internal representation of a LU in a tool
Abstract Syntax Model The abstract syntax model (ASM) of L is a metamodel whose nodes represent the concepts in L and whose edges represent relationships between these concepts
Abstract Syntax Tree A special form of an abstract syntax graph, in which nodes that are references to other nodes, are not connected to the nodes they refer to
Application Represents one or more executable processes generated out of linguistic utterances of one or more software languages. Synonym for software system
Concrete Form The concrete form of a linguistic utterance of language L is a labeled graph typed over the concrete syntax model of L
Concrete Syntax Model The concrete syntax model (CSM) of L is a metamodel whose nodes represent elements that can be materialized to the human senses and whose edges represent spatial relationship between these elements
Formalism A language that is used to express (parts of) the language specification
Graphical Language A language whose primary concrete syntax is graphical
Instance An instance of a model M is a labeled graph that can be typed over the type graph of M and satisfies all the constraints in M's constraint set
Labeled Graph A labeled graph is a combination of a set of nodes, which may include data values, a set of edges, a source function from edges to nodes, which gives the source node of an edge, a target function from edges to nodes, which gives the target node of an edge, a labeling function from nodes and edges to identifiers, an indexing function from edges to positive natural numbers
Language A language L is a set of linguistic utterances
Language Specification A language specification of langauge L is the set of rules according to which the linguistic utterances of L are structured, optionally combined with a description of the intended meaning of the linguistic utterances
Linguistic Utterance A linguistic utterance belongs to language L when (1) both its concrete and its abstract forms are instances of (one of) the concrete syntax model(s) and the abstract syntax model, respectively, and(2) there exists a transformation from the conrete form into the abstract form. In natural language research a linguistic utterance represents any expression in a certain language (for instance a word, a sentence, a conversation)
Metamodel A metamodel is a model used to specify a language
Model A model is a combination of a type graph and a set of constraints of various types
Model A linguistic utterance of a modeling language (usually a graphical/visual software language like UML)
Model Transformation A model transformation is a function from abstract syntax models I1,..,In to abstract syntax models O1,..,Om
Platform A platform is the combination of a language specification, predefined types, predefined instances, and patterns, which are the additional concepts and rules needed to use the capabilities of the other three elements
Semantic Description A description of the semantics of a language L is a means to communicate a subjective understanding of the linguistic utterances of L to another person or persons
Program A linguistic utterance of a textual software language (for example a programming language like Java)
Semantic Domain Model A metamodel that specifies part of the meaning of linguistic utterances in a language, in particular the static struture that is described by the linguistic utterance
Serialization Syntax A type of concrete syntax that is used to store a linguistic utterance and/or interchange a linguistic utterance between a number of tools
Software Language An artificial language that is created to describe and/or create software systems
Source Code A linguistic utterance of a programming language
Syntax mapping A transformation between an ASM of a language and one of the language's CSM that transforms an abstract form of a LU into its concrete form and vice versa
Textual Language A language whose primary concrete syntax is textual
Type Graph A type graph is a combination of a set of nodes which may include data types, a set of edges, a source function from edges to nodes, which gives the source nod of an edge, a target function from edges to nodes, which gives the target node of an edge, an inheritance relationship between nodes (a reflexive partial ordering)