Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PointGroup #278

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open

Conversation

zhluktenko
Copy link

PointGroup

PointGroup is a new base class to represent an abstract entity to group Points and all subclasses. Point group is equivalent to REC Device. There is Equipment in REC4, which is an asset and represents the physical aspect of “devices” as they are commonly understood. Therefore, it would be misleading to use the “device” label. However, there is a common need to represent the abstract grouping of points (e.g. as they are modeled in a control system) where oftentimes either the physical grouping is not known, or where there might not be any physical group - no Equipment. Apart from representing a control system model, there is a need to group points into abstract objects that communicate jointly.

There are Collection subclasses that relate to strictly physical groupings (e.g. EquipmentCollection), and larger collections e.g. System. There is no suitable affordance in REC4.
Furthermore, since Points are organized in hierarchies that span multiple levels, and REC does not allow for collections of collections, it is not possible to model these multi-level hierarchies with a collection at all. Hence we suggest that PointGroup is a new base class.

This entity contains two relations:

  • locatedIn - target class Space;
  • hasMember - target class Point;

locatedIn - is a relation to show the main location (Space) of all Points, that are grouped.
hasMember - represents all Points included in the group, reverse relation to "isMemberOf".

Display name: PointGroup
DTMI: dtmi:org:w3id:rec:PointGroup;1

Point relations

Alongside the new PointGroup base class, Point and all subclasses are extended with a new relation - isMemberOf.
"isMemberOf" has a target class "PointGroup".

Also to separate relations in Point between Asset and Space, a new relation in Point class was added - locatedIn relation indicates an exact Space where Point is located.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant