National Research University Higher School of Economics Perm

  • Slides: 74
Download presentation
National Research University Higher School of Economics Perm Branch, Russia An Approach to Modelling

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Thank you! ? ? ? Varna 2014 74