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.
Session 1: What is Model and Modeling?
Objective: Understand the fundamental concepts of models and modeling in the context of model-driven engineering.
Topics:
Definition of models: abstractions representing systems, components, or processes
Purpose of modeling: simplifying complexity, improving communication, enabling automation
Types of models: structural, behavioral, functional
Role of models in model-driven engineering: requirements analysis, design, and implementation
Benefits and challenges of modeling in industry projects
Session 2: MDSE Principles
Objective: Explore the principles of Model-Driven Software Engineering (MDSE).
Topics:
Core MDSE concepts: models as primary artifacts, automation, and abstraction
Model-driven vs. code-centric development: benefits and trade-offs
MDSE principles: separation of concerns, model transformation, and code generation
Role of MDSE in improving productivity and quality in software development
Industry applications of MDSE (e.g., automotive, aerospace)
Session 3: Introduction to Modeling Languages
Objective: Understand various modeling languages and their design principles.
Topics:
General-purpose modeling languages: UML, SysML, BPMN
Domain-specific modeling languages (DSMLs): examples (e.g., AADL for aerospace, Simulink for control systems)
Design principles for DSMLs: expressiveness, usability, extensibility
Case studies of DSMLs in industry (e.g., healthcare, telecommunications)
Session 4: Language Engineering (Meta-Modeling)
Objective: Learn the process of language engineering through meta-modeling for domain-specific problems.
Topics:
Meta-modeling concepts: meta-models, meta-meta-models, MOF (Meta-Object Facility)
Language engineering process: defining domain concepts, relationships, and constraints
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 DSMLs with MetaEdit+ ()
Objective: Learn to develop DSMLs, including meta-models, concrete syntax, and modeling editors, using MetaEdit+.
Topics:
MetaEdit+ overview: architecture, features, and workflow
Defining meta-models and concrete syntax (notations, symbols, visual representations) in MetaEdit+
Building modeling editors: integrating meta-models, syntax, and user interactions
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 Twins and System Integration
Objective: Explore the application of model-driven approaches to digital twins and system integration.
Topics:
Concept of digital twins: virtual representations of physical systems
Role of DSMLs in modeling digital twins for real-time monitoring and simulation
Model-driven system integration: connecting DSMLs with IoT, cloud, and enterprise systems
Challenges and best practices for integrating digital twins with existing systems
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: Digital slide deck, downloadable handouts (MetaEdit+ guides, meta-modeling templates, DSML examples, case study documents), and access to recorded sessions (if permitted).
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.