<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>ECSA</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Summary: A Functional Safety Assessment Method for Cooperative Automotive Architecture*</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Sangeeth Kochanthara</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Niels Rood</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Arash Khabbaz Saberi</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Loek Cleophas</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Yanja Dajsuren</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mark van den Brand</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Eindhoven University of Technology</institution>
          ,
          <country country="NL">The Netherlands</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2021</year>
      </pub-date>
      <volume>15</volume>
      <fpage>13</fpage>
      <lpage>17</lpage>
      <abstract>
        <p>The scope of automotive functions has grown from a single vehicle as an entity to multiple vehicles working together as an entity, referred to as cooperative driving. The current automotive safety standard, ISO 26262, is designed for single vehicles. With the increasing number of cooperative driving capable vehicles on the road, it is imperative to systematically assess their architectures' functional safety. Many methods are proposed to assess architectures with respect to diferent quality attributes in the software architecture domain, but to the best of our knowledge, functional safety assessment of automotive architectures is not explored in the literature. We present a method leveraging existing software architecture and safety engineering research, to check whether the functional safety requirements for cooperative driving scenarios are fulfilled in the technical architecture of a vehicle. We apply our method on a real-life academic prototype for a scenario-platooning-and discuss our insights.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        Trafic congestion was estimated to cost 305 billion dollars in 2017 to trafic participants in the
