=Paper= {{Paper |id=Vol-2019/modevva_6 |storemode=property |title=Hierarchical Model Exploration for Exposing Off-nominal Behaviors |pdfUrl=https://ceur-ws.org/Vol-2019/modevva_6.pdf |volume=Vol-2019 |authors=Kaushik Madala,Hyunsook Do,Daniel Aceituna |dblpUrl=https://dblp.org/rec/conf/models/MadalaDA17 }} ==Hierarchical Model Exploration for Exposing Off-nominal Behaviors== https://ceur-ws.org/Vol-2019/modevva_6.pdf
         Hierarchical Model Exploration for Exposing
                    Off-Nominal Behaviors
                Kaushik Madala                                 Hyunsook Do                             Daniel Aceituna
       Computer Science and Engineering             Computer Science and Engineering              DISTek Integration, Inc.
          University of North Texas                    University of North Texas                 Daniel.Aceituna@distek.com
         kaushik.madala@my.unt.edu                       hyunsook.do@unt.edu



   Abstract—Finding and addressing off-nominal behaviors in           implemented the enhanced causal component model (ECCM)
the later phases of the software development life cycle is costly     by considering hierarchical model exploration to reduce the
and time consuming. In our previous work, we proposed the             state and rule explosion problem [11]. The main intention
causal component model (CCM), a semi-automated approach
that can expose off-nominal behaviors in requirements. The            of proposed approach is to reduce scalability issues because
empirical study with CCM showed promising results, but CCM            of sub-states. The main idea of our approach is that, as the
has limitations with scalability. To reduce the scalability issues,   component state transitions among super-states do not require
in particular because of hierarchical relationships, we propose       the details of sub-states, when they are analyzed separately, the
an enhanced causal component model that uses hierarchical             number of system-states and system transition rules generated
model exploration. The results of our case study indicate that
the proposed approach reduces the state/rule explosion problem        are small, and thus it simplifies the model analysis. To evaluate
and detects off-nominal behaviors.                                    our proposed approach, we performed a case study using the
                                                                      pacemaker requirements document [12]. Our results indicate
                       I. I NTRODUCTION                               that the ECCM can reduce the state and rule explosion problem
   Embedded systems provide enormous benefits[1]. However,            and detect ONBs.
most embedded systems are susceptible to off-nominal behav-              The rest of paper is organized as follows. Section II provides
iors (ONBs) [2], [3] that can lead to system failure. ONBs            background information on the CCM, and Section III presents
are unexpected or unintended behaviors [2], [3]. ONBs can             the proposed approach. Sections IV and V present a case study
be caused by various reasons such as a user performing an             and discuss the results of the study. Sections VI and VII present
operation or triggering an event without following the correct        related work, and conclusions respectively.
procedure, two components of system being in contradictory
states of operation, or environmental factors affecting the                             II. BACKGROUND
system’s operations. For example, in a microwave oven, an
unexpected behavior would be the oven cooking while the door        The causal component model (CCM) [7] is generated from
is open.                                                          requirements to expose ONBs. It models the system behavior
   To date, various approaches for detecting and correcting using three model elements: component, state, and transition
ONBs have been proposed, but many of these approaches condition. A component is an entity that is a part of the
require product implementation [4], [5], [6] and only a few of system’s composition that can change states or trigger a state
them are at requirements level [2], [7]. However, catching and change in other components. In the case of embedded systems,
correcting defects in the later phase of software development components can be both hardware and associated software
is usually more time consuming and costly than catching them functional units. For example, in a robot system, components
in an early phase (e.g., requirements engineering phase) [8], might include the motor, gyroscope and ultrasonic sensor. Each
[9].                                                              component has its own set of possible states, such as a motor
   To address this lack, our previous work proposed the causal in a robot having off and on states. These states are component
component model (CCM) [7], which generates a model from the states. Components’ states can be grouped together to form a
rules created from natural language requirements and performs system state. For example, in a robot system, while motor in
a model analysis against undesired behaviors. While empirical its ‘on’ state is referred as component state, the state of robot
studies with the CCM approach showed promising results, when motor is ‘on’, gyroscope is ‘on’ and ultrasonic sensor is
the approach has limitations with scalability. CCM suffers ‘on’ represents the system state of robot . Transition condition
from state explosion and rule explosion problems, and cannot is the event or condition that trigger for a state transition.
handle sub-states without performing state flattening [10]. State These transition conditions can be environmental (i.e, a person
flattening removes hierarchical relationships and results in or environmental factor triggers events), or system related
atomic states, which can affect dependencies in a hierarchy (i.e, component states trigger state transitions). These model
and lead to a large number of state transitions in CCM. To elements are identified in natural language requirements and
handle these limitations, we improved the CCM approach and transition rules are written. The transition rules are in the form
of mapping function Transition Condition: Component(current              graph-based technique for analyzing off-nominal behaviors
state) → Component(next state).                                          (ONBs), the dependencies between the components are not
   The component states are combined into system states,                 lost.
converting component state transition rules to system state
transition rules. The ONBs that could be caused by non-                   Algorithm 1: Generation of Rule Sets
recoverable and undesired states are found by checking the                      input : A set of components in system C = {C1 , C2 , C3 , ..., Cn }
                                                                                         A set of states at level 0 for each component
model against undesired rules. Once the ONBs are determined,                             maxlevel, maximum level of sub-states
the stakeholders can address the problems. The process is                                Sets of sub-states for each component at level 1, 2, 3, ..., maxlevel
                                                                                         Rules R = {R1 , R2 , R3 , R4 , ..., Rw }
repeated until the outcome satisfies the stakeholders. More                     output : Rulesets
detailed discussion of CCM can be found in [7].
                                                                            1   rulesetnum = 0;
          III. T HE P ROPOSED A PPROACH : ECCM                              2   for currentlevel ← 0 to maxlevel do
                                                                            3        if currentlevel == 0 then
   To address the limitations of the CCM, we propose the                    4             foreach Rule Ri in R do
enhanced causal component model (ECCM). Figure 1 illustrates                5                   if states in Ri ∈ any of component-states at level 0 then
                                                                            6                         Rulesets[rulesetnum] ← Rulesets[rulesetnum] ∪ Ri ;
an overview of the proposed approach. The ovals represent the
processes and the rectangles represent the software artifacts               7               rulesetnum ← rulesetnum+1;
(inputs and outputs of the processes). The numbers just outside             8        else
                                                                            9               foreach Component Ci in C do
the ovals indicate step numbers. Each step is detailed as follows:         10                    if Component Ci has sub-states at level = currentlevel
1: Convert natural language requirements to ECCM specifica-                                        then
                                                                           11                         foreach Rule Ri in R do
tions: The first step is to convert natural language requirements          12                              if component in Ri == Ci then
into ECCM specifications. To convert the requirements to                   13                                   if state in Ri ∈ sub-states of Ci at level =
                                                                                                                  currentlevel then
the input specification to generate ECCM, we identify model                14                                         truncate states with lower level
elements: components, components’ states, and transition                                                                sub-states;
                                                                           15                                         Rulesets[rulesetnum] ←
conditions. The explanation on these model elements can                                                                 Rulesets[rulesetnum] ∪ Ri ;
be found in Section II. The input specification of ECCM is
                                                                           16                              else
component state transition rules. A transition rule of ECCM                17                                     if states in Ri ∈ any of states at level 0
is in the form of Transition Condition: Component(current                                                           then
                                                                           18                                          Rulesets[rulesetnum] ←
state) → Component(next state). After identifying the model                                                              Rulesets[rulesetnum] ∪ Ri ;
elements, the transition rules are created. Because ECCM                   19                                     rulesetnum ← rulesetnum+1;
considers sub-states differently than CCM approach (where
states are flattened), we represent sub-state as parent state
followed by dot (‘.’) followed by sub-state. For example, a
component motor has ‘off’ and ‘on’ states and ‘on’ state
has ‘accelerate’ and ‘decelerate’ states. ‘On’ state of motor               Algorithm 1 partitions the rules into rule sets. The algorithm
is represented as Motor(on), where as ‘accelerate’ sub-state             generates rule sets until all levels of sub-states are covered. It
of ‘on’ state is represented as Motor(on.accelerate). If there           initially generates rule set containing the higher level (abstract)
are multiple levels of sub-states, then the representation will          representation of system. Once, this rule set is generated, each
be the outer most state followed by dot (‘.’) followed by its            component that has sub-states is taken, and for each level of sub-
sub-state followed by dot followed by its sub-state and the              states in component, treating states of other components to be at
process is repeated until the inner-most sub-state which needs           abstract level, rule sets are generated. Once all the rule sets are
to be represented is found.                                              generated, each rule set is allocated to a thread in multithreading
   2.) Partition rules into rule sets: The rules generated may           environment to perform rule expansion concurrently.
result in too many system states, and consequently the number               3.) Rule expansion: To analyze ONBs, we generate the
of system transition rules created may also be increased. In             system states from the component-states. We generate system
order to reduce state explosion and rule explosion, we partition         states from component-states because, at any given instance,
the rules into rule sets based on hierarchy levels of sub-states         the state of system is dependent on all its components’ states. In
and components (see step 2 of Figure 1).                                 addition, we aim to find system states where components’ states
   The advantages of partitioning are that we analyze only a             are conflicting or that might result in catastrophic behavior of
