National Research University Higher School of Economics Perm
- Slides: 74
National Research University Higher School of Economics Perm Branch, Russia An Approach to Modelling with Meta. Language DSM-platform Alexander Sukhov Anna Lubiagina Lyudmila Lyadova Varna 2014
Contents 1. Modelling tasks, languages and tools: • Models design and analysis. • Domain specific modelling, language toolkits and meta-modelling. • DSM-platform as a basis of systems integration. 2. Meta. Language System: • • System Architecture and Functioning scheme. Meta-models (DSLs – Domain Specific Modelling Languages) Development. Models Design. Models Transformation. 3. Examples of Modeling and Models Transformations: • Simulation of Queuing System. • Complex Informational and Analytical System Design. Varna 2014 2
3 1. Modelling tasks, languages and tools: Models design and analysis Information and analytical systems are created with technologies, based on the models (MDA, MDE, MBD, MCE, …). Model is a formal description of any system, created with modelling tools, based on use of special modelling languages. Modelling is • process of model creation by system analysts, developers or • model analysis by business analysts, experts in domains. These tasks request different types of models and different tools to design formal descriptions and to analyze systems with use of created abstract models. Reusing created models is the way to reduce complexity of system development and analysis. Varna 2014 3
4 1. Modelling tasks, languages and tools: Models design and analysis Model-centric development of information systems is based on the end-to-end use of formal models in the system life-cycle. Various visual and textual languages are widely used at the information systems development to create models, describing system in design from different points of view and on different abstraction levels. One of the goals of system design is to model a system in such a way that it is easily understandable, compassable and manipulable. For adjustment and assembling of various system descriptions it is necessary to construct the whole hierarchy of models: model, metametamodel, etc. , where • model is an abstract description of the system characteristics that are important from the point of view of the modeling purpose; • metamodel is a language, used for the model development; • meta-metamodel (meta-language) is a language for the meta-model (language) description. Varna 2014 4
5 1. Modelling tasks, languages and tools: Domain specific modelling, language toolkits and meta-modelling Vertical transformations Horizontal transformations Varna 2014 5
6 1. Modelling tasks, languages and tools: Domain specific modelling, language toolkits and meta-modelling Horizontal transformation to export model Repository Varna 2014 XML-file Repository 6
7 1. Modelling tasks, languages and tools: Domain specific modelling, language toolkits and meta-modelling There are implementations of model-driven approach with use the general purpose languages for modeling of systems (UML-based approach). So, a modeling language UML with the standard Meta-Object Facility (MOF) forms a basis of the MDA (Model Driven Architecture). But the general-purpose modeling languages have some restrictions: • UML diagrams are complicated for understanding not only for experts in domain of system, but in some cases even for professional developers, specialists in information technologies (IT); • UML diagrams cannot adequately represent domain concepts, since modeling is being done in terms “class”, “association”, “aggregation”, etc. , rather than in domain terms. Varna 2014 7
8 1. Modelling tasks, languages and tools: Domain specific modelling, language toolkits and meta-modelling Issues: • Domain specifics is not reflected in the general-purpose languages: languages operate not with domain terms, but with low-level constructions of development tool. • Invariability of modeling languages: languages do not allow to change their description. • Problem of created models transformation: there is not possibility to convert model from one notation to another. • Complexity of created systems modification: modification of system is possible only by professional developers, programmer with use of development tools and source code. Varna 2014 8
9 1. Modelling tasks, languages and tools: Domain specific modelling, language toolkits and meta-modelling The experts from different areas (system developers, domain experts, analysts) are attracted to models creation and research. In these conditions the tools of domain-specific modeling (DSM) should be used. Unlike general purpose modeling languages domain-specific modeling languages (DSMLs, DSLs) are • more expressive, • simple in applying and • easy to understand for different categories of users as they operate with domain terms. To support the process of development and maintenance of DSMLs the special type of software – language workbench (DSM platform) – is used. Varna 2014 9
10 1. Modelling tasks, languages and tools: Domain specific modelling, language toolkits and meta-modelling The domain-specific language (DSL) is the language, designed for use in a particular domain. The language used to create other languages is called the metalanguage. DSLs are easy to apply and understand for users as they operate with domain terms. The language workbench or DSM-platform is the instrumental software intended to support development and maintenance of DSLs: • Meta. Edit+; • Microsoft DSL Tools; • Eclipse Graphical Modeling Framework; • Meta Programming System; • QReal; • State Machine Designer; • UFO-toolkit… Varna 2014 10
11 1. Modelling tasks, languages and tools: Domain specific modelling, language toolkits and meta-modelling Meta. Edit+ Varna 2014 Eclipse GMF Microsoft DSL Tools Meta Programming System 11
12 1. Modelling tasks, languages and tools: Domain specific modelling, language toolkits and meta-modelling Requirements to DSM-platform: • • possibility of modeling languages constructing for a wide range of domains; possibility of multi-level modeling, it allows to modify the metalanguage description, to extend it with new constructions, thus approaching the metalanguage to the specificity of domain; possibility of modification of modeling languages description without regeneration of source code of DSLs editor; automatic support in a consistent state of the metamodels and models description at modification of a metalanguage or a metamodel; uniformity of tools of representation, description and usage as models and metamodels: creation of models at different levels of hierarchy and operation with them should be carried out uniformly, using the same tools; availability of tools for models transformations that allow to convert models as between different levels of the hierarchy, and within the same level (between various modeling languages); usability for various categories of users: professional developers (programmers, system analysts, designers, etc. ), domain experts, end-users. Varna 2014 12
13 1. Modelling tasks, languages and tools: Domain specific modelling, language toolkits and meta-modelling Requirements DSM-platform: Results of comparing Meta. Edit+ DSL Tools Eclipse GMF Modeling wide range of domains + + + Abstract syntax description tools GOPRR MOF Ecore Metalanguage changeability + – – Multi-level modeling + – – Metamodel modification without editor code regeneration + – – Generating artefacts Program code, documentation Program code DSL turning tools – + + Horizontal transformations – – With plug-ins No excess functionality + – – Varna 2014 13
14 1. Modelling tasks, languages and tools: Domain specific modelling, language toolkits and meta-modelling Results of comparing DSM-platform: Requirements QReal Visio Автоматный метод построения DSL Modeling wide range of domains + + + Abstract syntax description tools MOF Class Diagrams (UML) Metalanguage changeability – – – Multi-level modeling – – – Metamodel modification without editor code regeneration – – – Generating artefacts Program code, documentation Program code DSL turning tools + – – Horizontal transformations – – – No excess functionality + – + Varna 2014 14
1. Modelling tasks, languages and tools: DSM-platform as a basis of systems integration 15 CASE-system Developer Meta. Language system Information system End-user Analytical system System analysts Varna 2014 Business analysts 15
1. Modelling tasks, languages and tools: DSM-platform as a basis of systems integration 16 CASE-system System description languages Developer Meta. Language system Information system End-user Analytical system System analysts Varna 2014 Business analysts 16
1. Modelling tasks, languages and tools: DSM-platform as a basis of systems integration 17 CASE-system System description languages Developer Meta. Language system Information system Simulation languages End-user Analytical system System analysts Varna 2014 Business analysts 17
1. Modelling tasks, languages and tools: DSM-platform as a basis of systems integration 18 CASE-system System description languages Developer Meta. Language system Program code Information system Simulation languages End-user Analytical system System analysts Varna 2014 Business analysts 18
1. Modelling tasks, languages and tools: DSM-platform as a basis of systems integration 19 CASE-system System description languages Developer Meta. Language system Program code Information system Simulation languages End-user Logs Analytical system System analysts Varna 2014 Business analysts 19
20 Varna 2014 2. Meta. Language System: System Architecture and Functioning Scheme 20
21 Varna 2014 2. Meta. Language System: System Architecture and Functioning Scheme 21
22 2. Meta. Language System: System Architecture and Functioning Scheme The basic constructions of this metalanguage are: § Entities. § Relations • association; • aggregation; • inheritance. Actor Use Case § Constraints • imposed on the entities; • imposed on the relations. Varna 2014 this. Actors. Count <= 10 22
23 2. Meta. Language System: Meta-models (DSLs) Development – Entity creation form Concrete syntax definition Metalanguage elements Entity Attributes Entity restrictions Graphical editor Varna 2014 23
24 2. Meta. Language System: Meta-models (DSLs) Development – Relation creation Metalanguage elements Relation creation form Concrete syntax definition Relation attributes Varna 2014 Relation restrictions 24
25 2. Meta. Language System: Models Design and Validation Visual model Error messages Varna 2014 25
26 2. Meta. Language System: Models Design Created model can be used as metamodel Varna 2014 26
27 2. Meta. Language System: Models Transformation – Graph Grammar Definition ERD metamodel Left part definition List of rules Varna 2014 27
28 2. Meta. Language System: Models Transformation – Graph Grammar Definition Name of rule Attributes transformation rules Varna 2014 Right part of the rule 28
29 3. Examples of Modeling and Models Transformations: Simulation of Queuing System GPSS DSL Developer Varna 2014 General purpose modeling language (GPSS) Business analysts 29
30 Varna 2014 3. Examples of Modeling and Models Transformations: Simulation of Queuing System – Metamodel 30
31 3. Examples of Modeling and Models Transformations: Simulation of Queuing System – Metamodel Generator is the entity, which is responsible for generation of flow of requests (transactions), expecting service in system. Intervals between requests arrivals are the random variables with a certain distribution Varna 2014 31
32 3. Examples of Modeling and Models Transformations: Simulation of Queuing System – Metamodel Queue is the entity, representing set of requests, which expects service Varna 2014 32
33 3. Examples of Modeling and Models Transformations: Simulation of Queuing System – Metamodel Servicing device is the entity, which is responsible for service of requests Varna 2014 33
34 3. Examples of Modeling and Models Transformations: Simulation of Queuing System – Metamodel Separator is the entity, allowing to create multiple copies of a request, each of which will claim of service Varna 2014 34
35 3. Examples of Modeling and Models Transformations: Simulation of Queuing System – Metamodel Collector is the entity, allowing to integrate multiple flows of requests into a single flow Varna 2014 35
36 3. Examples of Modeling and Models Transformations: Simulation of Queuing System – Metamodel Terminator is the entity, deleting transactions from model Varna 2014 36
37 3. Examples of Modeling and Models Transformations: Simulation of Queuing System – Metamodel Distribution is the entity, which is parent for the entities “Normal distribution”, “Uniform distribution”, “Student’s distribution”, etc. Varna 2014 37
38 Varna 2014 3. Examples of Modeling and Models Transformations: Simulation of Queuing System – Model 38
39 3. Examples of Modeling and Models Transformations: Simulation of Queuing System – Model Transformation An example of “Model-Text” transformation rule: GENERATE (NORMAL(1, <<Normal distribution. Expected value>>, <<Normal distribution. Variance>>)), , <<Generator. Initial delay>>, <<Generator. Amount of transactions>>, <<Generator. Priority>> Varna 2014 39
40 3. Examples of Modeling and Models Transformations: Simulation of Queuing System – Model Transformation An example of “Model-Text” transformation rule: QUEUE <<Queue. Name>> SEIZE <<Servicing device. Name>> DEPART <<Queue. Name>> ADVANCE (NORMAL(1, <<Normal distribution. Expected value>>, <<Normal distribution. Variance>>)) RELEASE <<Servicing device. Name>> Varna 2014 40
41 3. Examples of Modeling and Models Transformations: Simulation of Queuing System – Model Transformation After applying of the described transformation to the model the Meta. Language system has generated the following code in GPSS language: Varna 2014 GENERATE (UNIFORM(1, 2, 8)), , 20, 100, 1 QUEUE QQ 1 SEIZE SD 1 DEPART QQ 1 ADVANCE (NORMAL(1, 3, 1)) RELEASE SD 1 QUEUE QQ 2 SEIZE SD 2 DEPART QQ 2 ADVANCE (NORMAL(1, 3, 1)) RELEASE SD 2 SPLIT 1, QQ 4 QUEUE QQ 3 SEIZE SD 3 DEPART QQ 3 ADVANCE (NORMAL(1, 3, 1)) RELEASE SD 3 QUEUE QQ 4 SEIZE SD 4 DEPART QQ 4 ADVANCE (UNIFORM(1, 2, 8)) RELEASE SD 4 ASSEMBLE 2 TERMINATE 1 41
42 3. Examples of Modeling and Models Transformations: Simulation of Queuing System – New level Metamodel of DSL – the second level: Varna 2014 42
43 3. Examples of Modeling and Models Transformations: Simulation of Queuing System – New level Model in new DSL: Varna 2014 43
44 3. Examples of Modeling and Models Transformations: Complex Informational and Analytical System Design The task of monitoring of enterprises by the Central National Bank is based on the heterogeneous information collection from different sources Varna 2014 44
45 3. Examples of Modeling and Models Transformations: Complex Informational and Analytical System Design Data analysis in these conditions is the difficult task… Varna 2014 45
46 3. Examples of Modeling and Models Transformations: Complex Informational and Analytical System Design The Complex Informational and Analytical System is developed by IT-department of the Central National Bank to solve this problem… Varna 2014 46
47 3. Examples of Modeling and Models Transformations: Complex Informational and Analytical System Design CIAS – Complex Informational and Analytical System “Pilot” subsystems Heterogeneous subsystems of CIAS Varna 2014 47
48 3. Examples of Modeling and Models Transformations: Complex Informational and Analytical System Design System analysts need an organizational and technological infrastructure for the business processes design and modelling: Domain Models Domain Specific Modelling Languages General Purpose Modelling Language Data from enterprises Varna 2014 Models design on the bases of collected data ? Registration documents, primary information on enterprises, analytical materials, reports (statistical, bookkeeper's, etc. ) and so on… 48
49 3. Examples of Modeling and Models Transformations: Complex Informational and Analytical System Design System analysts need an organizational and technological infrastructure for the business processes design and modelling: Domain Models Domain Specific Modelling Languages General Purpose Modelling Language The basis (universal language) for all DSLs design Data from enterprises Varna 2014 49
50 3. Examples of Modeling and Models Transformations: Complex Informational and Analytical System Design System analysts need an organizational and technological infrastructure for the business processes design and modelling: Domain Models Domain Specific Modelling Languages Domain specific languages for the subsystems modelling General Purpose Modelling Language The basis (universal language) for all DSLs design Data from enterprises Varna 2014 50
51 3. Examples of Modeling and Models Transformations: Complex Informational and Analytical System Design System analysts need an organizational and technological infrastructure for the business processes design and modelling: Domain Models Visual and textual models of business processes in different domains Domain Specific Modelling Languages Domain specific languages for the subsystems modelling General Purpose Modelling Language The basis (universal language) for all DSLs design Data from enterprises Varna 2014 51
52 3. Examples of Modeling and Models Transformations: Complex Informational and Analytical System Design System analysts need an organizational and technological infrastructure for the business processes design and modelling: Domain Models Domain Specific Modelling Languages General Purpose Modelling Language Due to the DSM platform • modelling does not depend on implementation tools; • developers and domain experts “speak” in the same language Data from enterprises Varna 2014 52
53 3. Examples of Modeling and Models Transformations: Complex Informational and Analytical System Design Models, created with GPL (General Purpose Language) and DSL (Domain Specific Language), are shown below: AS-IS in GPL Varna 2014 AS-TO-BE in DSL IDEF 0 model GPL meta-model Interaction Diagrams Domain specific meta-models Use-case diagrams Visual domain models 53
54 Varna 2014 3. Examples of Modeling and Models Transformations: Complex Informational and Analytical System Design – As-Is Model 54
55 3. Examples of Modeling and Models Transformations: Complex Informational and Analytical System Design with DSL Functional Integration Systems integration on the level of business logics Varna 2014 Model Driven Engineering Systematical using of models as the main artefacts at the whole life cycle of information systems Domain Specific Language Formalization of requirements, applications structure and behavior corresponding to domain 55
56 Varna 2014 3. Examples of Modeling and Models Transformations: Complex Informational and Analytical System Design – Simplified Conceptual Model 56
57 Varna 2014 3. Examples of Modeling and Models Transformations: Complex Informational and Analytical System Design – As-To-Be: simplified GPL meta-model in UML 57
58 Varna 2014 3. Examples of Modeling and Models Transformations: Complex Informational and Analytical System Design – As-To-Be: simplified DSL meta-model in UML 58
59 Varna 2014 3. Examples of Modeling and Models Transformations: Complex Informational and Analytical System Design – As-To-Be: simplified GPL meta-model in Meta. Language 59
60 Varna 2014 3. Examples of Modeling and Models Transformations: Complex Informational and Analytical System Design – As-To-Be: requisition execution model in GPL 60
61 Varna 2014 3. Examples of Modeling and Models Transformations: Complex Informational and Analytical System Design – As-To-Be: simplified DSL meta-model in Meta. Language 61
62 Varna 2014 3. Examples of Modeling and Models Transformations: Complex Informational and Analytical System Design – As-To-Be: requisition execution model in DSL 62
63 3. Examples of Modeling and Models Transformations: Complex Informational and Analytical System Design – As-To-Be: model transformation It is necessary to transform created models to transfer them to external systems (to developers for implementation of target system (for data and code generation)): Step 1: Target modeling language meta-model design. Step 2: Transformation rules definition. Varna 2014 63
64 3. Examples of Modeling and Models Transformations: Complex Informational and Analytical System Design – As-To-Be: model transformation It is necessary to transform created models to transfer them to external systems (to developers for implementation of target system (for data and code generation)): Step 1: Target modeling language meta-model design. Step 2: Transformation rules definition. Activity Diagram meta-model Varna 2014 64
65 3. Examples of Modeling and Models Transformations: Complex Informational and Analytical System Design – As-To-Be: model transformation It is necessary to transform created models to transfer them to external systems (to developers for implementation of target system (for data and code generation)): Step 1: Target modeling language meta-model design. Step 2: Transformation rules definition (some examples): Varna 2014 65
66 3. Examples of Modeling and Models Transformations: Complex Informational and Analytical System Design – As-To-Be: model transformation The result of transformation of the requisition execution model from DSL to UML: Varna 2014 66
67 3. Examples of Modeling and Models Transformations: Complex Informational and Analytical System Design – As-To-Be: model transformation The result of transformation of the requisition execution model from DSL to UML: Varna 2014 67
68 3. Examples of Modeling and Models Transformations: Complex Informational and Analytical System Design – As-To-Be: model transformation The result of transformation of the requisition execution model from DSL to UML: Varna 2014 68
69 3. Examples of Modeling and Models Transformations: Complex Informational and Analytical System Design – As-To-Be: model transformation It is necessary to transform created models to transfer them to external systems (to developers for implementation of target system (for data and code generation)): Step 1: Target modeling language meta-model design: Step 2: Transformation rules definition (some examples) ER-Diagram metamodel Varna 2014 69
70 3. Examples of Modeling and Models Transformations: Complex Informational and Analytical System Design – As-To-Be: model transformation ER-Diagram meta-model Restrictions on the pattern occurrences: • • Entity Relation 1 М С. Связь. Кратность = 1: М AND С. Связь. Имеет. Атрибут = False • Relation М 1 С. Связь. Кратность = M: 1 AND С. Связь. Имеет. Атрибут = False • Relation ММ С. Связь. Кратность = M: 1 OR C. Связь. Кратность = 1: 1 OR С. Связь. Имеет. Атрибут = True • • Varna 2014 Inheritance Attribute 70
71 3. Examples of Modeling and Models Transformations: Complex Informational and Analytical System Design – As-To-Be: model transformation The result of transformation of the requisition execution model to ERD notation: Varna 2014 71
72 3. Examples of Modeling and Models Transformations: Complex Informational and Analytical System Design – As-To-Be: model transformation The result of transformation of the requisition execution model to ERD notation: CREATE TABLE СКИФ-Информ (id INTEGER primary key) CREATE TABLE СКИФ-Аналитик (id INTEGER primary key) CREATE TABLE Гетерогенная система (id INTEGER primary key) CREATE TABLE Графики сбора анкет (id INTEGER primary key) CREATE TABLE Заявка НБ ТУ (id INTEGER primary key) CREATE TABLE Запрос (id INTEGER primary key) CREATE TABLE Сотрудник СМП уровня ТУ (id INTEGER primary key) CREATE TABLE Информация о предприятиях (id INTEGER primary key) CREATE TABLE Материалы к заслушиваниям (id INTEGER primary key) CREATE TABLE Сотрудник СМП уровня ДБН (id INTEGER primary key) CREATE TABLE Сотрудник службы эксплуатации (id INTEGER primary key) ALTER TABLE СКИФ-Информ ADD Гетерогенная система. ID INTEGER ALTER TABLE СКИФ-Информ ADD FOREIGN KEY (Гетерогенная система. ID) REFERENCES Гетерогенная система (id) ALTER TABLE СКИФ-Аналитик ADD Гетерогенная система. ID INTEGER ALTER TABLE СКИФ-Аналитик ADD FOREIGN KEY (Гетерогенная система. ID) REFERENCES Гетерогенная система (id) Varna 2014 72
Conclusion The Meta. Language system allows developing the visual languages with a possibility of modification of language description at runtime without regeneration of source code of DSMLs editor. For creation meta-models and models the uniform user interface is used. This interface does not make high requirements to the user’s skill level. It provides the opportunity to work with the language workbench not only to IT professionals, but also to domain experts. This system supports flexible customizing of modeling tools at model design and analysis. Now approaches to DSL design automation are studied. Varna 2014 73
Thank you! ? ? ? Varna 2014 74
- Perm polytechnic university
- Perm national research polytechnic university
- Maastricht university economics and business economics
- Tsinghua school of economics and management
- Novosibirsk national research state university
- National research university of electronic technology
- Polytechnic
- Seoul national university college of medicine
- Objectives of teaching economics at higher secondary level
- Non mathematical economics
- National higher education strategic plan
- Trias jura kreda
- Brick winding perm
- Chemical texture
- Nude colour code
- Basic permanent wrap
- Low ph alkaline waves have a ph of
- Nude colour code
- Advanced dc motors inc
- Perm past tense
- Region perm
- Perm 101
- Albers school of business and economics
- University of waterloo economics
- Faculty of business and economics mendel university in brno
- Bme gtk neptun
- Budapest university of technology and economics rector
- Bme 1782
- Erasmus university rotterdam economics
- Vladivostok state university of economics and service
- Royal university of law and economics
- University of debrecen faculty of economics and business
- Central university of finance and economics
- Royal university of law and economics
- Faculty of business and economics mendel university in brno
- Prague finance institute
- Advanced higher modern studies essay structure
- Writing tips for economics research papers
- Research methodology in applied economics
- Extended essay economics examples
- Olcott memorial higher secondary school
- Higher school of nursing of lisbon
- National unification and the national state
- Gehol ulb
- Tallinn school of economics
- Roma school of economics (tor vergata)
- Economics syllabus high school
- Paris school of economics ape
- It is my favourite subject
- Master pdd
- Paris school of economics ape
- Tasmanian school of business and economics
- Gmail
- Chernivtsi national university
- Kyiv national university of culture and arts
- National university of tainan
- Lviv polytechnic university
- Donetsk technical university
- Btsau
- Jehee
- Seoul national university computer science
- M.gorky donetsk national medical university
- Pusan national university uniform
- National technical university kharkiv polytechnic institute
- National and kapodistrian university of athens events
- National virtual university
- Tsnuk
- National university
- National university
- National tsinghua university
- National university of malaysia
- Mongolian national university of medical sciences
- Ntu ce
- Seoul national university events
- National yunlin university of science and technology