13-05-2011, 12:03 PM
Abstract
Development of a software project usually involves, to some extent, both modelling and
specication languages. Although both are useful in their own right, using them together
in an interconnected way brings many benets to all stages of the development process.
Work can proceed on both the model and the implementation concurrently. However, this
approach requires tool support that keeps the two versions consistent and updates them
when necessary. This report discusses the theoretical and practical considerations of a such
a combination between the Business Object Notation and Java, together with the Java
Modelling Language. It denes and discusses relations between individual concepts and
presents their implementation in the automatic consistency checking Eclipse IDE plugin and
tool `Beetlz'.
1.1 Project Specication
Business Object Notation (BON) has been developed for designing and analysing objectoriented
programs. It is designed to enable a seamless and reversible development process as
well as software contracting. It provides a textual, graphical and an informal representation
of the system to be developed and can thus help to reduce the communication gap between
technical and non-technical people (e.g. programmer and project manager) involved in the
design and implementation of software.
The Java Modeling Language (JML) is a formal specication language for Java. It follows
the Java syntax closely and its annotations are inserted directly into source code. By doing
so, it is easy for developers to learn and convenient to apply. It employs Design by Contract
by specifying preconditions, postconditions and invariants. With its extensive tool support
it is greatly suitable for development of commercial software.
To make the most of a software model, it has to be used throughout the development process,
not just for the initial draft. For example, it can be used to update high-level manager on
possible changes in the implementation without confusing them with technical details. This
can only be achieved when the model is always up-to-date during the entire development
process. This project aims to provide such synchronisation by checking the consistency
between a BON model and the corresponding Java source code with JML annotations.
Mandatory:
Familiarisation with software modeling and the BON method/language
Familiarisation with design by contract and the Java Modeling Language (JML)
Familiarisation with development of Eclipse plugins
Create a mapping between BON features and JML features and identify possible issues
where the two notations may not be (fully) compatible
Implement an Eclipse plugin that reads in a BON le (format to be decided) and
highlights dierences in the corresponding Java/JML souce code
Design and implement a test program
Discretionary:
Design a GUI that is clearly arranged and
exible
Include the option to generate Java skeleton code with JML annotations from BON
model
Make checks possible in both directions (BON - Java and Java - BON)
Internationalise the plugin
Download full report
http://kindsoftwaredocuments/reports/Darulova09.pdf