Skip to navigation | Skip to main content | Skip to footer
Menu
Menu

COMP30341: Model-Based Software Design (2009-2010)

This is an archived syllabus from 2009-2010

Model-Based Software Design
Level: 3
Credit rating: 10
Pre-requisites: No Pre-requisites
Co-requisites: No Co-requisites
Duration: 11 weeks
Lectures: 22, 2 per week. Some allocated to practical work
Labs: Four practical exercises on writing models, and using models to store and validate information
Lecturers: Andy Carpenter
Course lecturer: Andy Carpenter

Additional staff: view all staff
Timetable
SemesterEventLocationDayTimeGroup
Sem 1 w1-5,7-12 Lecture 1.4 Thu 11:00 - 12:00 -
Sem 1 w1-5,7-12 Lab 3rdLab Thu 13:00 - 15:00 -
Sem 1 w1-5,7-12 Lecture 1.4 Fri 14:00 - 15:00 -
Assessment Breakdown
Exam: 67%
Coursework: 33%
Lab: 0%
Degrees for which this unit is optional
  • Artificial Intelligence BSc (Hons)

Introduction

This course unit introduces advanced uses of models, like UML class diagrams, in the software development process. The goal is to use models as first class objects from which implementation code is generated, rather than just documentation of what should be developed.

Aims

The aims of this course unit are to show how the use of models can reduce the effort to implement large complex systems, and to show how the use of abstract models can isolate true design information from the details of an implementation, so making it easier to migrate software when the underlying target platform changes.

Learning Outcomes

On completion of this course a student should
Be able to understand and solve problems associated with the construction and maintenance of large computer systems for major industries such as aerospace, automotive, computer systems and construction. (A3, A5, B2, B3)
Have knowledge and understanding of the contrasting properties of behavioural and information modelling techniques. (A2)
Have knowledge and understanding of the implementation characteristics of common information storage, communication and access methodologies. This includes the use of both relational and object oriented databases, XML and the interfaces to these mechanisms. (A2,A3,A5)
Have knowledge and understanding of activity modelling using IDEF0 and information modelling, using IDEF1x, and EXPRESS. (A2,A4)
Be able to create simple information models using EXPRESS. (B1,B3,C3,D3)
Be able to analyse and plan model transformations to implement conceptual models (A2,A5,B1,B3).

Assessment of Learning outcomes

Learning outcomes 1-4, 6 are assessed by examination.

Learning outcomes 5 and 6 are assessed through practical assignment.

Contribution to Programme Learning Outcomes

A2, A3, A4, A5, B1, B2, B3, C2, C3, D3

Syllabus

Introduction
What is model-based software design? What are its advantages? Uses cases.

Modelling paradigms
features and styles of modelling paradigms; domain models; the Emfatic modelling language and OCL

Implementation transformations
STEP transformations to API and file format; general transformations

MDSD flows and implementation of transformations
PIM; PSM; syntax: abstract and concrete, types of transformations

Text-to-Model (t2m) Transformations
domain specific languages and their implementation

Model-to-Model (m2m) Transformations
introduction, ATL, QVT

Model-to-Text (m2t) Transformations
JET, MOFScript, xPand, templates, control

Modelling Levels and Mappings
meta-models and meta-meta-models

More modelling
Functional modelling; separation of concerns modelling; model weaving (APO); examples from web domain

What else is there?

Practical

Reading List

Core Text
Title: Model-driven software development: technology, engineering, management
Author: Stahl, Thomas and Markus Volter (and others)
ISBN: 9780470025703
Publisher: Wiley
Edition:
Year: 2006
A good background read on model-driven engineering that includes an indication of its pragmatic use in application development.


Title: EMF: Eclipse Modeling Framework (2nd edition)
Author: Steinberg, Dave et al
ISBN: 9780321331885
Publisher: Addison-Wesley
Edition: 2nd
Year: 2009
Provides a more detailed description of tools than required for this course unit.


Title: Model-driven software development using UML and Java
Author: Lano, Kevin
ISBN: 9781844809523
Publisher: Cengage Learning
Edition:
Year: 2009
The approach is the same as discussed in the course unit, buut the modelling language is different


Title: Object Constraint Language: getting your models ready for MDA
Author: Warmer, Jos and Anneke Kleppe
ISBN: 9780321179364
Publisher: Addison-Wesley
Edition: 2nd
Year: 2003
A reference text for some aspects of the practical exercises, not worth buying just for this course unit.


Title: MDA explained: the model-driven architecture: practice and promise
Author: Kleppe, Anneke, Jos Warmer and Wim Bast
ISBN: 9780321194428
Publisher: Addison-Wesley
Edition:
Year: 2003
Gives a overview of the ways in which models and transformations can be used.


Title: Eclipse modeling project: a Domain-Specific Language (DSL) toolkit
Author: Gronback, Richard
ISBN: 9780321534071
Publisher: Addison-Wesley
Edition:
Year: 2009
Provides a more detailed description of tools than required for this course unit.


Title: Model-driven architecture: applying MDA to Enterprise Computing
Author: Frankel, David S.
ISBN: 9780471319207
Publisher: Wiley
Edition:
Year: 2003
A reasonable background text. Now slightly dated and biased towards OMG's MDA view of model-based development.


Title: Code Generation in action
Author: Herrington, Jack
ISBN: 9781930110977
Publisher: Manning
Edition:
Year: 2003
Provides some background on the code-generation aspects of the course unit.