Model-Driven Engineering Training for Industry Professionals (Online)
Model-Driven Engineering Training for Industry Professionals (Online)
Instructor: Prof. Dr. Mert Özkaya
Duration: Flexible, ranging from 3 hours to a full day (8 hours) or up to 10 hours, tailored to the needs of the organization. Contact us to discuss your preferred duration.
Target Audience: Software engineers, system architects, domain experts, and researchers involved in designing, developing, or analyzing complex software systems, particularly those working in domains such as automotive, aerospace, healthcare, telecommunications, IoT, or industrial automation, where model-driven engineering (MDE) and domain-specific modeling languages (DSMLs) are used to manage complexity, improve productivity, and ensure system quality.
Objective: To provide an advanced, interactive online training on model-driven engineering (MDE), focusing on model-driven software engineering (MDSE) principles, meta-modeling, concrete syntax definition, tool development using MetaEdit+ (MetaCase), model transformation, model-driven digital twins, system integration, and a practical case study, while also exploring modeling languages and meta-modeling technologies.
Objective: Introduce the fundamental concepts of MDSE, focusing on the role of models, their purposes, and the core principles and methodologies that underpin model-driven approaches.
Topics:
Overview of MDSE and its significance
Models: definition, descriptive and prescriptive purposes
Human cognitive processes: abstraction, generalization, classification
Motivation for model engineering: tackling complexity and quality
MDSE principles: abstraction, portability, automation
MDSE methodology: concepts, notations, processes, tools
MD* acronyms: MDD, MDA, MDE, MBE
Modeling languages: General-Purpose (GPMLs) vs. Domain-Specific (DSLs)
Basics of metamodeling and model transformations
Objective: Explore practical applications of MDSE in software development, interoperability, and reverse engineering, highlighting key approaches like MDA and tools such as MetaEdit+ and Eclipse/EMF.
Topics:
MDSE applications: development, interoperability, reverse engineering
Model-Driven Development: communication and productivity benefits
Executable models: code generation vs. model interpretation
Systems interoperability: metamodel alignment and transformations
Model-driven reverse engineering: process and examples
Model-Driven Architecture (MDA): CIM, PIM, PSM, transformations
Other approaches: CASE, Executable UML, AC-MDSD, MetaEdit+, Software Factories
Tools: Eclipse, EMF, drawing vs. modeling
MDSE industry adoption and lifecycle
Session 3: Introduction to Modeling Languages
Objective:
Understand the role, types, and design principles of modeling languages in Model-Driven Software Engineering (MDSE), with a focus on their application in real-world industry scenarios.
Topics:
Overview of modeling languages: purpose and role in MDSE
General-Purpose Modeling Languages: UML, SysML, BPMN
Domain-Specific Modeling Languages (DSMLs): AADL, Simulink, MARTE
DSML design principles: expressiveness, usability, extensibility
Balancing DSML design: trade-offs between simplicity and complexity
Tool support for modeling languages: Papyrus, Simulink GUI, OSATE
Industry case studies: healthcare (HL7 FHIR), telecommunications (MARTE), aerospace (AADL)
Session 4: Language Engineering and Meta-Modeling for Domain-Specific Problems
Objective: Understand the process of language engineering through meta-modeling, focusing on designing domain-specific modeling languages (DSMLs) and their practical applications in industry.
Topics:
Overview of language engineering: purpose and role in DSML design
Meta-modeling concepts: meta-models, meta-meta-models, MOF
Meta-modeling vs. traditional modeling and programming
Language engineering process: domain concepts, relationships, constraints, implementation, validation
Tools for language engineering: Eclipse EMF, Xtext, Papyrus, MetaEdit+
Industry case studies: automotive (MetaEdit+ for autonomous driving), IoT (5G device management), finance (transaction compliance)
Session 5: Meta-Modeling Technologies
Objective: Discuss the key requirements, expectations, and challenges in using meta-modeling technologies for DSML development.
Topics:
Meta-modeling requirements: Language Definition, Modeling Editor (editing modes, syntactic and semantic services), Language Validation, Language Testing, Language Composability
Practitioners’ expectations and common challenges based on survey results
Tool usage trends: Which technologies are most used and why?
What can be done with meta-modeling tools in practice?
Practitioner expectations for editor usability, versioning, integration, and hybrid visualization
Comparison of major technologies: EMF (Sirius, Xtext), MetaEdit+, GME, JetBrains MPS
Criteria for selecting tools based on domain needs and practical feedback
Session 6: Developing Domain-Specific Modeling Languages with MetaEdit+
Objective: Learn to develop domain-specific modeling languages (DSMLs) using MetaEdit+, focusing on meta-modeling, concrete syntax, and building modeling editors for efficient domain-specific solutions.
Topics:
MetaEdit+ overview: architecture, components, and features
Defining meta-models using GOPPRR: concepts, properties, constraints
Creating concrete syntax: notations, symbols, multi-view support
Building modeling editors: drag-and-drop, validation, collaboration
Editor integration with external tools: APIs, code generation
Case studies: EAST-ADL for automotive ECUs, mobile phone DSML
Session 7: Developing Model Transformers with MetaEdit+
Objective: Understand and implement model transformations for DSMLs using MetaEdit+.
Topics:
Model transformation concepts: model-to-model, model-to-code
MetaEdit+ transformation capabilities: code generation, model validation, model simulation, and transformation rules
Designing transformations for specific outputs (e.g., Java, C++, XML)
Debugging and testing transformations in MetaEdit+
Session 8: Case Study and Practical Workshop
Objective: Apply meta-modeling, syntax definition, editor development, and transformation through a practical case study using MetaEdit+.
Topics:
Developing a DSML for a real-time traffic management system: traffic flow modeling, signal control, IoT integration
Defining meta-models, concrete syntax, modeling editors, and transformations in MetaEdit+
Best practices for integrating all components into a cohesive DSML
Session 9: Model-Driven Digital Twin Engineering
Objective: Explore model-driven digital twin engineering for precise modeling, real-time data synchronization, and interoperability in industrial systems. Learn DSML roles, MDDTE benefits, development steps, and best practices to enhance monitoring, simulation, and optimization in aerospace, automotive, and manufacturing.
Topics:
Introduction to Digital Twins: Define concepts, components, and applications using IoT for real-time system replication.
Purpose of Digital Twins: Enable monitoring, simulation, and optimization with predictive maintenance and performance analytics.
Model-Driven Engineering (MDE): Explore foundations, modeling perspectives, and limitations in traditional system design approaches.
Paradigm Shift to MDDTE: Integrate MDE with real-time digital twin capabilities for lifecycle management and optimization.
Role of DSMLs in Digital Twins: Use SysML, AADL, ThingML for precise modeling, automation, and synchronization.
DSMLs for Real-Time Monitoring: Implement IoT data integration (e.g., 100Hz MQTT) for dynamic system tracking.
Benefits of MDDTE: Overcome MDE limitations with executable models, real-time adaptability, and lifecycle support.
DSML-Based Development Steps: Outline model creation, execution, data integration, and optimization for digital twins.
Case Studies: Analyze aerospace (jet engines), automotive (EV powertrains), and manufacturing (robotic welding) applications.
Delivery Method
Format: Fully online, interactive lectures, hands-on exercises, and group discussions conducted via a video conferencing platform (e.g., Zoom, Microsoft Teams).
Tools:
Meta-modeling and editor development: MetaEdit+ (MetaCase), with fallback to Draw.io or OpenModelica for simulation if needed.
Collaboration: Miro, Google Docs, or VS Code Live Share for group activities.
Materials: Downloadable handouts (MetaEdit+ guides, meta-modeling templates, DSML examples, case study documents).
Technical Requirements: Stable internet, webcam, microphone, and access to cloud-based tools. MetaEdit+ license or trial access required (pre-session setup guide provided).
Learning Outcomes
By the end of the 10-Hour Online Model-Driven Engineering Training, participants will be able to:
Understand Models and Modeling Concepts: Define models as abstractions of systems, components, or processes, and explain their importance in model-driven engineering (MDE) for simplifying complexity, enhancing communication, and enabling automation in domains like automotive, aerospace, and IoT.
MDSE Principles: Comprehend Model-Driven Software Engineering (MDSE) principles, including separation of concerns, model transformation, and code generation, and recognize their benefits for productivity and system quality compared to code-centric approaches.
Understand Meta-Models and Meta-Modeling: Explain meta-models, meta-meta-models (e.g., MOF), and the meta-modeling process, understanding their role in defining domain-specific concepts, relationships, and constraints for language engineering.
Understand Modeling Languages: Analyze general-purpose modeling languages (e.g., UML, SysML) and domain-specific modeling languages (DSMLs), and evaluate their expressiveness, usability, and extensibility for domains like healthcare or telecommunications.
Understand Meta-Modeling Tools: Compare meta-modeling technologies (e.g., EMF, MetaEdit+, GME, JetBrains MPS) based on language definition, editor usability, and integration capabilities, and assess their suitability for specific project needs.
Develop a DSL with MetaEdit+: Use MetaEdit+ to create a simple domain-specific language (DSL) in a case study, defining meta-models, concrete syntax (notations, symbols), and building interactive modeling editors for practical application.
Apply Model Transformations in MetaEdit+: Implement model-to-model and model-to-code transformations in MetaEdit+ for a case study, generating outputs like Java, C++, or XML, and validating models for accuracy using code generators.
Conduct a Practical DSL Case Study: Build and analyze a DSL for a simple real-time system in MetaEdit+, integrating meta-modeling, editor development, and transformations, and experimenting with traffic flow or IoT components.
Understand Digital Twins in MDE: Comprehend the role of DSMLs in modeling digital twins as virtual representations of physical systems, and their application in real-time monitoring and simulation for domains like industrial automation or IoT.
Experiment with Model Simulation and Analysis: Use MetaEdit+ to perform model simulation and analysis in a case study, validating DSL behavior and assessing system requirements through practical experimentation.
For more information about this course, please contact: mert.ozkaya@yeditepe.edu.tr
To enroll in a course, please complete the form by clicking HERE.