Registry
View Module List by A.O.U. and Level  Alphabetical Module Code List  Alphabetical Module Title List  Alphabetical Old Short Name List  View Menu 
Module Catalogue
 Module Code: COM3003  Module Title: MODELS ARE THE CODE-EXECUTABLE UML
Module Provider: Computing Short Name: CS387 Previous Short Name: CS387
Level: HE3 Module Co-ordinator: KRAUSE PJ Prof (Computing)
Number of credits: 15 Number of ECTS credits: 7.5
 
Module Availability

Autumn Semester.

Assessment Pattern

Unit(s) of Assessment

 

Weighting Towards Module Mark( %)

 

Coursework: You will be asked to develop an example project using IUMLite. This will be in a different domain to the course example, but enable you to demonstrate expertise with the course material as the course develops.

 

40%

 

Exam: A 2-hour examination covering all topics within the course. Students must answer 3 questions out of 4

 

60%

 

     

 

     

 

     

 

     

 

     

 

     

 

Qualifying Condition(s) 

 

     

 

 

 

Module Overview
Prerequisites/Co-requisites

None.

Module Aims

This course provides advanced training in modelling software systems using the Unified Modelling Language (UML). In particular, it introduces latest developments in “executable UML” which enable code to be generated automatically from specifications.

With executable UML, we produce precise models of proposed systems. Model compilers are then used to automatically generate the code for a specific target. Model compilers may be built to generate code for an extensive range of platforms, including a direct animation of the model on the development host. Porting a system to a new platform is then simply a matter of running the model through a different model compiler.

In order to build executable models, we focus on three views of the system under development:

  • Class diagrams to classify the “things” in the problem domain – including their attributes, and relationships between them;
  • UML statecharts to describe the lifecycles of the objects (or class instances) in the system; and
  • An action language to describe the procedures that are executed when an object changes state.

This course will enable you to gain sufficient experience in building precise UML models in order to be able to construct an example application by working completely at the modelling level.

Learning Outcomes

At the end of the module students should be able to:

  • Build complete, compilable models using an executable UML modelling tool
  • Develop precise class models for a range of different domains
  • Use State Charts to describe object lifecycles
  • Understand the use of action languages and the Object Constraint Language to provide detailed specifications of procedures within a system
  • Build a fully executable UML model for a real-world application.
Module Content

The course is divided into the following areas:

  • Domain models and bridges
  • Formalising Use Cases
  • Classes and attributes
  • Relationships and associations
  • Class actions and constraints
  • Lifecycles and communicating objects
  • Synchronisation and relationship dynamics
  • Domain dynamics and verification
  • Model management

The course will use a single running example of a lift system, in order to build up a complete “life-size” application by the end of the course.

Methods of Teaching/Learning

30 hours in weeks 1-10, consisting of:

  • 10 one-hour lectures (1 per week)
  • 20 hours of lab classes (2 hours per week
Selected Texts/Journals

Course Text:

Mellor, Stephen J. and Balcer, Marc J. (2002) Executable UML – A Foundation for Model-Driven Architecture. London : Addison-Wesley.

Recommended:

Starr, (2002), Executable UML – How to Build Class Models. Upper Sadle River, NJ , Prentice Hall. 

Frankel, David S. (2003), Model Driven Architecture – Applying MDA to Enterprise Computing, Indianapolis , John Wiley.

Last Updated

July 2007


Copyright 2006 Disclaimer Oracle Portal UniSLife UniS Home