blob: 34aae0820832f7cb2f3b9b61c8453c27a008d0c8 [file] [log] [blame]
@namespace(uri="http://www.eclipse.org/mdt/uml2tools/timing-diagram/1.0", prefix="uml2t.timingd")
package timingd;
class DFrameContainer {
ref UMLPackage pakkage;
val DFrame[*]#container frames;
}
class DFrame {
ref DFrameContainer#frames container;
ref UMLInteraction[1] interaction;
attr String displayName;
val DBlock[+]#frame blocks;
val DInterval[*]#frame intervals;
val DMessage[*]#frame messages;
}
class DBlock {
ref UMLLifeline lifeline;
ref DFrame#blocks frame;
attr String displayName;
val DValueLine[*]#block states;
val DStateSwitch[*] switches;
val DPointConstraint[*] constraint;
val DTick[*]#block ticks;
}
class DValueLine {
ref DBlock#states block;
val UMLConstraint invariantTemplate;
val DSegment[*]#state segments;
attr String displayName;
}
class DSegment {
op boolean isClosedSegment();
ref DValueLine#segments state;
val DSegmentStart#segment start;
val DSegmentEnd#segment end;
val DSegmentMiddlePoint[*]#segment middlePoints;
ref DStateSwitch endSwitch;
ref UMLOccurrenceSpecification startOccurrence;
}
class DSegmentElement {
ref UMLOccurrenceSpecification occurrence;
attr String debugId;
ref DTick#subject tick;
}
class DSegmentMiddlePoint extends DSegmentElement {
ref DSegment#middlePoints segment;
}
class DSegmentStart extends DSegmentElement {
ref UMLStateInvariant stateInvariant;
ref DSegment#start segment;
ref DStateSwitch#toSegmentStart incomingSwitch;
}
class DSegmentEnd extends DSegmentElement {
ref DSegment#end segment;
ref DStateSwitch#fromSegmentEnd switch;
}
class DStateSwitch {
ref DSegmentEnd#switch fromSegmentEnd;
ref DSegmentStart#incomingSwitch toSegmentStart;
ref DSegment fromSegment;
ref DSegment toSegment;
ref DValueLine fromValueLine;
ref DValueLine toValueLine;
}
class DMessage {
ref UMLMessage umlMessage;
attr String displayName;
ref DFrame#messages frame;
ref DSegmentElement messageSource;
ref DSegmentElement messageTarget;
}
class DInterval {
ref UMLDurationConstraint durationConstraint;
attr String duration;
ref DFrame#intervals frame;
ref DTick fromTick;
ref DTick toTick;
}
class DPointConstraint {
ref UMLConstraint constraint;
ref DSegmentElement constraintedSegmentElement;
}
class DTick {
ref UMLOccurrenceSpecification occurrence;
ref DBlock#ticks block;
ref DSegmentElement#tick subject;
}
abstract interface UMLConstraint : org.eclipse.uml2.uml.Constraint {}
abstract interface UMLStateInvariant : org.eclipse.uml2.uml.StateInvariant {}
abstract interface UMLInteraction : org.eclipse.uml2.uml.Interaction {}
abstract interface UMLPackage : org.eclipse.uml2.uml.Package {}
abstract interface UMLLifeline : org.eclipse.uml2.uml.Lifeline {}
abstract interface UMLOccurrenceSpecification : org.eclipse.uml2.uml.OccurrenceSpecification {}
abstract interface UMLMessage : org.eclipse.uml2.uml.Message {}
abstract interface UMLDurationConstraint : org.eclipse.uml2.uml.DurationConstraint {}