Modelling abnormal (exception) behaviours

As a newbie to Arcadia I am struggling to understand when and how abnormal behaviours should be included in the model.
At the Operational Analysis level, most Operational Capabilities will have failure conditions that may or may not be recoverable. With Use Case modelling approaches (in say SysML) this can be catered for relatively easily. How is done in Arcadia?
In general, I note (at least as far as I have understood) that functional modelling with activities does not include the concepts of alternative flow or that of activity termination. Consequentially, modelling how the system’s behaviour reacts to events (good and bad) seems to be very difficult. However, I also note the concept of function chains as developed through the use of scenarios, and the use of states & modes to enable specific behaviours. If this is a suitable way to model abnormal/exception behaviours then it would be good to be able to read a good explantation of how to do it, may be also with an example model that illustrates it.
many thanks
Dave B.

Here are the main concepts to use for your purpose (you identified most of them
1 - In Arcadia and Capella, the notions of Missions and Capabilities are used to express Use (or Misuse) Cases.
To accomplish a mission, some capabilities are required; they are described by means of scenarios and functional chains, expressing how the system functions and exchanges are involved in the capability. Each scenario or functional chain describes the way the dataflow (functions and functional exchanges) is effective in a given context.
So you should consider creating different capabilities :

  • some capabilities describing expected behaviour (“sunny days scenarios”), through appropriate scenarios and functional chains,
  • some capabilities describing unwanted or abnormal behaviour (“rainy days scenarios”), in the same way.
    2 - If you want to go further, describing e.g. nominal behaviour and failures alternatively or successively, then you have to describe alternatives in scenarios or functional chains.
    To describe alternative flows, you can use functions of ‘Select’ kind. This is expected to be used to describe data-flow originated alternatives (mostly depending on the flow contents). Note also that an exchange item can be characterised as an event, among others.
    To describe alternatives in capability scenarios, you can use the ‘ALT’ fragment construct, defining one region for each alternative behaviour in the fragment. In functional chains, the next version of Capella should similarly allow adding ‘sequence links’ dealing with alternatives.
    3 - In order to define evolution of the context and the situation, Modes and States machines can be defined (typically, modes will describe expected behaviours and their conditions of transitions, while states will describe unexpected or unmanaged situations, such as failures, among others); both will “run” in parallel, and may be triggered by dataflow (e.g. functional exchanges).
    A mode may specify e.g. those functions or functional chains that should be available (and more) in the mode; a state may specify e.g. components that are in order or out of order.
    Note that a scenario can describe a transition from one mode, state or combination, to another.

Just to complete: Sequence Links concept, and more generally the capability of adding control flow information to Functional Chains, is already provided in Capella 1.3.1. You can check here: nd_Controlling_Functional_Chains_in_Capella.

Copyright © Eclipse Capella, the Eclipse Capella logo, Eclipse and the Eclipse logo are Trademarks of The Eclipse Foundation.