United States of America alone.1 One potential solution to reduce trafic congestion and related
operational costs is cooperative driving. Cooperative driving refers to the collective optimization
of the trafic participants’ behavior by sharing information using wireless communication
e.g. peer-to-peer networks or via the cloud. It can improve trafic eficiency, reduces cost, and
increases comfort [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. In 2020 alone, 10 million new vehicles with cooperative driving capabilities
were projected to hit the roads, and the safety of these vehicles needs urgent attention.2
      </p>
      <p>Most cooperative driving is achieved by determining a vehicle’s behavior for optimal trafic
behavior based on information received from other trafic participants. Such optimal behaviors
are (partially) achieved using software-controlled steering, acceleration, and braking. Any
problem in the software can lead to catastrophic efects to the vehicle and other trafic participants.
To avoid this, cooperative driving systems are designed to operate in case of failure or fail safely.</p>
      <p>
        The current guidelines to ensure the safety of automotive systems (and their architecture) are
provided by ISO 26262 - a product development standard for the automotive domain [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. The
standard ofers methods from the safety engineering domain to identify safety requirements.
Any automotive software architecture that fulfills these requirements is deemed safe-by-design.
      </p>
      <p>
        ISO 26262 neither considers cooperative driving nor prescribes methods for architecture
assessment. The standard is designed for single vehicles and does not include a cooperative
perspective in which a set of vehicles is seen as a single entity [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. This can mean that a
low-risk safety requirement from a single-vehicle perspective can have catastrophic efects on
other cooperating vehicles [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. To create a functionally safe architecture from a cooperative
perspective, existing studies have extended the standard guidelines [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] or presented an
architecture framework [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Yet checking the safety of software architecture of an existing vehicle for
cooperative driving, remains an open question.
      </p>
      <p>
        The ISO 26262 standard does not prescribe methods to assess the functional safety of an
automotive architecture. Approaches to assess architectures with respect to quality attributes
have emerged in the software architecture domain [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. However, only some methods are
designed for operational quality attributes like performance (in contrast to development quality
attributes like maintainability) [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. To the best of our knowledge, none of these methods are
designed to assess the operational quality attribute functional safety of automotive systems.
      </p>
      <p>
        This paper presents a method to assess the functional safety of existing automotive
architecture for cooperative driving, by combining methods from the safety engineering and software
architecture domains. Our method has two parts: () derive Functional Safety Requirements
(FSRs) for cooperative driving scenarios; () check whether the (technical) software architecture
fulfills the derived functional safety requirements—a blend of methods [
        <xref ref-type="bibr" rid="ref6 ref7 ref8">7, 8, 6</xref>
        ] adapted from
the software architecture domain. Our paper primarily focuses on the design phase (concept
development phase in ISO 26262) and validation of the resultant requirements in the software
architecture in the final product. We also validated our approach via a case study on an academic
prototype. This extended summary of [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] summarizes our approach; refer to [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] for more details.
      </p>
    </sec>
    <sec id="sec-2">
      <title>2. Methodology</title>
      <p>Our method has two parts: () derive FSRs for cooperative driving scenarios, and () check
whether the FSRs are fulfilled in the technical software architecture of a vehicle. 3 Note that the
ifrst part needs only a black box view of individual vehicle functions and their interactions and
thus uses the functional architecture view.</p>
      <p>
        Derive FSRs for cooperative driving: We extend the traditional method [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] to derive
FSRs, to be executed on the entire cooperative system in parallel, rather than on an individual
vehicle (see Figure 1). We first outline the traditional method, followed by our prior work on its
extension [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] and our new contribution. For the rest of the paper, we use the term vehicular
perspective for an individual vehicle as a unit and cooperative perspective for a set of vehicles.
      </p>
      <p>
        Traditionally, FSRs for a vehicular perspective are derived by mapping the safety goals for a
vehicle on to the individual components of the vehicle’s functional architecture. This process of
mapping—safety analysis—captures information on the malfunctioning of a component that can
lead to violation of a safety goal. Safety analysis is performed using a systematic process (like
fault tree analysis [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]) that takes two inputs: () functional architecture and () safety goals.
3The technical software architecture includes the system’s runtime model and allocation of software to hardware.
1
      </p>
      <sec id="sec-2-1">
        <title>System Architect</title>
        <p>Coopaerrcahtiivteecftuunrectional
a
b
item: cooperative system
ContOriubrution 2
3
item: individual vehicle
ISO 26262</p>
      </sec>
      <sec id="sec-2-2">
        <title>Functional Decomposition from Vehicular Perspective</title>
      </sec>
      <sec id="sec-2-3">
        <title>Hazardous events from vehicular perspective</title>
      </sec>
      <sec id="sec-2-4">
        <title>Safety goals from vehicular perspective</title>
        <p>d</p>
        <sec id="sec-2-4-1">
          <title>Scenario Description</title>
        </sec>
        <sec id="sec-2-4-2">
          <title>Kochanthara et al.[4]</title>
        </sec>
      </sec>
      <sec id="sec-2-5">
        <title>Functional Decomposition from Cooperative Perspective</title>
        <p>Hazardous e/vents from
cooperative perspective</p>
      </sec>
      <sec id="sec-2-6">
        <title>Safety goals from cooperative perspective</title>
        <p>c</p>
      </sec>
      <sec id="sec-2-7">
        <title>Safety Analysis</title>
        <sec id="sec-2-7-1">
          <title>Functional Safety Requirements</title>
          <p>
            Safety goals are derived
from hazardous events [
            <xref ref-type="bibr" rid="ref3">3</xref>
            ],
found by decomposing the
scenario description
using the hazard analysis
and risk assessment
technique [
            <xref ref-type="bibr" rid="ref3">3</xref>
            ]. This method to
derive FSRs is depicted by
part 3 and flows  and 
of Figure 1, with  and 
as inputs to safety
analysis. This method to derive
FSRs is the norm in the au- Figure 1: Method to derive FSRs for cooperative driving. Parts 1&amp;2 are our addition.
tomotive domain [
            <xref ref-type="bibr" rid="ref3">3</xref>
            ]. System architect: external entities creating the cooperative architecture.
          </p>
          <p>In the proposed method, we have one item4 per individual vehicle type, and an item for the
entire cooperative system of which the vehicles are part. A cooperative system can contain more
than one type of vehicle (for example, two vehicles with diferent functional architectures). In
the case of more than one type of vehicle, each type will form an item. For the rest of this section,
we consider two items: an individual vehicle (representing all vehicle functional architectures)
and the cooperative system.</p>
          <p>
            We propose that FSRs for a cooperative system are derived from: () safety goals from the
vehicular perspective (as in the traditional method), and () safety goals from the cooperative
perspective. Our prior work [
            <xref ref-type="bibr" rid="ref5">5</xref>
            ] extended the traditional process to derive safety goals for the
vehicular perspective to the cooperative perspective (annotated as part 2 in Figure 1) to cover
safety goals from both perspectives. This process partitions the scenario description into
vehiclespecific and cooperation-specific parts. We apply the traditional safety goal identification steps
to the two parts. FSRs from the vehicular perspective are then derived.
          </p>
          <p>A cooperative functional architecture is required to derive FSRs, by mapping safety goals to
functional architecture components. The cooperative functional architecture should be built
using individual vehicle functional components to preserve the mapping between functional
architecture of cooperative system and the technical software architecture of individual vehicles.
We propose that the cooperative functional architecture be built from () the functional
architecture of individual vehicles that constitute the cooperative system and () the cooperative
scenario description of the interaction between individual vehicles. With these requirements,
system architects can create a functional architecture of the cooperative system such that the
individual components of the architecture are mapped onto the components of the functional
architecture of vehicles. This process is labeled as part 1 in Figure 1; the complete process of
deriving FSRs from the cooperative perspective is shown by the labels 1, 2, , and .</p>
          <p>
            We performed a case study on an academic prototype for the cooperative driving scenario,
platooning, in which a manually driven vehicle is autonomously followed by a train of vehicles.
Application of our method resulted in an additional 9 safety goals and 15 FSRs to the 16 safety
goals and 16 FSRs from the traditional ISO 26262 method [
            <xref ref-type="bibr" rid="ref1">1</xref>
            ].
          </p>
          <p>
            4Item: “system or combination of systems, to which ISO 26262 is applied, that implements a function or part of a function” [
            <xref ref-type="bibr" rid="ref3">3</xref>
            ]
Check fulfillment of FSRs: Our method of assessing the fulfillment of FSRs is a blend of
techniques adapted mainly from the software architecture domain. With no existing architecture
assessment techniques addressing functional safety in the context of automotive systems, our
method takes inspiration from traditional architecture assessment techniques like ATAM [
            <xref ref-type="bibr" rid="ref6">6</xref>
            ]
and uses the safety tactic framework [
            <xref ref-type="bibr" rid="ref7 ref8">7, 8</xref>
            ] to leverage existing architecture knowledge.
          </p>
          <p>Our method to check for the fulfillment of FSRs in the technical software architecture of
individual vehicles is organized in two phases. Phase one ensures that it is possible to realize all
the FSRs by identifying whether there are conflicting FSRs. Phase two describes a systematic
method to check for the fulfillment of FSRs in the technical architecture (see figure 2).</p>
          <p>
            In phase one (see
Figlfiaucrrteein2cg)o,FnwSfliecRtcsih.neTgcwkioffoFbrSocRtohsn- eas1hP VehicVVleeehhASAiircocrcclflethehwiiFTtateeuerceccntthcuAuntrrriecioechnaitalelcture fSuGenrtcotouiaofprnFcaFShlSiRtaeRsrccsthubirtaeescceftooudrmreoepnacocoanhmsesfnpuotoncnciaetitnoetndal SReteoqfuFiruenmcetinotnsa(lFSSaRfse)ty Oscuotpoef
of them cannot be
fuliflCleodmaptartihneg esvaemrey ptiamireo. f reCqaunoiynreflmicteinn?gtin yes Resolve Conflicts s
liitsbFFesshaSSeoa(merRRtdnhossens2tef)outfih)cfmsno.auoarunmbtqmec(ucbWptrobaeiaondleeoro−nrriflifsncacaotoctg1olsinof)cmtsm/aowFnp2r(SpuciitafRlahhmrl≈rseei---, ase2hP IdentAifypptalficcrotaimcbslefoitnararctAirehmtciarecheplsiitzltNteeeaeYmccocdhetteuifnfscoonriescrrti?aneelgavecehraycFhSRFSR AssNsoaocifimeaSttpeyiwnltetgioatmhSfcfeetFapiacnfSaesstTRteittedbyedscflorerThineonancssmciotchntfmioLaceowrilsbtttieeatiefanhurracnacalchnfhdtthiuinolioltPriencetFaacasStctltRuoteairfcsrrentcfashrcoittmeiccstuinre iiiiillittfftttrrcssccccenapoedeapebappnanoobAm
tecture component for TechnfuiclafilllasrFchSiRtescture
conflicts. This can re- Set of applicable tactics and patterns for each FSR
duce the number of com- Incorporating tactics (and patterns) in the technical architecture
parisons up to a factor of
, where  is the number Figure 2: Method to check the fulfillment of FSRs in technical architecture
of functional components (i.e., the number of comparisons can be reduced up to ( − )/ ≈
Ω( 2/)). The reduction is possible since safety analysis techniques for deriving FSRs ensure
that each FSR belongs to only one functional component [
            <xref ref-type="bibr" rid="ref3 ref9">9, 3</xref>
            ]. FSRs belonging to a component
can have conflicts among themselves but not with the FSRs belonging to other components.
          </p>
          <p>
            An FSR may be fulfilled by a safety tactic or a combination of safety tactics. To identify
whether an FSR is fulfilled, we propose checking the vehicle technical software architecture
for the implementation of safety tactics [
            <xref ref-type="bibr" rid="ref7 ref8">8, 7</xref>
            ] that can meet the FSR. This is achieved in two
steps: () identify a set of safety tactics (hereafter referred to as applicable tactics) such that
the implementation of each tactic, in itself or in combination with some other tactics in the
set, can fulfill the FSR; and () check whether any feasible combination of tactics from the
applicable tactics that are present in the vehicle technical architecture meets the FSR. Note that,
for an FSR  and its corresponding functional component , the applicable tactics for  need
to be compared with only the safety tactics implementations used in the technical architecture
counter part of  and its associated safety mechanisms, since  is only associated with .
Applicable tactics for an FSR can be identified based on the FSR description (by navigation of a
tactic hierarchy) [
            <xref ref-type="bibr" rid="ref6 ref7 ref8">6, 8, 7</xref>
            ] or by matching the FSR description to the descriptions of tactics [
            <xref ref-type="bibr" rid="ref8">8</xref>
            ].
          </p>
          <p>
            By the end of this two step process of identifying applicable tactics and checking the technical
architecture for them, we will have a list of FSRs that do not have any feasible combination
of tactics implemented. The list shows the FSRs that have not been fulfilled by the technical
architecture, if any. As a by-product, for each unfulfilled FSR, we will also have a set of applicable
tactics such that some feasible combinations from this set can fulfill the FSR. These combinations
point to a set of safety patterns since safety patterns are associated with the safety tactics they
implement [
            <xref ref-type="bibr" rid="ref8">8</xref>
            ]. These applicable safety patterns (and applicable tactics) provide the system
architects with a set of possible design decisions to realize the unfulfilled FSRs.
          </p>
          <p>
            In our case study, we checked whether the FSRs (the 31 FSRs as mentioned in Section 2) are
fulfilled on an academic prototype capable of cooperative driving using 13 most used safety
tactics [
            <xref ref-type="bibr" rid="ref1 ref8">8, 1</xref>
            ]. We found that the prototype’s technical architecture meets only 6 FSRs [
            <xref ref-type="bibr" rid="ref1">1</xref>
            ].
          </p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Conclusion</title>
      <p>This paper investigated whether the architecture of a single vehicle meets the functional safety
requirements for cooperative driving. We proposed a method to ensure that an automotive
architecture is functionally safe to operate in given scenarios. The proposed method derives
FSRs for a cooperative driving scenario and checks whether they are fulfilled in the technical
architecture of a vehicle. The method is a combination of methods adapted from the safety
engineering and software architecture domains. We showed the usability of our method for a
cooperative driving scenario—platooning—on a real-life academic prototype, which resulted in
uncovering FSRs that were not fulfilled by its software architecture. Our method is motivated
by and reinforces the notion that functional safety should not be an afterthought in the design
of automotive architectures, but be used for defining the architecture of the automotive system.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>S.</given-names>
            <surname>Kochanthara</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Rood</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. Khabbaz</given-names>
            <surname>Saberi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Cleophas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Dajsuren</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>van den Brand, A functional safety assessment method for cooperative automotive architecture</article-title>
          ,
          <source>(JSS)</source>
          (
          <year>2021</year>
          ). URL: https://authors.elsevier.com/sd/article/S0164-
          <volume>1212</volume>
          (
          <issue>21</issue>
          )
          <fpage>00088</fpage>
          -
          <lpage>1</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>P.</given-names>
            <surname>Pelliccione</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Knauss</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. M.</given-names>
            <surname>Ågren</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Heldal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Bergenhem</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Vinel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Brunnegård</surname>
          </string-name>
          ,
          <article-title>Beyond connected cars: A systems of systems perspective</article-title>
          ,
          <source>(SCP)</source>
          (
          <year>2020</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>ISO</surname>
          </string-name>
          , ISO
          <volume>26262</volume>
          :
          <fpage>2018</fpage>
          - Road vehicles - Functional safety, Standard, International Organization for Standardization,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Dajsuren</surname>
          </string-name>
          , M. van den Brand,
          <source>Automotive Systems and Software Engineering</source>
          , Springer,
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>S.</given-names>
            <surname>Kochanthara</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Rood</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Cleophas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Dajsuren</surname>
          </string-name>
          , M. van den Brand,
          <article-title>Semi-automatic architectural suggestions for the functional safety of cooperative driving systems, in: (ICSA-C)</article-title>
          , IEEE,
          <year>2020</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>L.</given-names>
            <surname>Bass</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Clements</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Kazman</surname>
          </string-name>
          ,
          <source>Software architecture in practice, Addison-Wesley</source>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>W.</given-names>
            <surname>Wu</surname>
          </string-name>
          , T. Kelly,
          <article-title>Safety tactics for software architecture design</article-title>
          , in: (COMPSAC), IEEE,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>C.</given-names>
            <surname>Preschern</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Kajtazovic</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Kreiner</surname>
          </string-name>
          ,
          <article-title>Building a safety architecture pattern system</article-title>
          ,
          <source>EuroPLoP '13</source>
          ,
          <string-name>
            <surname>ACM</surname>
          </string-name>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>W.-S.</given-names>
            <surname>Lee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. L.</given-names>
            <surname>Grosh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F. A.</given-names>
            <surname>Tillman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. H.</given-names>
            <surname>Lie</surname>
          </string-name>
          ,
          <article-title>Fault tree analysis, methods, and applications a review, IEEE transactions on reliability (</article-title>
          <year>1985</year>
          ).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>