SysML Tools
Validator
The
Validator performs
conformance testing as a prerequisite to the
interoperability testing that is the central concern of the PlugFest. In the PlugFest process,
only exchange files that do well on the conformance criteria will be
allowed to be uploaded into the common area and shared with other participants.
The validator currently checks the following conformance criteria:
- UML/XMI anomalies: Many processors may function OK despite these
(including the Validator) but interoperability may be impaired:
- An object referenced (as xmi:idref) was not found in the file. Details
- The XMI uses a URI the Validator cannot resolve Details
- The members of a Set are not unique. Details
- A property of the object doesn't specify a value where one is required. Details
- No Class with the name specified was found in the model. Details
- The class of the object does not define the property specified. Details
- The processor cannot infer the type implied. Details
- The value of a property violates the multiplicity constraint
of the property. Details
- The value of a property is incompatible with its declared type. Details
- The object to be extended by the stereotype is not of a type that can be
extended by the stereotype. Details
- The object to be extended by the stereotype, referenced by its xmi:id could not be found. Details
- The XMI implies the creation of instances of an abstract class. Details
- The evaluation of an OCL constraint against the object returned ocl:False. Details
- There was an error while executing OCL code. Details
- There was an error while executing OCL that provides the value of a derived attribute. Details
- OCL code tried to evaluate a declared derived attribute for which derivation is absent. Details
- The file contains two or more XML elements with identical xmi:id. Details
- The file contains two or more XML elements with identical xmi:id. Details
- A list of references specified by XMI encoding rule 2j uses
more than one space between references. Details
- Major errors: It is unlikely that a processor will function when faced with these.
(The valiadator will report the error and stop.):
- No uml:Model element can be found in the XMI file.
- XML errors.
- Validator Limitations: These are things that are not problems with the
exchange file, but rather current limitations of the validation tool. The
Validator sometimes sets properties in the model to an enumeration value
'TOOL-LIMITATION' to express the occurrence of the limitation. Instances of these
are reported too.
Additional notes about the Validator
Here are some things to keep in mind when using the Validator:
- Objects are represented as:
- < 'className' 'instanceName', id='someNumber'> if it is a NamedElement with a name;
- < 'className' <<'stereotypeName'>> 'instanceName', id='someNumber'> if it is stereotyped object with a name;
- < 'className' [unnamed], id='someNumber'> if it is an unnamed NamedElement, and;
- < 'className' id='someNumber'> otherwise.
The 'id' has no meaning outside of the Validator. - Enumerations are represented as the enumeration value preceded by a '#'.
- Collections are represented by < Set|Bag|Sequence|OrderedSet of 'elementCount' 'type' >
- The value of a Collection is represented by ['value' , 'value'....].
- Unset values are represented by 'null'
- The errors are listed in an order suggested for their resolution
(resolve the earlier ones first). The reason we suggest this ordering
is that some of the earlier errors have repercusions (they produce subsequent errors).
There is little point in investigating a 'missing mandatory' value error,
for example, when the source of the error is reported more specifically
as use of an xmi:idref where the referent is not in the file.
- When the Model attempts to define a Set, but the members supplied
contain duplicates, the Validator reports the error and creates a Bag
with all the members. Using a Bag might have repercusions in later
processing, but removing the duplicates and creating a Set is
simplistic and can also lead to downstream problems. Note: The error
message, but not the Model, describes the object as a Set. The corresponding
Bag in the Model has an id one greater than the offending Set object
reported in the error message.
- Validator results are available for 30 minutes after the file is run.
After 30 minutes, the information associated with the run (information
attached to the session cookie) is garbage collected.
If 30 minutes seems too short, let me know.
UML Class (and SysML Profile) Browser
The
Browser provides a view into UML and SysML object definitions.
Model Diff
The Model Diff tool (currently under construction) allows comparison
of two similar models. Differences are described as 'edits' which would
make one of the models identical with the other. The Model Diff tool
is useful in interoperability analysis, because it can be used to
compare exchange files from the various participants. The tool compares
instances of uml:Model, not XMI files. That is, it reads the two XMI
exchange files, creating two in-memory object networks containing uml:Model elements
(among other elements, of course!) and compares the networks.
Send questions or comments to
se-interop@nist.gov.
Date Created: April 24, 2006
Last Modified: July 27, 2009