part of system at a time and if the users are not domain experts         system.
or non-technical experts and need to understand the level of                To simplify the system state generation process, we converted
operation at higher or abstract level, then they need to go              the rules into numerical form. The components are represented
through only one rule set (first rule set) which represents the          as rows and the states as columns and the ordinal positions of
abstract representation of system. In addition, the generation           component and state are used to represent numerical values as
on rule sets based on hierarchy eases the analysis process of            shown in the upper table of Figure 2. For example, if there
technical experts. They can consider only part of system which           are 3 components in a system with 3 states each, then state
has issues and analyze it easily. Because our approach uses              2 of component 3 is represented as (0, 0, 2) The sub-states



                                                                     2
                                             Fig. 1. Enhanced Causal Component Model Overview



are represented as sub-column within a column and the their            (0, 2, 0) : (2.1, 0, 0) → (2.4, 0, 0), it will be converted to (0, 2,
position in the sub-column is appended to the parent state             0) : (2.1, 2, 0) → (2.4, 0, 0). Propagation involves transferring
position with a separator ‘.’ as shown in the sub-state table          the information from the current state to the next state. That
in Figure 2). For example, if state 1 of component 1 has 5             is, after propagation, the above rule becomes (0, 2, 0) : (2.1,
sub-states then we represent sub-state 2 of state 1 of component       2, 0) → (2.4, 2, 0). After the absorption and propagation,
1 as (1.2, 0, 0).                                                      we consider the 0 values in the state, which means that the
                                                                       component-state can be any arbitrary state of that component.
                                                                       This process is referred to as an expansion and is performed
                    State 1       State 2  ……….         State n
                                                                       to see all possible component state configurations possible for
     Component 1 1, 0, 0          2, 0, 0  ……….         n, 0, 0        that given transition. As a result, we replace all the zeroes with
                                                                       possible component-states. We replace the system cause with
     Component 2 0, 1, 0          0, 2, 0  ……….         0, n, 0        a notation, for example, cause (0, 2, 0) is now denoted as T1.
                                                                       The rule (0, 2, 0) : (2.1, 2, 0) → (2.4, 2, 0) after expansion
     Component 3 0, 0, 1          0, 0, 2  ……….         0, 0, n
                                                                       becomes T1: (2.1, 2, 2) → (2.4, 2, 2) and T1: (2.1, 2, 1) →
                                                                       (2.4, 2, 1).
          Sub-State 1 Sub-state 2 ……          Sub-state k                 4.) Undesired state detection: After the rules are expanded,
          0, 2.1, 0     0, 2.2, 0       ……    0, 2.k, 0                the  model is generated and a state profiling algorithm [7] is
                                                                       used to generate the number of incoming transitions due to
