Linking Operational Roles with Mode State Machines and Operational Entity Scenarios

Hi,

How to Operational Roles work with OES, MSM and, Actors/Entity activity allocation.

I’m going back and forth between OA and SA. I have come to the conclusion there are several actors and entities that can share responsibilities (e.g., the machine manager can do most of the things the machine driver can do, hence he can assume the role of driver when needed).

I have gone back and reworked OAB and OES to:

  • create driver and manager roles;
  • allocate activities to those roles;
  • allocate those roles (with the allocated activities) to entities, i.e., the manager has both the manager and driver roles
  • recreated OES to have roles instead of entities.

See the below pictures
Roles with activities:

Roles allocated to actors/entities:

I can no longer represent MSM in OES for roles, neither can I represent activities for entities (because they are all allocated to the roles, even though the roles are allocated to the entities). I can only seem to add MSM to entities. In the picture my intention was to transfer the state fragments from the entities to the roles and delete the entities (or, as I originally thought I could do, leave the diagrams with the entities represented and elsewhere in OAB, or ORB show the allocation of the roles)

The problem I now have is in the semantic browser, the entities have allocated roles but no allocated activities. Similarly the roles do not have the MSM associated with them and I cannot create a MSM for a role, hence I cannot show the states and modes of the entities (roles) on my OES.

Can someone please explain how these concepts are linked and how they should be correctly implemented in my case.

Many thanks

Can someone please shed some light on this please?

Hello,
I am facing the same problem and I believe it is rather a limitation (a.k.a. bug) of the tool.
How did you deal with it?

Best regards

Hi @BenoitViaud and @sbeaz,

That’s an interesting question. However, for the above example, and similar, where there is a role “driver” allocated to two different entities AND if the role is represented in the [OES], how it will be possible to understand to which entity the diagram is referring to?

Potentially, roles could be represented in the same way as Modes & States against the entity lifeline.
A possible solution may be to add a fragment with the condition guard associated to the role.

I hope it does help,
Hélder Castro

Hello,

Thanks for the feedback.
Actually my problem is rather on the Modes & States side.
The activities allocated to a role are not available in a M&S associated to the Operational Entity that plays this role.
I’ve created an issue for that matter here :

Best regards,

Benoit

1 Like

@BenoitViaud,

Have you considered the following:

  • Create a second Operational Entity (OE): “OperationalEntity2”.
  • Allocate the same “Role1” with the already allocated Operational Activity (OA): “OperationalActivity 1” to the newly created OE?

If the M&S was able to execute the Do Activity OperationalActivity 1, what OE will execute? Both?

Having only available OA(s) to M&S only allocated to OE seems to make sense as it provides the context for the OA, otherwise in terms of ownership and execution may there be conflicts.

I hope that helps,
Hélder Castro

Thank you @HelderCastro,

Yes, I think using Modes & States to represent a role for an entity could be a work around in some cases. Given your comments above about roles potentially leading to conflicts in M&S on executing allocated activities, I’m left with the question “what is the useful purpose of the Role type in the OA”? Finding that I could not use them with M&S, and that entities could not access those activities allocated to the roles that themselves were allocated to those entities, made me go back an re-re-work my model to its original state - I abandoned the use of Roles because they seemed to limited (and limiting). What are your thoughts on the use of the Roles concept? How should we be using them? Are they needing further development in the framework, or are they fully developed but just a limited concept? I would like to know how to use them correctly if my understanding is lacking. Thanks!

@sbeaz,

I have found an old post that may contribute to the discussion: