|
CS 846 Model-Based Software
Engineering
Winter 2012 |
Course
Overview
Objectives
Model-based
software engineering (MBSE) is an approach to software
development in which software models play a primary and indispensible
role. MBSE allows developers to work and reason about software
requirements, design, and correctness at higher levels of abstraction,
and to generate automatically implementations, deployments, and other
artifacts. MBSE has been successfully applied in several
industries (automotive, aeronautic, information systems), though
typically in an ad
hoc basis.
This course will look at the state of the art of MBSE and its future
research directions.
Assumed
Background
An interest and
background in the theory and practice of software
development. Some knowledge of software modelling (e.g., UML) is
beneficial but not necessary.
List of Topics
Modelling
Notations
Modelling paradigms, domain-specific notations, meta-modelling,
grammars, semantics
Model Management
Relationships between models, relating heterogeneous models,
model operations (e.g., merge, composition, match, slice, diff)
Analysis and Verification
Consistency and completeness, model simulation, constraint solving,
model checking
Model
Transformations
Code generation, generative programming, model-to-model
transformations,
abstraction/refinement, model synthesis, model visualization