Ryan J. Kung ryankung(at)ieee.org
We perfer to use DSLs is addressing that in model complete therory and definition of DSLs , it is a more concrete and direct way for doing modeling ...
Ryan J. Kung ryankung(at)ieee.org
We perfer to use DSLs is addressing that in model complete therory and definition of DSLs , it is a more concrete and direct way for doing modeling better, because iffiff a model MM is model complete, it is equalize to the DSLDSL of that Model.
There are two main schools of DSLs: internalinternal and externalexternal DSLs. The concrete syntaxconcrete syntax defines the notation with wihich users can express programs.
A DSL or GPL may include follow ingredients:
abstract syntaxabstract syntax
which is a data structure that can hold the semantically relevant information express by a program.
static semanticsstatic semantics
Which Of language are the set of constraints and/or type system rules to which programs have to conform.
Which refers to the meaning of a program once it is execuded. It is realized using the execution engineexecution engine .
Modeling, and Model Complete
There are two ways in which the term modeling can be understood: descriptive and preciptive . A descriptive model represent an existing system Thus a presciptive model is one that can be used to construct the target system. In DSL engineering, we always mean prescriptive models when we use the term model.
In model theory, a first-order theory is called model complete if every embedding of models is an elementary embedding. Equivalently, every first-order formula is equivalent to a universal formula.
A companion of a theory TT is a theory T∗T∗ such that every model of TT can be embedded in a model of T∗T∗ and vice versa.
A model companion of a theory TT is a companion of TT that is model complete. RobinsonRobinson proved that a theory has at most one model companion.
A model completion for a theory TT is a model companion T∗T∗ such that for any model MM of TT , the theory of T∗T∗ together with the diagram of MM is complete. Roughly speaking, this means every model of TT is embeddable in a model of T∗T∗ in a unique way.
GPL and Turing Complete
We known that the GPL is always Turing Complete . Turing Complete is means that a GPL it can be used to simulate any single-taped Turing machine. Turing Complete is actualy a preciptive model of Turing Machine .
Domains and Model complete
When we said that a language ll covers a subset of PP , we can simply call this subset the domaindomain covered with ll . The subset of PP in that domain PDPD is equal to the subset of PP we can express with a language ll PlPl . So, we cannot ask a question like: “Does the language adequately cover the domain?”, since it always does, by definition . And the definition can be also interept as that “ DSL is always model complete, by definition ”
A DSL might be eighter incomplete-DSL or complete-DSL , is determined by Completeless which is refers and only refers to the degree to which a language LL can express programs that contain all necessary information to execute them. An program express in an incomplete DSL requires additional specifications (such as configuation files or code written in a lower-level language) to make it executable.
DSL Engineering, Designing, Implementing and Using Domain-Specific Languages, Markus Voelter, dslbook.org, ch 2.1
DSL Engineering, Designing, Implementing and Using Domain-Specific Languages, Markus Voelter, dslbook.org, ch 3.1
DSL Engineering, Designing, Implementing and Using Domain-Specific Languages, Markus Voelter, dslbook.org, ch 4.5
 Chang, Chen Chung; Keisler, H. Jerome (1990) , Model Theory, Studies in Logic and the Foundations of Mathematics (3rd ed.), Elsevier, ISBN 978-0-444-88054-3