Modelling
Engineering design uses modelling in a wide variety of fields. Computer-based modelling systems for software are essential for rapid and reliable development of software. Modelling software during its analysis and design stages enables:
- The creation of a clear view of the system's architecture. This means that the relationships between developed components may be viewed graphically helping the designer assess how to arrive at a good solution to a problem. The architectural view is multi-faceted, as it provides both logical and physical structures for the software. This means that the functional organisation as well as the modular and deployment structures are developed in visual models.
-
Dynamic models may be created, which help to explore and define how the system under development
actually works. Diagrams that display this sort of view include:
- Activity diagrams which show how the flow of control is established in a program. They are found to be particularly useful when analysing Use Cases to ensure that the specifications correctly capture a system unambiguously.
- Sequence Diagrams, which show the interactions between the system and the outside world, or between internal system components. These diagrams represent the essential message flows that define the system's internal temporal structure.
- Statecharts, which are used to define the control behaviour of system components. By using a state-based formalism, and then converting the models' control structures automatically into code the designer has a tool that greatly helps in the creation of reliable software that conforms to its specified control regime.
- As models are developed the system's defining requirements should be traced to indicate how they are covered by model elements. Since the model elements have direct correspondence with the code that is developed a high degree of quality assurance is effectively built in. Our TraceIT® tracer provides the required functionality to link requirements defined in DOORS®. to model elements created in Rhapsody®.
- By creating dynamic models at an early stage of development, which explore the interactions between the system under development and the outside world, we have the possibility of experimenting with the models. Rhapsody® is able to generate code from such models, which can be exercised through sending and receiving the messages defined in Sequence Diagrams. We have developed an automated connector that enables the designer readily to link model elements to experimental user interfaces defined in simple HTML. The connector is a part of the forthcoming version 2 release of the TraceIT® tracer.
Modelling tools
We use IBM Rational Rhapsody®, to design and build software for our customers. Rhapsody creates large proportions of code in a variety of programming languages directly from the models that it manages.
With Rhapsody® we are able to simulate and review a system under construction and to undertake experiments. This results in a robust design which has been verified at an early stage helping to ensure that errors are corrected at the earliest opportunity in the development cycle; reducing costs and the risk of project failure.
Modelling with tools allows us to ensure that all parts of a specification are traced into the model. Conversely, all model artefacts can be linked back to specification. Such tracing, which is essential in the production of software for high reliability markets, such as the medical device industry, enables automated validation of many aspects of a system under development and also greatly helps in producing the documentation required in a regulated environment.
Rhapsody was primarily developed for the development of embedded software. It is by no means restricted to this sector, as it is very effective at creating designs and implementations for Windows and other systems. Its embedded software support comes through its ability to manage a UML based design that may be subsequently ported to a range of platforms.
Rhapsody uses an underlying applications framework that provides a generic interface between its own mechanisms and those of an operating system. Rhapsody has a variety of such application frameworks that range from the sophisticated to minimal, so that the resource demands of the modelling system may be tailored right down to support of minimally configured 8 bit machines.
| Home | Solutions |