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
characteristics.
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.
CLEWS Features
- 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.