About the course
Course description
The aim of the course is
that the students learn the basic principles and practice for object
oriented development using models creates in a combination of UML and VDM++.
This will in particular increase the understanding of the different levels
of abstractions that can be used when modelling a realistic system.
Learning objectives
The participants must at the end of the course be able to:
- explain and compare advantages and disadvantages with alternative
abstractions in relation to the purpose of a precise model.
- explain constructs and concepts in the sequential subset of the
modelling language VDM++ and the connection to UML class diagrams.
- define and explain syntax and semantics for the sequential subset of
VDM++.
- apply VDM++ and UML with the associated tool support for abstract
and precise modelling and validation of systems.
- evaluate practical use of VDM++ for the validation of concrete
system descriptions.
Contents
This course contains:
- The development
process used for modeling using a combination of UML and VDM++.
- The available tool
support for validation of such models.
- Logic and basic
primitives in VDM++ and UML class diagrams.
- Modellering in VDM++
using unordered collections.
- Modellering i VDM++
using ordered collections.
- Modellering i VDM++
using relationships.
All subjects will be
introduced by means of examples inspired from industrial usage.
Education form
In this course there will be lectures in theory from the VDM++ book once
every week. In the first week all students also need to establish groups and
select the project they will use throughout the course to work with.
Afterwards in the remaining weeks the lectures will be supplemented with the
student groups explaining about the progress they have done with their own
project. In the 6th week all groups shall turn in a report about their
project and this report will be used as the stating point for the oral
examination.
Evaluation of the course
In order to evaluate the value of the course and the performance of the
lecturer an evaluation of the course will be performed in the last week. At
the lecture in the 6th week all students must therefore fill in this
form.
Exam
This will be an oral examination Wednesday the 24th of March 2010 in week 12 where the
project that the student have worked on will be taken as a starting point.
Then it will be examined to what extend the student is able to master the
different concepts from VDM++. It will be with an external examiner and it
will be graded after the standard 7 point scale. The order in which the
students will be examined can be found here.
The project must be documented in the form of a report that should be
handed in by every group at the latest on the 18th of March at the last
lecture should
as a minimum contain the following items:
- An introduction
- A short
description of the project including requirements made for the system as
well as the purpose of the modeling
- A description of how the model looks
(both UML class diagrams and VDM++ class definitions). If is helps the
presentation of the system to use other UML diagrams that is also more than
welcome.
- A description of the test set-up of the model
- A conclusion of
whether the group has succeeded reaching the purpose of the modeling and an
evaluation of whether the model has provided new insight into making
abstractions. Reflections about the ability to consider different
alternatives in the design process are recommended.
- Finally each group should supply the entire model (all vdmpp files) and a UML model such that it is possible for the
teacher and the external examiner to independently analyze the produced
model.
Two hard-copies of the report should be handed in for the teacher and the
external examiner. Each report will be read by both the teacher and the external
examiner prior to the oral exam, but as such no grade will be given for the
report. However, it will provide insight for the teacher and the external
examiner about what grade level we shall search for in the questioning
during the oral examination. Since both the teacher and the external
examiner can be expected to have read all the reports prior to the exam it
will be possible for the students to refer to parts of the report during
their presentation. The expected amount of energy put into the report is
approximately half of the time spent on the course as a whole.
In the evaluation of the reports the following aspects
will be considered:
- The demonstration of mastering abstraction levels
- The demonstration of testing of the VDM model
- The ability to use sets appropriately
- The ability to use sequences appropriately
- The ability to use mappings appropriately
- The ability to use invariants, pre- and post-condition predicates
appropriately
- The proper management of requirements taken into account
- The demonstration of using different validation analysis techniques
for the model
- The overall impression of the finish of the report
Curriculum: John Fitzgerald, Peter Gorm Larsen, Paul Mukherjee, Nico Plat and
Marcel Verhoef:
Springer Verlag, 2005. Chapter 1 to 9.
Updated March 15th 2010
Peter Gorm Larsen (pgl@iha.dk)
|
|