CLEWS - CLass Editor With Semantics
CLEWS is a tool for the development of UML class diagrams for configuration management and the (semi-)automatic verification of the modeled diagrams. Currently, CLEWS is only a prototype.
The term configuration as used here refers to an arrangement of
functional units according to their nature, number, and chief
Functional units may be software or hardware components like computer programs, electronic circuits, or parts of a machine. A major issue is to specify admissible arrangements in a natural way, to set them up according to certain criteria of optimality, and to maintain them when requirements change. These activities are called configuration management. In this context, a class diagram is a specification (of the component types, their properties and interrelations), and the collection of concrete instances together with their relations is a configuration.
Using class diagrams for configuration management emphasises aspects and questions, which are unusual in standard software engineering. The main difference probably is the status of instances. In software engineering, instances are second- or rather third-class citizens: first comes the model, second the program as a refinement of the model, and only at runtime, instances are created and destroyed dynamically; in many cases instances do not exist independently of programs and models. In contrast, configurations have a life of their own. A train station and its components remain even if the
specification of the components and the construction processes cease to exist. A question like ``Given a model, what is its smallest instantiation satisfying all constraints?'' is rarely asked in software engineering, while using less components for some purpose clearly is more economical than using more.
- Manage Specifications in form of annotated UML class diagrams
- Automatically check specifications, mark inconsistent parts of specifications
- Manage configurations
- Automatically check if configurations are valid instances of a specification, show reasons why a configuration is not an instance of a configuration
- Import/Export of specifications and configurations as XML or text
- Export diagrams (specifications, configurations) as image file (jpg, gif, png)
- Manage constraints as equations over compositions of associations
- Generation of minimal configurations from specifications (currently not yet respecting equational constraints)
- Use of constraints to find tighter upper bounds in specifications
CLEWS is available for both Linux and Windows and can be downloaded
in the Download-Area.