standard library package Connections {
doc
/*
* This package defines the base types for connections and related structural elements
* in the SysML language.
*/
private import Base::Anything;
private import Occurrences::Occurrence;
private import Occurrences::HappensDuring;
private import Objects::LinkObject;
private import Objects::linkObjects;
private import Objects::BinaryLinkObject;
private import Objects::binaryLinkObjects;
private import Transfers::Transfer;
private import Transfers::transfers;
private import Transfers::FlowTransfer;
private import Transfers::flowTransfers;
private import Transfers::FlowTransferBefore;
private import Transfers::flowTransfersBefore;
private import ScalarValues::Natural;
private import Parts::Part;
private import Parts::parts;
private import Actions::Action;
private import Actions::actions;
abstract connection def Connection :> LinkObject, Part {
doc
/*
* Connection is the most general class of links between things within some
* containing structure. Connection is the base type of all ConnectionDefinitions.
*/
}
abstract connection def BinaryConnection :> BinaryLinkObject, Connection {
doc
/*
* BinaryConnection is the most general class of binary links between two things
* within some containing structure. BinaryConnection is the base type of all
* ConnectionDefinitions with exactly two ends.
*/
end source: Anything :>> BinaryLinkObject::source;
end target: Anything :>> BinaryLinkObject::target;
}
abstract connection connections: Connection[0..*] nonunique :> linkObjects, parts {
doc
/*
* connections is the base feature of all ConnectionUsages.
*/
}
abstract connection binaryConnections: Connection[0..*] nonunique :> connections, binaryLinkObjects {
doc
/*
* binaryConnections is the base feature of all binary ConnectionUsages.
*/
}
}