Varna 2014
National Research University Higher School of EconomicsPerm Branch, Russia
A n A p p r o a c h t o M o d e l l i n g with MetaLanguage DSM-platform
Alexander Sukhov Anna Lubiagina
Lyudmila Lyadova
Contents
2Varna 2014
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. MetaLanguage 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.
1. Modelling tasks, languages and tools:Models design and analysis
3Varna 2014
3
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, developersor• 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.
1. Modelling tasks, languages and tools:Models design and analysis
4Varna 2014
4
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, metamodel, meta-metamodel, 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.
1. Modelling tasks, languages and tools:Domain specific modelling, language toolkits and meta-modelling
5Varna 2014
5
Vertical transformation
s
Data
Meta-metamodel 1
Metamodel 1 Metamodel 2 Metamodel L...
Meta-metamodel K
Model 1 Model 2 Model M
is_instance is_instance is_instance
is_instance is_instance is_instance
...
Data 1 Data 2 Data N
is_instance is_instance is_instance
...
Domain model
Metamodel
Meta-metamodel
Data 3
is_instance
...
Horizontaltransformation
s
1. Modelling tasks, languages and tools:Domain specific modelling, language toolkits and meta-modelling
6Varna 2014
6
RepositoryRepositoryXML-file
Имеет сайт
Название издательства
Издательство
Год издания
Адрес
URL
Номер паспорта
Имя автора
Web-сайт
Книга Автор
Человек
Издать
Написана
ММ
1
М
М М
Является
-Название
Издательство
-Год издания
Книга
-URL
Web-сайт
Автор
-ФИО-Номер паспорта-Адрес
Человек
* *
* *
1
*
Horizontal transformation to export model
1. Modelling tasks, languages and tools:Domain specific modelling, language toolkits and meta-modelling
7Varna 2014
7
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.
1. Modelling tasks, languages and tools:Domain specific modelling, language toolkits and meta-modelling
8Varna 2014
8
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.
1. Modelling tasks, languages and tools:Domain specific modelling, language toolkits and meta-modelling
9Varna 2014
9
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.
1. Modelling tasks, languages and tools:Domain specific modelling, language toolkits and meta-modelling
10Varna 2014
10
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:
• MetaEdit+;
• Microsoft DSL Tools;
• Eclipse Graphical Modeling Framework;
• Meta Programming System;
• QReal;
• State Machine Designer;
• UFO-toolkit…
1. Modelling tasks, languages and tools:Domain specific modelling, language toolkits and meta-modelling
11Varna 2014
11
Meta Programming System
Microsoft DSL Tools
Eclipse GMF
MetaEdit+
1. Modelling tasks, languages and tools:Domain specific modelling, language toolkits and meta-modelling
12Varna 2014
12
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.
1. Modelling tasks, languages and tools:Domain specific modelling, language toolkits and meta-modelling
13Varna 2014
13
Results of comparing DSM-platform:Requirements MetaEdit+ 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 artefactsProgram code, documentation
Program code Program code
DSL turning tools – + +
Horizontal transformations – – With plug-ins
No excess functionality + – –
1. Modelling tasks, languages and tools:Domain specific modelling, language toolkits and meta-modelling
14Varna 2014
14
Results of comparing DSM-platform:Requirements QReal Visio Автоматный метод
построения DSL
Modeling wide range of domains + + +
Abstract syntax description tools MOF Class Diagrams (UML)
Class Diagrams (UML)
Metalanguage changeability – – –
Multi-level modeling – – –
Metamodel modification without editor code regeneration
– – –
Generating artefacts Program codeProgram code, documentation
Program code
DSL turning tools + – –
Horizontal transformations – – –
No excess functionality + – +
1. Modelling tasks, languages and tools:DSM-platform as a basis of systems integration
15Varna 2014
15
MetaLanguage system
CASE-system
Information system
Analytical system
System analysts
Business analysts
End-user
Developer
1. Modelling tasks, languages and tools:DSM-platform as a basis of systems integration
16Varna 2014
16
MetaLanguage system
CASE-system
Information system
Analytical system
System analysts
Business analysts
End-user
Developer
System description languages
1. Modelling tasks, languages and tools:DSM-platform as a basis of systems integration
17Varna 2014
17
MetaLanguage system
CASE-system
Information system
Analytical system
System analysts
Business analysts
End-user
Developer
System description languages
Simulation languages
1. Modelling tasks, languages and tools:DSM-platform as a basis of systems integration
18Varna 2014
18
MetaLanguage system
CASE-system
Information system
Analytical system
System analysts
Business analysts
End-user
Developer
System description languages
Simulation languages
Program code
1. Modelling tasks, languages and tools:DSM-platform as a basis of systems integration
19Varna 2014
19
MetaLanguage system
CASE-system
Information system
Analytical system
System analysts
Business analysts
End-user
Developer
System description languages
Simulation languages
Program code
Logs
2. MetaLanguage System:System Architecture and Functioning Scheme
20Varna 2014
20
Entity creation/
modification
Metamodel creation/modificationSpecifying the relationships
between entities
Set constraints imposed on metamodel
Entities instances creation/modification
Model creation/modification
Relationships instances creation/modification
Checking of constraints imposed on entities
Validation
Checking of constraints imposed on relationships
Transformation
Description of model transformation
Execution of model transformation
2. MetaLanguage System:System Architecture and Functioning Scheme
21Varna 2014
21
Main developer
Main developer
Main developer
Main developer
Assistant
Development of DSL
Modification of DSL’s description
Models creation and transformation
Assistant
IT-specialist
Domain expert
End-user
2. MetaLanguage System:System Architecture and Functioning Scheme
22Varna 2014
22
The basic constructions of this metalanguage are: Entities. Relations
• association;• aggregation;• inheritance.
Constraints• imposed on the entities;• imposed on the relations.
Actor Use Case
this.Actors.Count <= 10
2. MetaLanguage System:Meta-models (DSLs) Development – Entity creation
23Varna 2014
23
Entity creation form
Graphical editor
Metalanguage elements
Concrete syntax
definition Entity Attributes
Entity restrictions
2. MetaLanguage System:Meta-models (DSLs) Development – Relation creation
24Varna 2014
24
Relation creation
form
Metalanguage elements
Concrete syntax
definition
Relation attributes
Relation restrictions
2. MetaLanguage System:Models Design and Validation
25Varna 2014
25
Error messages
Visual model
2. MetaLanguage System:Models Design
26Varna 2014
26
Created model can be used as
metamodel
2. MetaLanguage System:Models Transformation – Graph Grammar Definition
27Varna 2014
27
Left part definition
List of rules
ERD metamodel
2. MetaLanguage System:Models Transformation – Graph Grammar Definition
28Varna 2014
28
Name of rule
Right part of the rule
Attributes transformation rules
3. Examples of Modeling and Models Transformations: Simulation of Queuing System
29Varna 2014
29
General purpose modeling language(GPSS)
DSL
GPSS DSL
DeveloperBusiness analysts
3. Examples of Modeling and Models Transformations: Simulation of Queuing System – Metamodel
30Varna 2014
30
3. Examples of Modeling and Models Transformations: Simulation of Queuing System – Metamodel
31Varna 2014
31
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
3. Examples of Modeling and Models Transformations: Simulation of Queuing System – Metamodel
32Varna 2014
32
Queue is the entity, representing set of requests, which expects
service
3. Examples of Modeling and Models Transformations: Simulation of Queuing System – Metamodel
33Varna 2014
33
Servicing device is the entity, which is responsible for service
of requests
3. Examples of Modeling and Models Transformations: Simulation of Queuing System – Metamodel
34Varna 2014
34
Separator is the entity, allowing to create multiple copies of a
request, each of which will claim of service
3. Examples of Modeling and Models Transformations: Simulation of Queuing System – Metamodel
35Varna 2014
35
Collector is the entity, allowing to integrate multiple flows of requests into a single flow
3. Examples of Modeling and Models Transformations: Simulation of Queuing System – Metamodel
36Varna 2014
36
Terminator is the entity, deleting transactions from
model
3. Examples of Modeling and Models Transformations: Simulation of Queuing System – Metamodel
37Varna 2014
37
Distribution is the entity, which is parent for the entities
“Normal distribution”, “Uniform distribution”, “Student’s
distribution”, etc.
3. Examples of Modeling and Models Transformations: Simulation of Queuing System – Model
38Varna 2014
38
3. Examples of Modeling and Models Transformations: Simulation of Queuing System – Model Transformation
39Varna 2014
39
GENERATE (NORMAL(1, <<Normal distribution.Expected value>>, <<Normal distribution.Variance>>)), , <<Generator.Initial delay>>, <<Generator.Amount of transactions>>, <<Generator.Priority>>
An example of “Model-Text” transformation rule:
3. Examples of Modeling and Models Transformations: Simulation of Queuing System – Model Transformation
40Varna 2014
40
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>>
3. Examples of Modeling and Models Transformations: Simulation of Queuing System – Model Transformation
41Varna 2014
41
After applying of the described transformation to the model the MetaLanguage system has generated the following code in GPSS language:
GENERATE (UNIFORM(1, 2, 8)),,20,100,1QUEUE QQ1SEIZE SD1DEPART QQ1ADVANCE (NORMAL(1, 3, 1))RELEASE SD1QUEUE QQ2SEIZE SD2DEPART QQ2ADVANCE (NORMAL(1, 3, 1))RELEASE SD2SPLIT 1, QQ4QUEUE QQ3SEIZE SD3DEPART QQ3ADVANCE (NORMAL(1, 3, 1))RELEASE SD3QUEUE QQ4SEIZE SD4DEPART QQ4ADVANCE (UNIFORM(1, 2, 8))RELEASE SD4ASSEMBLE 2TERMINATE 1
3. Examples of Modeling and Models Transformations: Simulation of Queuing System – New level
42Varna 2014
42
Metamodel of DSL – the second level:
3. Examples of Modeling and Models Transformations: Simulation of Queuing System – New level
43Varna 2014
43
Model in new DSL:
The task of monitoring of enterprises by the Central National Bank is based on the heterogeneous information collection from different sources
443. Examples of Modeling and Models Transformations:
Complex Informational and Analytical System Design
44Varna 2014
Data analysis in these conditions is the difficult task…
3. Examples of Modeling and Models Transformations: Complex Informational and Analytical System Design
45Varna 2014
45
463. Examples of Modeling and Models Transformations:
Complex Informational and Analytical System Design
46Varna 2014
The Complex Informational and Analytical System is developed by IT-department of the Central National Bank to solve this problem…
СКИФ-Информ СКИФ-Аналитик АС ПФПАСЦВ НСИ КПФ НовостиАС БОНП
ЭПИ БИР
КИАС АДНП
Heterogeneous subsystems of CIAS
“Pilot” subsystems
473. Examples of Modeling and Models Transformations:
Complex Informational and Analytical System Design
CIAS – Complex Informational and Analytical System
47Varna 2014
Data from enterprises
General Purpose Modelling Language
Domain Specific Modelling Languages
Domain Models
Registration documents, primary information on enterprises, analytical
materials, reports (statistical, bookkeeper's, etc.) and so on…
System analysts need an organizational and technological infrastructure for the business processes design and modelling:
Models design on the bases of
collected data
483. Examples of Modeling and Models Transformations:
Complex Informational and Analytical System Design
48Varna 2014
?
Data from enterprises
General Purpose Modelling Language
Domain Specific Modelling Languages
Domain Models
The basis (universal language) for all DSLs design
System analysts need an organizational and technological infrastructure for the business processes design and modelling:
493. Examples of Modeling and Models Transformations:
Complex Informational and Analytical System Design
49Varna 2014
Data from enterprises
General Purpose Modelling Language
Domain Specific Modelling Languages
Domain Models
The basis (universal language) for all DSLs design
System analysts need an organizational and technological infrastructure for the business processes design and modelling:
503. Examples of Modeling and Models Transformations:
Complex Informational and Analytical System Design
50Varna 2014
Domain specific languages for the subsystems modelling
Data from enterprises
General Purpose Modelling Language
Domain Specific Modelling Languages
Domain Models
The basis (universal language) for all DSLs design
System analysts need an organizational and technological infrastructure for the business processes design and modelling:
513. Examples of Modeling and Models Transformations:
Complex Informational and Analytical System Design
51Varna 2014
Domain specific languages for the subsystems modelling
Visual and textual models of business processes in different domains
Data from enterprises
General Purpose Modelling Language
Domain Specific Modelling Languages
Domain Models
System analysts need an organizational and technological infrastructure for the business processes design and modelling:
523. Examples of Modeling and Models Transformations:
Complex Informational and Analytical System Design
52Varna 2014
Due to the DSM platform• modelling does not depend on
implementation tools;• developers and domain experts
“speak” in the same language
IDEF0 model
Interaction Diagrams
Use-case diagrams
GPL meta-model
Domain specific meta-models
Visual domain models
AS-TO-BE in DSLAS-IS in GPL
53Varna 2014
533. 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:
54Varna 2014
Сотрудник службы мониторинга уровня ДБН (СМП ДБН)
Сотрудник службы мониторинга уровня ТУ (СМП ТУ)
Указание запроса для получения результата расчета определенной информации
Список информации для расчета - в Описании автоматизируемых функций, п.п. 2.2.6
Формирование аналитических материалов
Задание произвольных параметров и формат выгрузки отчетных форм
Ввод параметров вручную в специальные поля
«include»
Выбор параметров из списков
«include» Выбор параметров при помощи переключателей
«include»
Просмотр информации по предприятиям всех регионов
Просмотр информации по предприятиям своих регионов
Ввод данных в ручном режиме
Согласование и обмен информацией между ДБН и ТУ БР Обработка информации
«include»
Передача информации пользователям ТУ БР для рассмотрения и согласования
«include»
Корректировка информации, поступившей от ДБН БР
«include»
Передача информации пользователям ДБН БР на утверждени
«include» Направить информацию пользователям ТУ БР на уточнение (в случае не утверждения пользователями ДБН БР
«extend»
Утверждениеинформации
«include»
В заданном формате согласно очередности
«include»
«include»
Интерактивное в заданном формате
«include»
«include»
Просмотр информации
«include»
Список доступной информации - в Описании автоматизируемых функций, п.п. 2.2.11
Инициация формирования отчета«include»
Запрос на формирование файлов с аналитическими материалами
Интерактивное по сформированным пользователем шаблонам«include»
«include»
Формирование вида шаблона через приложение
«include»
Задание оформления вида шаблона
«include»
По стандартизированным шаблонам
«include»
Указание признака готовности информации к экспорту в систему АФСБ
Список информации для ввода в ручном режиме - в Описании автоматизируемых функций, п.п. 2.2.5
Создание заявок на корректировку утвержденной в ДБН информации
Запуск регламентного расчета процедур обработки результатов мониторинга НП
Сотрудник ЦИТ Банка России
Выполнение действий по указанию ДБН
Изменение параметров генерации аналитических материалов
Путём настройки в ручном режиме в портлетном приложении
Мониторинг выполнения транзакций по взаимодействию со смежными системами
Утверждение/отклонение заявок на корректировку утвержденной ранее информации
«include»
Сохранение данных в оперативной памяти
Отсутствие новыхданных для
выгрузки
Предоставление данных банковской
отчетности из Единой БД РИБО
Регистр «Оценка
предприятий» (БД Регистр)
Загрузка данных банковской
отчетности из Единой БД РИБО
Запуск утилиты по протоколу OLE DB
Обращение утилиты с
запросами к БД СКИФ-
Информ для выгрузки анкетных данных
Обращение утилиты с
запросами к БД СКИФ-
Информ для выгрузки РИ
предприятий-участников
мониторинга
Проверка поступления новой информации
Проверка удаления загруженных ранее
анкет
Загрузка новых анкет
Предоставление данных из БД Регистр
Выборка новых записей по полю
модификации
Загрузка данных банковской
отчетности из Единой БД РИБО
Обращение утилиты с
запросами к БД СКИФ-
Информ для выгрузки РИ
НП
Обращение утилиты с
запросами к БД СКИФ-
Информ для выгрузки
бухгалтерской отчетности
Наличие новых данных для выгрузки
Предоставление данных банковской
отчетности
Загрузка данных банковской отчетностиЕдиная БД
РИБО
54 3. Examples of Modeling and Models Transformations: Complex Informational and Analytical System Design – As-Is Model
Formalization of requirements,
applications structure and behavior
corresponding to domain
Domain Specific Language
Systematical using of models as the main
artefacts at the whole life cycle of
information systems
Model Driven Engineering
Systems integration on the level of business
logics
Functional Integration
55Varna 2014
55 3. Examples of Modeling and Models Transformations: Complex Informational and Analytical System Design with DSL
ИС
Подсистема 2Подсистема 1
Ввести обеспечивающую
информацию
Справочники ОКОНХ, ОКВЭД,
ОКАТО, Книги ГРКО
Сотрудник службы
эксплуатации
Сотрудник СМП уровня
ДБН
Анализировать результаты
деятельности предприятий
Коэффициенты дискриминантной функции и границ
распределения
Сотрудник СМП уровня ТУ
Ввести, проверить и обработать
информацию о предприятиях
Подсистемы NОператоры Off-
line
Представить результаты
анализа
М
1
1
М
11 М
1
1
М М М
М
М
М
М
11
М
М
1
56Varna 2014
56 3. Examples of Modeling and Models Transformations: Complex Informational and Analytical System Design – Simplified Conceptual Model
57Varna 2014
57 3. Examples of Modeling and Models Transformations: Complex Informational and Analytical System Design – As-To-Be: simplified GPL meta-model in UML
Подсистема анализа данных о НП
Комплексная ИС
Подсистема сбора и хранения данных о НП
М
1
Интегрирует
Входные данные
Смежная система
Информация ИС
Результаты обработки
Обрабатывает
Оформляет
1
М
Пользователь
Вводит данные
М
М
Передает результаты
Получает результаты
ММ 1
11
М М
Поступают
Преобразует в формат ИС
Преобразуются
М
М М
58Varna 2014
58 3. Examples of Modeling and Models Transformations: Complex Informational and Analytical System Design – As-To-Be: simplified DSL meta-model in UML
Сотрудник службы эксплуатации
is_a
Сотрудник СМП уровня ДБН
is_aСотрудник СМП уровня ТУ
is_aОператоры Off-line is_a
СКИФ-Аналитик
КИАС АДНП
СКИФ-Информ
М
1
Интегрирует
Поступающие данные
Смежная система
Информация ИС
Результаты обработки
Получает Обрабатывает Оформляет
1
М М
Пользователь
Вводит данные
Вводит данные1
М
М
М
Передает результаты
Получает результаты
М
М
М
М
1
Коэффициенты дискриминантной функции и границ
распределения
is_a
Справочники ОКОНХ, ОКВЭД,
ОКАТО, Книги ГРКО
is_a
Ввестиобеспечивающую
информацию 11
1
Ввестиобепечивающую
информацию
1
М
Перечень предприятий-участников
мониторинга
Регистрационная
информация НП
Анкетные данные НП
Данные бух. балансов и отчета
о форм банковской отчетности
is_a is_a is_a is_a
Оценка надежности
предприятий
Агрегированная информация
(квартили, средние значения)
Сведения о процедурах банкротства
is_a is_a is_a
11
М
59Varna 2014
59 3. Examples of Modeling and Models Transformations: Complex Informational and Analytical System Design – As-To-Be: simplified GPL meta-model in MetaLanguage
60Varna 2014
60 3. Examples of Modeling and Models Transformations: Complex Informational and Analytical System Design – As-To-Be: requisition execution model in GPL
61Varna 2014
61 3. Examples of Modeling and Models Transformations: Complex Informational and Analytical System Design – As-To-Be: simplified DSL meta-model in MetaLanguage
62Varna 2014
62 3. Examples of Modeling and Models Transformations: Complex Informational and Analytical System Design – As-To-Be: requisition execution model in DSL
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.
63Varna 2014
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.
64Varna 2014
64 3. Examples of Modeling and Models Transformations: Complex Informational and Analytical System Design – As-To-Be: model transformation
Activity Diagram meta-model
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):
65Varna 2014
65 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:
66 3. Examples of Modeling and Models Transformations: Complex Informational and Analytical System Design – As-To-Be: model transformation
66Varna 2014
The result of transformation of the requisition execution model from DSL to UML:
67 3. Examples of Modeling and Models Transformations: Complex Informational and Analytical System Design – As-To-Be: model transformation
67Varna 2014
The result of transformation of the requisition execution model from DSL to UML:
68 3. Examples of Modeling and Models Transformations: Complex Informational and Analytical System Design – As-To-Be: model transformation
68Varna 2014
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)
69Varna 2014
69 3. Examples of Modeling and Models Transformations: Complex Informational and Analytical System Design – As-To-Be: model transformation
ER-Diagram meta-model
70Varna 2014
70 3. Examples of Modeling and Models Transformations: Complex Informational and Analytical System Design – As-To-Be: model transformation
С.Связь.Кратность = 1:М ANDС.Связь.ИмеетАтрибут = False
С.Связь.Кратность = M:1 ANDС.Связь.ИмеетАтрибут = False
С.Связь.Кратность = M:1 ORC.Связь.Кратность = 1:1 ORС.Связь.ИмеетАтрибут = True
Restrictions on the pattern occurrences:
• Entity• Relation 1М
• Relation М1
• Relation ММ
• Inheritance• Attribute
ER-Diagram meta-model
The result of transformation of the requisition execution model to ERD notation:
71 3. Examples of Modeling and Models Transformations: Complex Informational and Analytical System Design – As-To-Be: model transformation
71Varna 2014
The result of transformation of the requisition execution model to ERD notation:
72 3. Examples of Modeling and Models Transformations: Complex Informational and Analytical System Design – As-To-Be: model transformation
72Varna 2014
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)
The MetaLanguage 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.
73Varna 2014
Conclusion
Thank you!
???
74Varna 2014