Fig. 2. Table for Numerical Representation of States and Sub-States of
                                                                       environmental causes (EID), and due to system causes (TID),
Components                                                             and the number of outgoing transitions due to environmental
                                                                       causes(EOD), and due to system causes(TOD) of a state in
   We also converted any transition conditions with component- the model. The state profiling algorithm generates the above
states into numerical form. These numerical states are used mentioned values by going through each state in the rule
to generate numerical rules. Once the numerical rules are and creates or modifies corresponding profile. The algorithm
generated, the rules are expanded by performing absorption and identifies difference between system causes and environmental
propagation operations similar to CCM. We perform absorption causes by looking over if the transition condition has any
and propagation to consider the component state information component state information. We perform this by checking
in transition condition and transfer it to the current and next the transition condition information with the database of
system states. Absorption involves moving information from components and states that we collected while creating the
transition condition to the state if the transition condition is a rules.
system cause, system cause is the transition condition in which           Based on the number of incoming transitions and the number
a component state or set of components’ states result in state of output transitions of each system state, we classified states
transition of other component); for instance, if there is rule like as unrecoverable or unreachable.



                                                                     3
                                                                                                   TABLE I
                                                                                            C OMPONENTS AND S TATES


                                                                               Component                          States
                                                                               Pulse Generator (PG)               off, on
         Fig. 3. State Profile with In-Degree and Out-Degree                   Device Controller-Monitor (DCM)    off, on
                                                                               Magnet                             outofplace, inplace
                                                                               Printer                            off, on

   Unrecoverable states are system states which cannot recover
