The Observable namespace defines two classes with the word "Thread" in their name:
observable:MessageThread
observable:Thread
These classes are unrelated to one another. MessageThread pertains to reply chains of messages. Thread pertains to processes.
Another proposal is considering creating a class in the UCO Types namespace, Thread, to define a class similar to, but disjoint from, the Collections Ontology's co:List. The co:List is an ordered list, but totally ordered - it is strictly linear, and cannot fork. The types:Thread class under consideration presents linked-list qualities of co:List, but permits forking.
While defining types:Thread, the class observable:Thread came up while reviewing concept basenames (i.e. the names after namesapce prefixes) for uniqueness across UCO.
For the sake of the types:Thread class (which is under proposal), and for the sake of focusing observable:Thread to processes, it would benefit UCO to rename observable:Thread to reflect its scope.
Requirements
Requirement 1
observable:Thread should be renamed to prevent confusion with other concepts that include Thread in their basename.
Risk / Benefit analysis
Benefits
An incorrect substring-based association between observable:MessageThread and observable:ProcessThread is removed.
Risks
Towards the proposal to add types:Thread - the rename in this proposal admittedly shifts the substring-based association error to now confusing types:Thread and observable:ProcessThread. There is some relief in observable:ProcessThread generally not being mistaken as a list itself (though it certainly is frequently understood as a linked-list member).
A concept name change is a backwards-compatibility issue for current users of the observable:Thread class.
Competencies demonstrated
Competency 1
There are some classes in UCO that include the word "Thread".
Competency Question 1.1
How do they relate?
Result 1.1
In the current state of UCO (plus the other proposal), here is how classes fitting the pattern *Thread* relate to one another:
Background
The Observable namespace defines two classes with the word "Thread" in their name:
observable:MessageThread
observable:Thread
These classes are unrelated to one another.
MessageThread
pertains to reply chains of messages.Thread
pertains to processes.Another proposal is considering creating a class in the UCO Types namespace,
Thread
, to define a class similar to, but disjoint from, the Collections Ontology'sco:List
. Theco:List
is an ordered list, but totally ordered - it is strictly linear, and cannot fork. Thetypes:Thread
class under consideration presents linked-list qualities ofco:List
, but permits forking.While defining
types:Thread
, the classobservable:Thread
came up while reviewing concept basenames (i.e. the names after namesapce prefixes) for uniqueness across UCO.For the sake of the
types:Thread
class (which is under proposal), and for the sake of focusingobservable:Thread
to processes, it would benefit UCO to renameobservable:Thread
to reflect its scope.Requirements
Requirement 1
observable:Thread should be renamed to prevent confusion with other concepts that include
Thread
in their basename.Risk / Benefit analysis
Benefits
observable:MessageThread
andobservable:ProcessThread
is removed.Risks
types:Thread
- the rename in this proposal admittedly shifts the substring-based association error to now confusingtypes:Thread
andobservable:ProcessThread
. There is some relief inobservable:ProcessThread
generally not being mistaken as a list itself (though it certainly is frequently understood as a linked-list member).observable:Thread
class.Competencies demonstrated
Competency 1
There are some classes in UCO that include the word "Thread".
Competency Question 1.1
How do they relate?
Result 1.1
In the current state of UCO (plus the other proposal), here is how classes fitting the pattern
*Thread*
relate to one another:Solution suggestion
observable:Thread
toobservable:ProcessThread
.observable:ThreadFacet
to rename.)Coordination
develop