⚙️
Method and Model-driven
Engineering
Created @January 28, 2025 11:08 AM
Class INFOME
Week 1
Method and Model-Driven Engineering
Models Around Us
Meta-model: a model that consists of formal statements about models. Therefore,
a meta-model is also a model, but its universe of discourse is the set of models
that are described by the meta-model.
Meta-models can be expressed via diagrams
Method and Model-driven Engineering 1
, Meta-model of ER modeling.
Model-Driven Development (MDD): a software development methodology that
focuses on creating and exploiting domain models—abstract representations of
the knowledge and activities in a specific application domain.
Rather than writing all the code manually, developers build models, and use
tools to automatically generate code or other artifacts from these models.
Domain-Specific Languages (DSL): A Domain-Specific Language is a
programming or modeling language tailored to a particular application domain,
offering constructs that map closely to domain concepts. E.g. SQL for db queries.
Advantages and Disadvantages of MDD
Advantages Disadvantages
Productivity Boost: Faster Learning Curve: Requires
development through automation understanding modeling tools and
DSLs
Consistency: Reusable models
reduce errors Tool Dependence: Quality and
flexibility depend on modeling
Better Communication: High-level
tools
models bridge gaps between
stakeholders Limited Flexibility: Customization
beyond the model can be hard
Easier Maintenance: Model
changes can propagate through to
Method and Model-driven Engineering 2
, code Initial Cost: Upfront investment in
modeling infrastructure
Conceptual Modeling
Conceptual modeling: the activity of representing the physical or social world for
the purposes of communication, problem solving and meaning negotiation
among humans
An unambiguous, easy to understand account of our understanding of a
domain and how it works, also how the new system will fit in that domain.
We can do so with English descriptions; but such descriptions are often
cumbersome, incomplete, ambiguous and can lead to misunderstandings
The Entity-Relationship Model
Assumes that application consists of entities and relationsips
Shows how a conceptual schema can be mapped onto a logical one
Method and Model-driven Engineering 3
, Structured Analysis and Design Technique (SADT): a diagram-based method
used to model and analyze systems by breaking them into functions and data
flows, helping to understand what a system does and how its components
interact.
Benefits of Conceptual Modeling
1. Improves communication between stakeholders.
Method and Model-driven Engineering 4
Method and Model-driven
Engineering
Created @January 28, 2025 11:08 AM
Class INFOME
Week 1
Method and Model-Driven Engineering
Models Around Us
Meta-model: a model that consists of formal statements about models. Therefore,
a meta-model is also a model, but its universe of discourse is the set of models
that are described by the meta-model.
Meta-models can be expressed via diagrams
Method and Model-driven Engineering 1
, Meta-model of ER modeling.
Model-Driven Development (MDD): a software development methodology that
focuses on creating and exploiting domain models—abstract representations of
the knowledge and activities in a specific application domain.
Rather than writing all the code manually, developers build models, and use
tools to automatically generate code or other artifacts from these models.
Domain-Specific Languages (DSL): A Domain-Specific Language is a
programming or modeling language tailored to a particular application domain,
offering constructs that map closely to domain concepts. E.g. SQL for db queries.
Advantages and Disadvantages of MDD
Advantages Disadvantages
Productivity Boost: Faster Learning Curve: Requires
development through automation understanding modeling tools and
DSLs
Consistency: Reusable models
reduce errors Tool Dependence: Quality and
flexibility depend on modeling
Better Communication: High-level
tools
models bridge gaps between
stakeholders Limited Flexibility: Customization
beyond the model can be hard
Easier Maintenance: Model
changes can propagate through to
Method and Model-driven Engineering 2
, code Initial Cost: Upfront investment in
modeling infrastructure
Conceptual Modeling
Conceptual modeling: the activity of representing the physical or social world for
the purposes of communication, problem solving and meaning negotiation
among humans
An unambiguous, easy to understand account of our understanding of a
domain and how it works, also how the new system will fit in that domain.
We can do so with English descriptions; but such descriptions are often
cumbersome, incomplete, ambiguous and can lead to misunderstandings
The Entity-Relationship Model
Assumes that application consists of entities and relationsips
Shows how a conceptual schema can be mapped onto a logical one
Method and Model-driven Engineering 3
, Structured Analysis and Design Technique (SADT): a diagram-based method
used to model and analyze systems by breaking them into functions and data
flows, helping to understand what a system does and how its components
interact.
Benefits of Conceptual Modeling
1. Improves communication between stakeholders.
Method and Model-driven Engineering 4