without external input, i.e, TOD = 0. These states can be
undesired because the system is stuck in these states till external   1.) Convert natural language requirements to ECCM spec-
input is provided. Unreachable states are system states whose ifications: Two graduate students analyzed the pacemaker
TID and EID are zero, which means that no system state can requirements document and identified the elements of ECCM:
transition to this state. It is necessary to analyze such states components, states, and transition conditions. Once the states
for off-nominal behaviors, because while those states might were identified, hierarchical relationship among them is de-
be desired they can never be reached, leaving the system in a termined. Table I shows components and their higher level
problematic state. However, all unrecoverable states might nor states that we identified. The pulse generator component has
result in ONBs. Any unrecoverable state that does not lead to three levels of sub-states. The components, parent states, and
ONB is considered as false positive. These unrecoverable and sub-states are shown in Table II. The meaning of the acronyms
unreachable states are used for finding ONBs.                       of the sub-states of permanent, temporary, pace-now, magnet
   5.) Analyze the detected undesired states: Not all unrecov- and power-on-reset states can be found in Table III. These sub-
erable/unreachable states are necessarily undesired states that states represent the operating modes of the states of operation
result in ONBs. The requirements engineers and stakeholders of the pacemaker.
should examine the detected off-nominal system states and             Once the hierarchy of states is determined, the rules were
label them as undesired or not. After the undesired states are created. In total, 71 rules are created, which serves as ECCM
finalized, their associated rules are examined to find ONBs.        specifications.
   6.) Correct requirements: The rules that result in ONBs            2.) Partition into rule sets: In this step, we generated rule
and respective requirements are examined by requirements sets based on the sub-states generated in step 1. Using the rule
engineers and stakeholders, and corrective actions are taken set generation algorithm detailed in Section III, 4 rule sets are
based on stakeholders decisions. The entire analysis process generated from 71 rules. Due to space limitations, we present
is repeated with the corrected requirements until no undesired a subset of rules from the first two rule sets as follows:
states are found.                                                     Rule Set 1 - First Two Rules:
                                                                         1) U serP ress(on_P G) : P G(of f ) → P G(on)
                       IV. C ASE S TUDY                                  2) U serP ress(of f _P G) : P G(on) → P G(of f )
                                                                         Rule Set 2 - First Two Rules:
  To evaluate our proposed approach, we implemented the
                                                                         1) P atient(chronic_incompetence) :
ECCM tool. The tool allows users to enter information about                 P G(on.preimplant) → P G(on.implant)
components, component states, component sub-states, and                  2) P atient(sick_sinuss yndrome) :
ECCM specifications (rules of component-state transitions).                 P G(on.preimplant) → P G(on.implant)
The tool utilizes a multi-threading environment to enhance                While the two rules in rule set 1 refer to user switching on
performance. We performed case study using pacemaker using             and off the pulse generator (PG). The two rules in rule set
ECCM and compared it with CCM. The following subsections               2 detail two conditions in which PG must be implanted into
present the details of the pacemaker requirements, the procedure       person. We can observe that all the rules illustrated above
of the study, and the results.                                         have environmental causes (Patient and UserPress are not
                                                                       components of system).
