[Moims-mp] MO ObjectIDs and References

roger.rocketbrain at btinternet.com roger.rocketbrain at btinternet.com
Wed May 26 14:41:10 UTC 2021


Sorry, error below - Version is of type UInteger.
 
From: MOIMS-MP <moims-mp-bounces at mailman.ccsds.org> On Behalf Of Roger
Thompson via MOIMS-MP
Sent: 26 May 2021 15:26
To: moims-mp at mailman.ccsds.org
Subject: [Moims-mp] MO ObjectIDs and References
 
Hi All,
 
Just to let you know that the decision on ObjectIDs and References was
revisited again in today's SM&C meeting.
The end position is closer to what I was asking for in the first place, so
there is minimal impact for our current model.
 
Latest view:
 
Object identity is defined by the 5 elements previously identified:
*	Domain:  Ordered List of MAL::Identifier
*	Area:  MAL::Identifier
*	Type: MAL::Identifier
*	Key: MAL::Identifier
*	Version: MAL::Identifier
 
MAL::Identifier can be encoded as a String ("mnemonic") or associated Number
 
A data structure ObjectIdentity is defined that can be included in an MO
Object to define its identity.  This only comprises:
*	Domain: Ordered List of MAL::Identifier
*	Key: MAL::Identifier
*	Version: MAL::Identifier
Area and Type are omitted as they are implicit in the context of an MO
Object - if the ObjectIdentity is included in a data type (MO Object) such
as RequestInstance, then it is implicit that the Area is MPS and Type is
RequestInstance.
 
A second data structure ObjectRef is defined, and is also considered a first
level MAL Attribute type, which comprises all five elements of Identity.  
*	Domain:  Ordered List of MAL::Identifier
*	Area:  MAL::Identifier [optional]
*	Type: MAL::Identifier [optional]
*	Key: MAL::Identifier
*	Version: MAL::Identifier
 
This is used for references to other objects.  Attributes of data structures
(including MO Objects) that contain an ObjectRef would be declared as such,
for example:
*	relatedEvent:  MAL::ObjectRef
which is exactly what our current Information Model says.
 
The Area and Type are optional within an ObjectRef, as the type may be
implicit in a specific case - for example the Definition attribute of an
AcivityInstance must point to a ActivityDefinition, so the Area and Type do
not have to be specified.
 
For MPS this means MAL::ObjectRef stands; MAL::ObjectID and MAL::Version are
replaced by MAL::ObjectIdentity, which is a data structure (MAL::Composite
not MAL::Attribute) and includes Domain, Key and Version.
 
Polymorphic restriction on MAL::Composites is removed as previously agreed.
Polymorphic restriction on MAL::Element is also removed, but it is not
recommended to make use of this in a standard as it is more complex to
implement and therefore may not be supported by all implementations.
 
Cheers,
 
Roger
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ccsds.org/pipermail/moims-mp/attachments/20210526/dd5bb897/attachment-0001.htm>


More information about the MOIMS-MP mailing list