Download presentation
Presentation is loading. Please wait.
Published byMyron Hardy Modified over 9 years ago
1
Parastoo Mohagheghi 1 A Multi-dimensional Framework for Characterizing Domain Specific Languages Øystein Haugen Parastoo Mohagheghi SINTEF, UiO 21 October 2007
2
Parastoo Mohagheghi 2 Background MODELPLEX (MODELing solution for comPLEX software systems) is an EU FP6 research project from 2006 to 2010. URL: www.modelplex.org In the model engineering work packages, we have a task on “language engineering” with the objective to establish guidelines for creating DSLs to handle complex systems. The ultimate success criterion for a DSL is whether the usage of it produces good products. It is also possible to harvest empirics from the product design process. But is it possible to give a fruitful evaluation of the DSL only by assessing the language itself?
3
Parastoo Mohagheghi 3 The selected approach A structured questionnaire where the intention is to characterize existing languages or guide design of future languages. Languages are characterized: Separately, In combination with other languages but till at one point in time, Over time. The assessors will give a value between 0 (min) and 10 (max) and up to 3 extra points to each question, thus defining the relative importance of the dimension in the domain in question. The questionnaire was designed for evaluating GPLs and relations to DSLs is discussed.
4
Parastoo Mohagheghi 4 Characteristics of one language at one point in time Expressiveness is about how well a language captures the concepts or reflects them, creates identities or destroys them, or organize them in layers. The MAGIC from OO languages. Transparency is about the relation between the language and the humans. How easy is the language to use and to understand? How distinct are constructs or how much the model is similar to the system? Does reasoning need the whole model? Formalization is the relation between the language and a semantic base (semantic model). A reasonably precise semantics is the prerequisite for a number of desirable properties such as executability, collecting automated metrics and model checking. Is static analysis possible? Is the language executable?
5
Parastoo Mohagheghi 5 Characteristics of several languages combined Integrability is about the integration of languages that are used to model a system. One approach to integration is to combine several languages into one superlanguage. To exchange information between the sub-models we may define a common exchange format with its own formal semantics. The third apptoach is metamodel transformation: the metamodels are specified, as well as the transformational relationships between them in a suitable formal language. The advantage is the possibility to combine and compare languages. The metamodels are used to define a root metamodel. Traceability: When we describe systems where the sub-systems are made in different languages, it is practical to keep close control over associations between entities in one sub-model with entities in another. Is it possible to define inter langauge relations?
6
Parastoo Mohagheghi 6 Characteristics of language evolution over time Maintainability: How is the language maintained? Is there a group of people or institutions that take that responsibility? Standardization bodies Language specific tools Extendability: Does language have means to extend it? Is it possible to restrict the language? Scalability: Scalability is the ability to work well with small models as well as big and gigantic models. Does the performance degrades in case of execution?
7
Parastoo Mohagheghi 7 QuestionMinMax Transparency 17. SyntaxCounterintuitive syntax Different things are described differently. Similar things similarly. Intuitive symbols. 18. Descriptions vs. runtime Running system bears no resemblance to model Running system has a structure similar to that of the description 19. LocalityReasoning always need the whole model Understanding can be achieved for small units at the time 20. History dependence Execution can be understood only if the whole history is known Situation can be understood with a minimum of knowledge of earlier execution. 21. Educational prerequisite Unclear what knowledge is needed Well defined educational requirements. Otherwise intuitive. 22. EfficiencyNot importantIt should be time-efficient to create or update a model Formalization 23. Static analysisNot even syntax analysis possible Syntax rules are well-defined and so are the well-formedness rules 24. ExecutabilityNot executableExecutable
8
Parastoo Mohagheghi 8 Characteristics of DSLs An important criterion is domain-appropriateness: A DSL must be powerful enough to capture the major domain concepts and should match the mental representation of the domain. The language should be formal and accurate for execution and code generation. There may be a need for integration between several DSLs used to model a system. Any DSL with a diagrammatical syntax should have proper layout, allowing easy distinction between concepts. Finally creating a DSL should be cost-effective. They should increase productivity of users.
9
Parastoo Mohagheghi 9 Discussion The advantages: The questionnaire can be applied at the early stage of product development. Other approaches such as extracting metrics of the metamodel need establishing associations between such metrics and language or model characteristics, or the ease of working with a language. Examples are metrics of size (number of concepts, their relations or terminal nodes vs. non-terminal nodes). We can also evaluate characteristics of the produced products such as LOC generated or time needed to define the model. The questions are defined based on experience and literature review. They may be modified after evaluation.
10
Parastoo Mohagheghi 10 Ideas for future work New questions: Domain suitability: Is the language adapted or developed for the specific domain? Determinism: Does the language allows developing several models of a system or a single one? Views: Are there several views of a system? Are there relations between views? UI: Is the UI easy to use? Tools: Does libraries and debuggers exist? Developing a framework that relates the questions or possible metrics to different quality characteristics. Questions?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.