A. Pacemaker Requirements
                                                                          The first rule set has 7 rules out of 71 rules and the second
  The pacemaker requirements document [12] is a 35-page
                                                                       rule set has 18 rules. The third and fourth rule sets contain 14
document that describes the device’s system requirements and
                                                                       and 59 rules, respectively.
provides details about diagnostics and therapy. The pacemaker
                                                                          3.) Rule expansion: After the rule sets were generated, each
system consists of a pulse generator (PG), a device controller
                                                                       rule set was allocated to a thread and the rule expansion is
monitor (DCM), leads, and a magnet. In this paper, we analyze
                                                                       performed as explained in Section III to generate system states
the pulse generator, which plays a vital role in the system’s
                                                                       and their transition rules. We converted our rules into numerical
operation; any malfunction of this component would result in
                                                                       rules, and the following are numerical rules created for the
complications for the patient.
                                                                       first two rules in rule set 2:
B. Procedure of the Study                                                Rule Set 2 - First Two Numerical Rules:
                                                                         1) P atient(chronic_incompetence) : 2.1, 0, 0, 0 → 2.2, 0, 0, 0
  This section describes the procedure for our study.                    2) P atient(sick_sinus_syndrome) : 2.1, 0, 0, 0 → 2.2, 0, 0, 0




                                                                   4
                                                                     TABLE II
                                                            C OMPONENTS AND S UB -S TATES


   Component   Parent state     Parent state   Sub-states
                                level
   PG          on               0              pre-implant, implant, pre-discharge-follow-up, routine-follow-up, ambulatory, explant
   PG          ambulatory       1              permanent, temporary, pace-now, magnet, power-on-reset
   PG          permanent        2              off, DDDR, VDDR, DDIR, DOOR, VOOR, AOOR, VVIR, AAIR, DDD, VDD, DDI, DOO, VOO, AOO, VVI,
                                               AAI, VVT, AAT
   PG          temporary        2              off, DDDR, VDDR, DDIR, DOOR, VOOR, AOOR, VVIR, AAIR, DDD, VDD, DDI, DOO, VOO, AOO, VVI,
                                               AAI, VVT, AAT, OOO, OAO, OVO, ODO
   PG          pace-now         2              VVI
   PG          magnet           2              off, DDD, DOO, AOO, VOO, OOO
   PG          power-on-reset   2              VVI




                              TABLE III                              when the magnet’s state is in place, the system requires the
 E XPLANATION OF S UB -S TATES WITH ACRONYMS IN P ULSE G ENERATOR    operating mode node not to have any sensing operation. Having
                                                                     the sensing operation when the magnet’s state is in place might
      Category   Chambers     Chambers   Response      Rate          result in energy interference, which can cause the electrical
                 paced        sensed     to sensing    modulation    problem with the pacemaker.
      Meaning    O-None       O-None     O-None        R-Rate           6.) Correct requirements: Once the undesired states are
                 A-Atrium     A-Atrium   T-Triggered   modulation
                 V-Ventricle V-Ventricle I-Inhibited                 identified, their corresponding rules and requirements are
                 D-Dual       D-Dual     D-Tracked                   identified. In our study, we manually traced back from rules
                                                                     to requirements. Consider a case that shows an undesired
                                                                     state, 2.5.4.4, 2, 1, 2, which indicates magnet is out of
    Once the numerical rules are generated, absorption, propaga- place but PG is in magnet state. Its corresponding rule is
 tion, and expansion are performed as explained in Section III. U ser(remove_magnet) : 2.5.4.4, 2, 2, 2 → 2.5.4.4, 2, 1, 2
