The rCOS Tool is to support component-based model driven software development using the rCOS (Refinement of Component and Object Systems) method. It provides an UML-like multi-view and multi-notational modeling and a design platform with the ability to add plug-ins.
The tool supports the rCOS method in model construction, analysis, verification and correctness preserving transformations; and it generates verifiable code from design models.
The special features of the tool include:
- In the requirements phase, it facilitates both the development process and the persistence of formal verification artifacts in the model: a use case is specified as a rCOS contracts of a components in multiple views, including a sequence diagram for the interaction protocol between the actors and the component, a state diagram for the reactive behaviour of the component, the UTP specification of the designs of the methods provided by the component, and a class diagram for definitions of the objects and data types.
- In the design phase, use case components are designed by model transformations implementing proved OO refinement rules and design patterns, and then decomposed and composed into a component-based model of a logical design architecture.
- Consistency of the different views of the requirements models and interface compatibilities can be checked by using model checking tools like FDR.
- It supports the generation of skeletons Java sourcecode out of the whole design which results in an executable prototype.
The tool is implemented on top of the Eclipse platform using a UML profile, ensuring compatibility with other UML-based software engineering tools.