maul-esel / ssharp

S# is a formal modeling and safety analysis framework for safety-critical systems. It provides a domain specific modeling language and fully automated formal safety analysis tools based on C# and .NET.
http://safetysharp.isse.de/wiki
MIT License
0 stars 1 forks source link

Reconfiguration must handle resource requests #26

Closed maul-esel closed 7 years ago

maul-esel commented 7 years ago

Agents should remove resource requests other agents made, if they can no longer handle the resource. They should also remove the requests they made to another agent, since they will have dropped their resource. One of these might suffice, but make sure that dead agents don't break this.

Without this, analysing the robot cell yields exceptions:

System.InvalidOperationException: no role found for resource request: invariant violated!
   at SafetySharp.Odp.BaseAgent.ResourceReady(BaseAgent agent, Condition condition) in C:\Users\ssharp\ssharp\Source\Odp\BaseAgent.cs:line 228
   at SafetySharp.Odp.BaseAgent.Work() in C:\Users\ssharp\ssharp\Source\Odp\BaseAgent.cs:line 129
   at SafetySharp.Odp.BaseAgent.<UpdateAsync>d__18.MoveNext() in C:\Users\ssharp\ssharp\Source\Odp\BaseAgent.cs:line 64