The result of these operations are the expanded rules that and its requirement is “When the magnet is removed the device
 contain system states. The following are some of the expanded shall assume pretest operation”. Because the pretest operation
 rules from the rule set 2:                                          is never defined in the document, it is hard to know what
    Rule Set 2 - First Four Expanded Rules:                          transition occurs from magnet state and what the destination
    1) P atient(chronic_incompetence) : 2.1, 1, 1, 1 → 2.2, 1, 1, 1  state is. To clarify this requirement, we corrected it as follows:
    2) P atient(chronic_incompetence) : 2.1, 1, 1, 2 → 2.2, 1, 1, 2  When the magnet is removed, the device shall assume pretest
    3) P atient(chronic_incompetence) : 2.1, 1, 2, 1 → 2.2, 1, 2, 1
    4) P atient(chronic_incompetence) : 2.1, 1, 2, 2 → 2.2, 1, 2, 2  operation and comes out of the magnet state.
    4.) Undesired state detection: The expanded rules from each         We also found ONBs from the states that are associated with
 rule set were analyzed to detect possible undesired states by       PG   and DCM. It is not safe for DCM to be switched off when
 generating state profile for each state as mentioned in step 4      PG  is  on if there is a necessity for continuous monitoring. When
 of Section III. Using these state profiles, we found undesired      continuous     monitoring is required, this situation will result in
 states that aid in finding off-nominal behaviors (ONBs) using       complications      of patient’s condition because the change of
 the process detailed in step 4 of Section III. The detailed results pacing   and   sensing   functions can no longer be controlled and
will be discussed in Section IV-C.                                   it will affect  the  heart beat rate of the patient. If such incomplete
    5.) Analyze detected undesired states: The detected undesired    requirements     are  not addressed,  it is likely to produce a product
 states were analyzed to eliminate false positives. False positives  that  can  threat   the patients’  safety.
 are the states which are desired but are identified as undesired.
                                                                     C. Results
 In our study, we found 146 false positives and they were easy
 to find due to the hierarchical relationship between super-state       Table IV shows the results of our study. RS in the table refer
 and sub-states. For example, states where PG is ‘on’ state or to the rule set. Because CCM does not use the hierarchical
 sub-states of ‘on’ state and DCM is ‘on’ state but the magnet is approach, some items are not applicable such as the number of
‘out of place’ and the printer is ‘off’ are detected as undesired sub-states and rule sets. We explain the results obtained from
 states. However, printer in ‘off’ state and magnet in ’out of the ECCM first and then compare them with those from the
 place’ state will not result in any off-nominal behaviors. Thus, CCM.
 these cases are be considered as false positives.                      As Table IV shows, using ECCM approach, we identified 4
    After eliminating the false positives, we obtained the components, 8 states (level 0 states or parent states or super
 finalized undesired states. We found 250 undesired states in states), 61 sub-states for 3 levels of hierarchy. 71 rules were
 the pacemaker requirements. For example, when the magnet created and 4 rule sets were obtained. The total number of
 state is ‘in place’ and pulse generator is not in ‘magnet’ state system states generated is 504, and the number of expanded
 of operation, it is considered as an undesired state because rules for all rule sets is 1880. The ECCM approach detected



                                                                         5
                             TABLE IV                                                                  TABLE V
                    R ESULTS OF ECCM AND CCM                                      L IST OF O FF -N OMINAL B EHAVIORS (ONB S ) F OUND

                                            ECCM         CCM                     S.No   Off-nominal behavior
        Number of components                4            4                       1      Magnet is inplace when PG is off
        Total number of states              8            62                      2      DCM is switched off when Pulse Generator is on
        Total number of sub-states          61           N/A                     3      Pulse generator is in magnet state when magnet is
        Number of rules from NL             71           1192                           out of place or Pulse generator is in other state
        requirements                                                                    when magnet is in place
        Number of rule sets generated       4            N/A
        Number of system states analyzed    16 (RS1),    448
                                            48 (RS2),
                                            40 (RS3),                    undesired state detection followed by false positive analysis,
                                            400 (RS4)
        Number of expanded rules            56 (RS1),    9496
                                                                         the analysis of ONBs in CCM involves manual identification
        generated and analyzed              232 (RS2),                   of undesired rules. These undesired rules are used to detect
                                            160 (RS3),                   possible ONBs in expanded rules automatically. Thus, for the
                                            1432 (RS4)
        Number of state analyzed for        396          448             ONB analysis time, ECCM took 30 minutes, but CCM took 4
        finding undesired states                                         hours (due to large number of rules). Because we used only
        Number of ONBs                      3            3
        Time taken to convert NL to rules   1 hour       4 hours
                                                                         a small set of requirements (pulse generator) in this study, if
        (after reading requirements)                                     we apply our approach to a larger set of requirements, ECCM
        Time taken for analysis of          30 minutes   0               will produce far greater benefits than CCM.
        false positives
        Time taken for generation of        0            4 hours
        undesired rules                                                                           V. D ISCUSSION
                                                                    By examining the results, we drew the following observations.
                                                                 First, overall, the proposed technique helps to determine ONBs
