The University of Southampton
University of Southampton Institutional Repository

Methodology of refinement and decomposition in UML-B

Methodology of refinement and decomposition in UML-B
Methodology of refinement and decomposition in UML-B
UML-B is a UML-like graphical front end for Event-B that provides support for object-oriented modelling concepts. In particular, UML-B supports class diagrams and state machines, concepts that are not explicitly supported in plain Event-B. In Event-B, refinement is used to relate system models at different abstraction levels. The same abstraction-refinement concepts can also be applied in UML-B. This work introduces the notions of refined classes, refined state machines and extended classtypes to enable refinement of classes and state machines in UML-B. This work makes explicit the structures of class and state machine refinement in UML-B. This work also introduces seven refinement techniques which are, adding new attributes and associations, adding new classes, elaborating state, elaborating transition, moving a class event (or a state machine transition), adding new attributes and associations, and adding new class types.

In Event-B, decomposition is used to decompose a system into components. The same decomposition concepts can be applied in UML-B. This work introduces the techniques of flattening state machines and state grouping to facilitate a decomposition of a UML-B machine. This work also introduces the notion of composed machine which composes the component machines. The composed machine refines a machine which is being decomposed. The composed machine is used to ensure the composition of the component machines is a valid refinement. Together with the composed UML-B machine, the notions of included machine, composed event and constituent event are introduced.

The UML-B drawing tool and Event-B translator are extended to support the new refinement and decomposition concepts. A case study of an auto teller machine (ATM) is presented to validate the extensions of UML-B with regards to the above notions. The ATM case study also demonstrates the above techniques introduced in refinement and decomposition. In addition, this work provides guidelines for performing refinement and decomposition in UML-B and presents a number of generic invariants that may be used when refining a middleware. The middleware is a component via which a requesting component such as an ATM and a responding component such as bank interact in a distributed system.
Said, Mar Yah
918c308e-332d-4b9a-a2de-58d91e2ac0c6
Said, Mar Yah
918c308e-332d-4b9a-a2de-58d91e2ac0c6
Butler, Michael
54b9c2c7-2574-438e-9a36-6842a3d53ed0
Snook, Colin
b2055316-9f7a-4b31-8aa1-be0710046af2

Said, Mar Yah (2010) Methodology of refinement and decomposition in UML-B. University of Southampton, School of Electronics and Computer Science, Doctoral Thesis, 393pp.

Record type: Thesis (Doctoral)

Abstract

UML-B is a UML-like graphical front end for Event-B that provides support for object-oriented modelling concepts. In particular, UML-B supports class diagrams and state machines, concepts that are not explicitly supported in plain Event-B. In Event-B, refinement is used to relate system models at different abstraction levels. The same abstraction-refinement concepts can also be applied in UML-B. This work introduces the notions of refined classes, refined state machines and extended classtypes to enable refinement of classes and state machines in UML-B. This work makes explicit the structures of class and state machine refinement in UML-B. This work also introduces seven refinement techniques which are, adding new attributes and associations, adding new classes, elaborating state, elaborating transition, moving a class event (or a state machine transition), adding new attributes and associations, and adding new class types.

In Event-B, decomposition is used to decompose a system into components. The same decomposition concepts can be applied in UML-B. This work introduces the techniques of flattening state machines and state grouping to facilitate a decomposition of a UML-B machine. This work also introduces the notion of composed machine which composes the component machines. The composed machine refines a machine which is being decomposed. The composed machine is used to ensure the composition of the component machines is a valid refinement. Together with the composed UML-B machine, the notions of included machine, composed event and constituent event are introduced.

The UML-B drawing tool and Event-B translator are extended to support the new refinement and decomposition concepts. A case study of an auto teller machine (ATM) is presented to validate the extensions of UML-B with regards to the above notions. The ATM case study also demonstrates the above techniques introduced in refinement and decomposition. In addition, this work provides guidelines for performing refinement and decomposition in UML-B and presents a number of generic invariants that may be used when refining a middleware. The middleware is a component via which a requesting component such as an ATM and a responding component such as bank interact in a distributed system.

Text
ThesisM.pdf - Other
Download (3MB)

More information

Published date: September 2010
Organisations: University of Southampton

Identifiers

Local EPrints ID: 165419
URI: http://eprints.soton.ac.uk/id/eprint/165419
PURE UUID: ee4ac2cc-9586-40dc-ae58-80ec1255be79
ORCID for Michael Butler: ORCID iD orcid.org/0000-0003-4642-5373
ORCID for Colin Snook: ORCID iD orcid.org/0000-0002-0210-0983

Catalogue record

Date deposited: 21 Oct 2010 15:55
Last modified: 14 Mar 2024 02:46

Export record

Contributors

Author: Mar Yah Said
Thesis advisor: Michael Butler ORCID iD
Thesis advisor: Colin Snook ORCID iD

Download statistics

Downloads from ePrints over the past year. Other digital versions may also be available to download e.g. from the publisher's website.

View more statistics

Atom RSS 1.0 RSS 2.0

Contact ePrints Soton: eprints@soton.ac.uk

ePrints Soton supports OAI 2.0 with a base URL of http://eprints.soton.ac.uk/cgi/oai2

This repository has been built using EPrints software, developed at the University of Southampton, but available to everyone to use.

We use cookies to ensure that we give you the best experience on our website. If you continue without changing your settings, we will assume that you are happy to receive cookies on the University of Southampton website.

×