Monitor

From USE: UML-based Specification Environment
Jump to: navigation, search

The USE Monitor plugin connects USE to a running Java application and to use this apllication as a "driver" for the system state of USE.

The monitor allows to validate assumptions aboput a given system at runtime.

To be able to monitor an application, a USE specification of the system is needed. We call this specification a Platform Aligned Model (PAM). This model contains a subset of the overall system and is annotated with special monitor related information.

Supported Model Annotations

The monitor looks for an annotation called @Monitor for certain elements in the specification. For different elements different name value pairs are supported which are explained next.

name

With this annnotation attribute or tag, the implementation name of a model element can specified. For example, an attribute in the USE specification can be renamed to a more abstract name or it is must be renamed because it is a keyword.

The following example renames the implementation class PersonImpl to Person in USE.

   @Monitor(name="PersonImpl")
   class Person 
     ...
   end

Applicable to: classes, attributes, association ends, operations

ignore

Using this tag, the given USE element is ignored by the monitor.

Applicable to: classes

ignoreSublcasses

This tag, if set to true, forces the monitor to ignore all subclasses of the implementation class if they are not specified in the model. Otherwise instances of subclasses which are not specified in the use model will be created as objects of this class.

Applicable to: classes

value

Using this annotation the value of an attribute can be set to special information from the runtime. Possible values for this annotation attribute are:

  • classname: The value of the attribut is set to the class name of the runtime class. This is espacially usefull if only a base class is monitored.

Applicable to: Attribute