396 undesired (off-nominal) states and 146 of them were false in systems with complex behaviors during the requirements
positives. We found 3 ONBs from 250 undesired states. The phase. Second, the proposed approach reduces the number of
identified ONBs are detailed in Table V. Every undesired state rules and states being analyzed, as we divide the input rules
is caused by one of those 3 off-nominal behaviors. We consider into rule sets. The results indicate that state and rule explosion
the detected ONBs as low to moderate risk as they can be can be reduced by combining state abstraction and state space
easily addressed, and are not likely to lead to fatal accidents restriction.
unless some additional factors come into play such as energy        We believe that our hierarchical approach can help the
inference.                                                       requirements      engineers and stakeholders to understand the
   When we applied the CCM approach to the same set of           dependencies       among the states more easily and address of
requirements, because the process of identifying components      ONBs     compared     to non-hierarchical approaches such as CCM.
is identical to ECCM, we obtained the same number of             In addition,    our   proposed     approach can give system behavior
components, which is four. However, the number of rules          at abstract   level   which    we  believe make it comprehensible for
created for CCM (1192) is far larger than for ECCM (71).         non-technical      stakeholders     as abstract level representation is
Also, the number of expanded rules bt CCM (9496) is much         simple.
larger than ECCM (1880). Unlike ECCM, CCM does not detect           Although our results are promising, our approach has some
possible undesired states but requires human intervention to     limitations   that we want to address. One limitation is that our
analyze all states to find undesired states, which in turn are   approach     cannot    guarantee exposure of all ONBs as it does
used for generating undesired rules to check the reachability of not consider     states  that recover to another undesired state. We
the undesired states. Thus, it does not produce false positives. plan  to  address    this  limitation by analyzing all possible states
By analyzing 52 undesired rules, we were able to detect 3        and  then   profiling   rules   similar to CCM.
ONBs that were found from ECCM. We are able to find two             The   second    limitation   of our approach is that it is still prone
ONBs at level 0 of hierarchy and one ONB at level 2 while        to state  explosion     problem.     If there are too many states at a
the total number of levels are 3. While the two approaches       single  level  of  hierarchy,    the approach    can have scope for state
found the same number of ONBs, the systematic way of the         explosion.    We   plan   to  mitigate  it by  considering   combinatorial
ECCM approach located them more easily and faster. Further,      hierarchical    exploration.    The  third  limitation is the high number
CCM does not guarantee to locate ONBs.                           of false   positives   during     automated    undesired   state detection.
   Also, we found that our approach is more efficient than the   We  plan   to  address   it  by creating   a  knowledge   base  which aids
CCM approach. As shown in Table IV, the ECCM approach            in identifying     domain     specific  off-nominal    properties.
took 1 hour to convert natural language requirements into
rules while the CCM approach took 4 hours. This indicates                                  VI. R ELATED W ORK
that creating rules using ECCM is much easier than CCM.             To date, some amount of research has been done in finding
Analyzing ONB is done differently for each approach. While ONBs [3], [2]. For example, Sukhwani et al. [6] proposed
the analysis of ONBs in ECCM involves automated possible software reliability growth models to find ONBs during the



                                                                     6
maintenance phase. Other researchers have tried to analyze                                        ACKNOWLEDGMENT
ONBs at the testing phase. Foyle and Hooey [5] proposed
off-nominal testing by incorporating off-nominal scenarios into          This work was supported, in part, by NSF CAREER Award
experimental design.                                                    CCF-1564238 to University of North Texas.
   Some researchers have analyzed ONBs by developing
