Skip to content


Kevin Brightwell edited this page Aug 26, 2015 · 1 revision
Clone this wiki locally

MOTL and Umple code semantics and snippets that should be in the user manual

The following should be either:

  • (if they are proposed): Transferred into DraftManualPages after discussion
  • (if they are already implemented) Added directly to the user manual.

Examples will also become test cases.

MOTL stuff

Information output in a trace

We need to output identification information for objects.

Just outputting name=9 is useless when there are many objects. If there is an umple key, it should be output.

Probably if there is a 'record' clause, whatever is in it should be used instead of 'making up' our own default record clause. (other than the changed value which would always be needed presumably).

We also need to look at LTTNG and DTRACE and discover the commonalities in the data they output. It seems to me that the timestamp would be useful.

Tracing methods

This dependent on injecting before and after into user-defined methods.

Tracing a class as a whole

The following is a new idea, useful for completeness

class X
  // The trace keyword on its own would trace all entities in this class,
  // including attributes, state machines and associations
  Integer y;
  String s;

Attributes, associations etc

Use of internal; using code that is external

external CheckBox {} class X { isA CheckBox; depend android.widget.CheckBox; }

State machine details

Nested states.

Semantics of sequence of entry and exit actions (sequence with which they are fired)

Queuing semantics (for upcoming implementation)

Semantics of do activities and pre-empting with an event.


Other things

API details

Manual page with summary of the API generated from attributes, associations, state machines etc. Although people can generate code and look at the javadoc, a nice compact summary, would serve as a quick reference, and also a specification. This should be written as a set of tables. For examples, rows showing the method name/arguments and columns showing cases in which this will be /is generated.

Other tools