simulation models [4]. A few researchers have tried to detect the
ONBs at the requirements level. For example, Tsai et al. [13]                                          R EFERENCES
analyzed scenario specifications for off-nominal scenarios using
automated event tree analysis, in which the scenarios are
                                                                         [1] A. K. Mostafa, “How embedded systems benefit people and in what
executed by considering failure models to generate event trees.              fields ?” Tech. Rep. July, 2015.
Day et al. [2] used system modeling language(SysML) to                   [2] J. Day, K. Donahue, A. Kadesch, A. Kennedy, and E. Post, “Modeling
model generic patterns of ONBs and used them to check the                    off-nominal behavior in SysML,” in AIAA Infotech, Jun. 2012, pp. 19–21.
                                                                         [3] D.      Firesmith,     “The     Need       to    Specify     Requirements
completeness of the system.                                                  for      Off-Nominal        Behaviors,”       2012.    [Online].      Avail-
   These methods consider off-nominal situations from human                  able: https://insights.sei.cmu.edu/sei_blog/2012/01/the-need-to-specify-
factor point of view. Unlike these methods, in our work, we                  requirements-for-off-nominal-behavior.html
consider exposing the causes that result in ONBs from system’s           [4] G. Fraccone, V. Volovoi, A. Colon, and M. Blake, “Novel air traffic
                                                                             procedures: Investigation of off-nominal scenarios and potential hazards,”
perspective.                                                                 Journal of Aircraft, vol. 48, no. 1, pp. 127–140, 2011.
                                                                         [5] D. Foyle and B. Hooey, “Improving evaluation and system design through
         VII. C ONCLUSIONS AND F UTURE W ORK                                 the use of off-nominal testing: A methodology for scenario development,”
   In this paper, we presented the model-driven requirements                 in Internaltional Symposium on Aviation Psychology, 2003, pp. 397–402.
                                                                         [6] H. Sukhwani, J. Alonso, K. S. Trivedi, and I. Mcginnis, “Software
analysis approach that reduces state and rule explosion prob-                reliability analysis of nasa space flight software: A practical experience,”
lems using a hierarchical model exploration strategy, and its                in 2016 IEEE International Conference on Software Quality, Reliability
empirical results with the pacemaker requirements.                           and Security (QRS), Aug 2016, pp. 386–397.
                                                                         [7] D. Aceituna and H. Do, “Exposing the susceptibility of off-nominal
   Although our empirical results showed the promising results,              behaviors in reactive system requirements,” in Requirements Engineering,
our approach also has several limitations as we discussed                    Aug. 2015, pp. 136–145.
in Section V. For future work, we intend to investigate and              [8] B. Boehm and V. Basili, “Software defect reduction top 10 list,” IEEE
improve our approach further considering those limitations.                  Computer, pp. 135–137, 2001.
                                                                         [9] J. M. Stecklein, J. Dabney, B. Dick, B. Haskins, R. Lovell, and
First, we plan to use natural language processing to ease process            G. Moroney, “Error Cost Escalation Through the Project Life Cycle,”
of identifying model elements, add analysis of orthogonal states             Incose -Annual Conference Symposium Proceedings, 2004.
to proposed ECCM model, and reduce false positives using a              [10] X. Devroey, G. Perrouin, M. Cordy, A. Legay, P. Schobbens, and
                                                                             P. Heymans, “State machine flattening: Mapping study and assessment,”
knowledge base for identifying undesired states. Second, we                  CoRR, 2014.
plan to perform various empirical studies to explore further            [11] A. Valmari, The state explosion problem. Berlin, Heidelberg: Springer
advantages and limitations of our approach. Third, we also                   Berlin Heidelberg, 1998, pp. 429–528.
plan to adapt and use the rule set generation algorithm for             [12] Boston Scientific, “Pacemaker system specification,” Boston Scientific,
                                                                             Tech. Rep., 2007.
system of systems. Finally, we plan to take possible contexts           [13] W. Tsai, W. Song, R. Paul, Z. Cao, and H. Huang, “Services-oriented dy-
into consideration when analyzing and exposing off-nominal                   namic reconfiguration framework for dependable distributed computing,”
behaviors.                                                                   in COMPSAC, vol. 1. Citeseer, 2004, pp. 554–559.




                                                                    7