<!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 />
    <article-meta>
      <title-group>
        <article-title>Extending Agile Practices in Automotive MDE</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Ulf Eliasson</string-name>
          <email>ulf.eliasson@volvocars.com</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Hakan Burden</string-name>
          <email>burden@cse.gu.se</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Gothenburg</institution>
          ,
          <country country="SE">Sweden</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Volvo Car Corporation</institution>
          ,
          <country country="SE">Sweden</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The size and functionality of the software in a modern car increases with each new generation. To stay competitive automotive manufactures must deliver new and better features to their customers at the same speed or faster than their competitors. A traditional waterfall process is not suitable for this speed challenge - a more agile way of working is desirable. By introducing MDE we have seen how individual teams at Volvo Cars adopt agile practices, resulting in tensions while the organization at large still uses a waterfall process. In an exploratory case study we interviewed 17 engineers to better understand how agile practices can be extended beyond individual teams. Where the tensions have their source in the technical speci cation of the software components and their interfaces, it turns out that it is company culture and mindsets that are the main hurdles to overcome.</p>
      </abstract>
      <kwd-group>
        <kwd>Interface Speci cation</kwd>
        <kwd>Tailoring</kwd>
        <kwd>Exploratory Case Study</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        The size and functionality of the software in a modern car increases with each
new generation [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] and the software can be executing on in the order of 100
Electronic Control Units (ECUs) spread out in the car. This causes software
development to take an increasing part of the total R&amp;D budget for new car
models [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Automotive manufacturers are traditionally mechanical and
hardware oriented companies. The software processes often resemble the traditional
waterfall since that works for mechanical development - but it might not
necessary be the best for developing software. In a world that moves faster and faster
it is crucial to push new features out faster than the competitors. One way that
automotive manufactures can speed up their software process is to develop more
software in-house, making it possible to iterate their software and introduce new
features faster than when ordering the same from a supplier. By introducing
MDE we have seen that the domain experts are directly involved in the software
implementation and how lead times become shorter.
      </p>
    </sec>
    <sec id="sec-2">
      <title>Automotive Software Development at VCC</title>
      <p>The system development process at Volvo Car Corporation (VCC) is a waterfall
process with a number of integration points throughout where artifacts should</p>
      <p>ECU
Mechanical</p>
      <p>System design/</p>
      <p>SDB
be delivered. There are three tracks of parallel development - the software
components (SWC), the hardware (known as electronic control units or ECU) and
the mechanical parts. Parts of the software is developed in-house while the rest
of the software, and most hardware and mechanical systems are developed by
sub-contractors. Each iteration of the process has a number of integration steps,
as shown in Fig. 1. The system design and signal database (SDB) is the rst
integration step where the software and its interfaces are designed.
Model-Inthe-Loop (MIL) is where the implementation Simulink-models are integrated
together with other models, either single components together with test models
for testing, or in complete MIL with models of di erent components from
different teams. After code generation from the implementation models they are
integrated in Hardware-In-the-Loop (HIL) executing on hardware but with the
environment around it simulated with models executing in real-time. Finally
everything is integrated in a prototype car.</p>
      <p>Early on, all the requirements and the system design for the next iteration
is captured as a model inside a custom-made tool, referred to as SysTool. The
model contains, among many things, software components, their responsibilities
as requirements, the software components deployment on ECUs, and the
communication between them as ports and signals. The signals are basically periodic
data that is sent, and they are described down to the byte size of their data types.
The signal de nition also includes timing requirements, such as frequency and
maximum latency. At a certain point in time the model is frozen and no new
changes are allowed until the next iteration starts. These freezes usually last for
20 weeks.</p>
      <p>The SysTool model is used for two things. Firstly, signals, ports and their
connections and timing requirements are used to implement the SDB. The SDB
is used by the software on the ECUs and the internal network nodes to
schedule all the signals passing through the networks in the car. The packing and
scheduling of the signals is done manually. It takes 9 weeks from a freeze until
the SDB is delivered and ready to be used. Secondly, the component model is
transformed into Simulink model skeletons. Each Simulink model represents an
ECU with skeletons of the deployed software components, including ports and
connections. These models are then lled in with functionality by the developers
as speci ed by textual requirements. If the system model changes the Simulink
models are updated to re ect this by a click of a button and any implementation
already done is kept intact. The implementation must be updated manually if
it is dependent on signals that are removed or changed.</p>
      <p>The executable Simulink models are tested together with plant models. The
plant models represent the environment surrounding the ECUs, including
electrical, physical and mechanical systems. This enables the developer to get instant
feedback by running and testing the models s/he developed in isolation on their
own PCs. The models are also integrated in a virtual car MIL environment where
all models developed in-house are integrated and executed. The time frame for
getting feedback after delivering a model to the virtual car is counted in days.
This gives the developers a possibility to do requirements and design
exploration and validation on component level. However, sub-contractors developing
software do not normally provide models of their software meaning that where
suppliers are developing functionality there are holes in the MIL environment.
These holes are lled in by models describing how to develop their software as
they see t, as long as they can t their work in to the larger overall process
and deliver in time. Therefore development within the Simulink models for one
ECU can and is conducted agile. However, as soon as there is a need to extend
or modify the SDB the developers need to adapt to the overall waterfall process.</p>
      <p>The suppliers deliver their software as binaries. Code is generated from the
in-house models, built to binary and then the two are linked together. The
nished software is loaded on hardware and is then tested on HIL rigs, see Fig
1. Because the supplier only delivers binaries this is the rst time that in-house
and supplier developed software can be integrated and validated together. Later,
software and hardware is integrated with the mechanical systems in a complete
prototype vehicle and tested. This is the rst time that the whole system is
tested together. Each full iteration in Fig 1 has a deadline referred to as a gate
and the time between the gates is referred to as E-series.</p>
      <p>The use of MDE in the teams makes it possible to break free from the
suppliers making it possible to execute and test the in-house software without having
to wait for the hardware and software from the suppliers. This enables the team
to be agile and work in short iterations.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Method</title>
      <p>Given that agile practices have shown to be possible at the level of individual
teams, we wanted to answer the question:
RQ: Which are the challenges and possibilities for a more agile software
development process on a system level?</p>
      <p>
        The question was answered by two exploratory case studies [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. The main
data was collected through two parallel interview series, conducted by the two
authors independently of each other. The rst set of interviews was launched
internally by Volvo Cars in order to identify factors that could improve the existing
process. The second study was initiated as a collaboration between Volvo Cars
and academia to evaluate and improve the ongoing transition into Model-Driven
Engineering, MDE. Both interview sets included eight interviewees, without an
overlap between interviewees. In general the interviewees had a background in
electronics, physics, automation or mechanical engineering with a limited
training in software development from VCC. All interviews were conducted at VCC
in Gothenburg, Sweden, and complemented by active participation by one of the
authors and on-site observations by the other.
      </p>
      <p>
        The study focusing on process conducted the rst interview in May 2012, the
study on MDE started in January 2013. Both sets of interviews were nished
by April 2013. Since the interviews were conducted over a longer time frame,
collecting and analyzing the data was done in an incremental fashion [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. From
the rst interviews of each study a preliminary analysis emerged, identifying
themes and concepts that the engineers found challenging in the current
combination of process and model-driven implementation. Using a semi-structured
format allowed the interviewers to explore new topics as they arose but also to
see if spiring hypotheses could be con rmed [
        <xref ref-type="bibr" rid="ref4 ref5">4, 5</xref>
        ].
      </p>
      <p>The two studies were aligned in May 2013 by a manager who recognized
that both lines of inquiry had come to the same conclusion independently of
each other, despite the fact that one study was an internal e ort to improve the
existing process and the other study was an academic collaboration investigating
MDE. After the analysis of the interviews had been completed (see section 4) a
system architect involved in the scheduling of the SDB was interviewed to re ect
on the outcome of the analysis (presented in section 5).
4</p>
    </sec>
    <sec id="sec-4">
      <title>Challenges for Agile MDE Practices</title>
      <p>From our interviews we discovered a number of issues that have their roots in the
waterfall process used on a system level. The most prominent issue, repeated by
di erent interviewees, concerned the SDB in the SysTool. By freezing
requirements and system design such a long time before delivery developers are forced
to take premature decisions on what data they need to receive or send and where.
Because the signals are the interfaces between di erent components, developed
by di erent teams or sub-contractors, any negative impacts caused by premature
decisions are not discovered until late in integration and therefore expensive to
change.</p>
      <p>The practice of freezing the interface implies that the engineers have to
specify the interface they need before they fully understand the internal behaviour
of the component being developed. This means that the interfaces are de ned
based on the assumptions the developer have at that time and subsequently
there are signals that will never be used but still have a share of the limited
capacity. This causes two problems. First extra signals need to be scheduled on
the network, wasting time for the SDB group in their work as well as causing
extra congestion on the network. It also makes it di cult for a developer on an
ECU to know which signals are used or not used.</p>
      <p>Q: So do you overload the interface? Throw in a signal just in case?
A: Yes, that is what we do. At least I do it [. . . ] and then you end up with
the problem knowing which signal it is you should actually use.</p>
      <p>As with the spare signals above, developers add extra data-elements to their
signals they create to future-proof them. This causes the same problems as with
the spare signals but is also harder to redeem because one can't just remove a
signal, the signal needs to be modi ed. It is also harder to check if a data element
is used or not compared to seeing if a whole signal is used.</p>
      <p>A: Also an old problem we have here at Volvo is that when someone wants
to add a new signal, they know it will be hard to change the signal later. So to
be prepared they add a few extra data bits to the signal, just in case.</p>
      <p>Developers that gure they need to send or receive some data that they
did not think about before the freeze do not want to halt their implementation
until the next freeze, instead they use existing signals in creative ways. This
includes using signals and data-elements in ways that are not described in the
requirements making them behave di erently than intended. When other groups
depend on these signals misinterpretations occur which causes problems.</p>
      <p>A: But we have a text document that's about 300 or 400 pages in total if you
take all the documents. And that hasn't been updated for a couple of years. So
this is wrong. This document is not correct.</p>
      <p>Since the textual documentation is inconsistent with the implementation and
the interface is overloaded the engineers start to mistrust the artifacts that are
supposed to support them in their development. As a consequence one of the
other interviewees had developed a work-around for handling that the interface
speci cation was constantly outdated. The solution is to sieve through a second
document after the information that concerns the interface being developed and
translate that information into a new, temporary, speci cation.</p>
      <p>A: We have in our requirements a list of signals used in the requirement.
Now that list is seldom updated. It's hardly ever, so they're always out of date.
So I don't actually read them anymore. I just go in through the speci c
subrequirements and I read what is asked for my functionality. This is asked. What
do I need? I need this and this. So, yeah, so I do it manually, I guess.</p>
      <p>The reoccurring theme behind these issues are that developers are forced to
make unfounded assumptions about what the SDB will or needs to contain and
how the signals in it will be used. Also a shared view between the developers
was that it is the development of mechanical and hardware systems and the
MDE tools that forced the use of a waterfall process. The issues caused by these
assumptions are not found until late in the process with a considerable cost in
both time and money as the result.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Possibilities for Extending Agile MDE Practices</title>
      <p>Based on the results from previous interviews we interviewed an architect
responsible for tool and process development at VCC and brought up the
identi ed challenges. He did not see the technical problems of the SysTool and its
models to be the main obstacle to overcome, rather it is the culture and the way
of thinking in the organization that needs to change.</p>
      <p>Q: Why do we have these freezes?</p>
      <p>A: We have a traditional gated process, and then you have freezes and gates
for everything, period. [. . . ] If we think waterfall it is very logical that we have
these freezes, that is what we have to rethink completely. What I'm thinking is
that we need to change our system de nition process so that it is agile and we
can make changes whenever we want [. . . ] and then we can drive this in di erent
speed with di erent suppliers but it shouldn't be our process that is stopping us.</p>
      <p>He also did not think that the hardware development done in parallel
requires a waterfall system development process with gates. However, working
with suppliers is one reason for having the gated system development process.</p>
      <p>Q: How much does it have with working against suppliers and developing
hardware?</p>
      <p>A: Yes, that is part of the answer. The connection to hardware I do not
see as very strong, because the hardware development is not really in the same
cycles anyway. Of course, we have hardware upgrades and when it a ects the
software then it has that connection, if there is some sensor or something that is
replaced, but many of these problems are about changes to signals on the network
and that is not connected to hardware at all really, at least not at that level. So
the hardware is not a big factor. But supplier interaction is of course a factor,
because we have a way of working with the supplier where we tell them that on
this day we will send the speci cation and this day you will deliver, and there
is a number of weeks between when we send the requirements and they should
deliver and then we need a freeze so that we have something to send.</p>
      <p>The time between freezing the database until there is a nished
implementation of that version, is 9 weeks. Because the developers know that this is their
last chance for a while to change the signals they wait until the last minute to
put any requests for new or changing signals as close to the freeze as possible.
Obviously this results in a lot of change requests to be processed at the same
time. It is not until after the freeze that signals and other changes are checked
for compatibility and consistency, which might result in a lot of work to make
the system design model consistent again.</p>
      <p>A: If we say that at this point in time you should submit all your change
requests then you get all of these the Friday before instead of getting them more
continuously and then you have these weeks of job ahead of you. [. . . ] We need
to start thinking about the SDB and frame packing as a product, like any node.
So the nodes deliver their software and the SDB delivers the frame packing as
a component that integrates with the other stu . So instead of having a process
where the frame packing and everything needs to be nished and done before you
can start making a node it should be something that you integrate with the other
stu . [. . . ] Integration is something that already today is happening continuously.
It is not a speci c day we integrate it is something you try during the E-series
and in the end you make it work and then it is time for the next one. [. . . ] At
the gate between E-series we do a refactoring of the SDB, clean it up and pack
it. What I think is that, we should continuously allow ourselves to add signals,
and also allow each other to add redundant signals. If one signal is wrong we do
not remove that signal, because the components are expecting to get this signal.
But we can all the time allow ourselves to add signals and therefore we can get
double, triple or quadruple signals when we nd our way forward. This is roughly
as you work with product lines, you allow yourself to over-specify interfaces and
so on.</p>
      <p>In this way the SDB is tidied up at each gate instead of de ned at the system
design phase within each iteration.</p>
      <p>A: Working like this we can basically end up at releasing a SDB every day
throughout the series and as long as a test or E-series environment is alive we
can release a SDB daily where we can add new signals to test. Then we can allow
ourself to deliver in what frequency we want.</p>
      <p>Q: It sounds like most things that need to change are soft issues, are there
no technical obstacles for this?</p>
      <p>A: No, not really. There is a need for more support in SysTool to make
sure that additions that you make are backward compatible. Today this is mostly
a manual process. So you need to build in locks so, for this E-series you can
only introduce backward compatible changes so that we all the time can export
a correct export. And a lot of the stu that we manually need to clean up is
checked automatically. So there are some small tool changes. But this is not the
big thing, it is how we think and how we work.</p>
      <p>The system model doesn't have to be executable, a non-executable model is
enough for the checks that are needed. Also, because the system model is used
to generate shells that are lled with executable Simulink models, developers
might not see a need or purpose with having more executable models.</p>
      <p>A: We will still have these E-series where there will be some refactoring, and
to release such an E-series will still take two to three weeks to pack, so it might
not be nine weeks but it might be four to ve weeks before an E-series release
that you need to say what you want in that release. However, the di erence from
now is that this is not your last chance to get things in it, it is just what will be
in it from day one in this series. Then after this you will be able to get things
into it as long as it is living.</p>
      <p>
        Because the software development cycles are not bound to the hardware or
mechanical development there is no need to follow a similar waterfall process.
Also, a more agile system development process would not force the suppliers to
be more agile, instead it would make it possible for the teams and their suppliers
to work out the best way of working between them. Therefore we can use a more
agile process, as already practiced by some of the ECU teams, on a system level.
To enable this transition the SysTool needs to support static consistency checks,
as proposed by [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], to give the developers and architects con dence in that the
changes they make are backward compatible and will not break the integration.
6
      </p>
    </sec>
    <sec id="sec-6">
      <title>Related work</title>
      <p>
        Pernstal [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] has conducted a literature study of lean and agile practices in
largescale software development, such as in the automotive industry, concluding that
there is a lack of empirical research within this area.
      </p>
      <p>
        Eklund and Bosch [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] have developed a method and a set of measures to
introduce agile software development in mass-produced embedded systems
development, including automotive development. They have discovered that part
of introducing agile methods is to gain acceptance in the organization for
gradual growth and polishing of requirements instead of using a waterfall approach.
They also say that it is possible to have agile software development even though
the product as a whole is driven by a plan-driven process.
      </p>
      <p>
        Kuhn et al. [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] and Arnanda et al. [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] have investigated MDE at General
Motors. However, they have not looked at how MDE could change the process and
help overcome some of the problems with the traditional process for developing
automotive systems.
7
      </p>
    </sec>
    <sec id="sec-7">
      <title>Conclusion and Future Work</title>
      <p>The interviewees often thought that the agile challenges were related to MDE
or the used tools. However, during the interview with one of the responsible
architects for the tools and processes he identi ed them as caused by the process
used on a system level. MDE would be the enabler for a more agile way of working
as it provides the teams with a way of testing and iterate their design without
having to wait for supplier software or hardware. To get the suppliers on board
in such a way of working will take time. But a more agile system development
process would not force the teams and suppliers to change their current way of
working, but it enables teams and suppliers to agree on a way of working that
suits them best instead of forcing them to t in to the waterfall development
process.</p>
      <p>We have during our research discovered that agile MDE can be bene cial for
automotive development. Using a language close to the domain, such as Simulink,
enables engineers trained in the speci c domain to work in an environment they
recognize and can express their solution in. A model based environment where
one can do physical modeling also enables the developers to quickly test their
solutions on their own PCs. These are enablers for a more agile development
process than is currently the norm in the automotive industry.</p>
      <p>We have also discovered that the hardware or mechanical development does
not force the software development to follow a waterfall process. The software
development is so independent it could have its own process on top of hardware
and mechanical development. A more agile software development process would
also make it easier to adapt to changes in hardware or mechanical systems.</p>
      <p>The interaction with sub-contractors is one of the obstacles that needs to be
bridged before agile can happen on all levels. However, a more agile software
process on the system level would permit the individual teams and sub-contractors
to interact in any way they would think is best instead of forcing them to follow
and t it in to the waterfall process. Some systems are naturally less appropriate
to develop in a completely agile way, such as brakes, and others are so stable and
well known that there is little bene t or need for agile development. But having
the software process on the system level agile doesn't mean that these domains
have to be developed agile, the sub-processes can still be as strict as they need.</p>
      <p>
        The natural thing would be to try to spread the agile MIL environment in
all directions and tailor the process [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] to utilize the possibilities of the tools.
A rst step to enable such a transition would be to allow for faster iterations of
the SDB and extending the SysTool to do static consistency checks.
      </p>
      <p>
        For the future, we plan to implement some of the proposed changes in section
5 to the process at parts of VCC and evaluate them, including looking at how
external actors can be integrated in a more agile way of working. Changing a
large organization will take time [12]. By starting bottom up we hope that the
acceptance for change will be easier to achieve in respect to in-house developers
[
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] but also for building trust with sub-contractors [13].
MODELS 2013, 16th International Conference on Model Driven Engineering
Languages and Systems, Miami, USA (2013)
12. Aaen, I., Borjesson, A., Mathiassen, L.: SPI agility: How to navigate improvement
projects. Software Process: Improvement and Practice 12 (2007) 267{281
13. Christopher, M.: The agile supply chain: Competing in volatile markets. Industrial
Marketing Management 29 (2000) 37{44
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Ebert</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jones</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Embedded software: Facts, gures, and future</article-title>
          .
          <source>IEEE Computer</source>
          <volume>42</volume>
          (
          <year>2009</year>
          )
          <volume>42</volume>
          {
          <fpage>52</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Broy</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>Challenges in automotive software engineering</article-title>
          .
          <source>In: Proceedings of the 28th international conference on Software engineering. ICSE '06</source>
          , New York, NY, USA, ACM (
          <year>2006</year>
          )
          <volume>33</volume>
          {
          <fpage>42</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Runeson</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          , Host, M.:
          <article-title>Guidelines for conducting and reporting case study research in software engineering</article-title>
          .
          <source>Empirical Software Engineering</source>
          <volume>14</volume>
          (
          <year>2008</year>
          )
          <volume>131</volume>
          {
          <fpage>164</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Robson</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <source>Real World Research. 2nd edn. Regional Surveys of the World Series. Blackwell Publishers</source>
          (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Seaman</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Qualitative methods in empirical studies of software engineering</article-title>
          .
          <source>IEEE Transactions on Software Engineering</source>
          <volume>25</volume>
          (
          <year>1999</year>
          )
          <volume>557</volume>
          {
          <fpage>572</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Rumpe</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Agile modeling with the UML</article-title>
          . In Wirsing,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Knapp</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Balsamo</surname>
          </string-name>
          , S., eds.:
          <source>Radical Innovations of Software and Systems Engineering in the Future. Number 2941 in Lecture Notes in Computer Science</source>
          . Springer Berlin Heidelberg (
          <year>2004</year>
          )
          <volume>297</volume>
          {
          <fpage>309</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Pernstal</surname>
          </string-name>
          , J.:
          <article-title>Towards Managing the Interaction between Manufacturing and Development Organizations in Automotive Software Development</article-title>
          .
          <source>PhD thesis</source>
          , Chalmers University of Technology, Gothenburg, Sweden (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Eklund</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bosch</surname>
          </string-name>
          , J.:
          <article-title>Applying agile development in mass-produced embedded systems</article-title>
          . In Wohlin, C., ed.:
          <source>Agile Processes in Software Engineering and Extreme Programming. Number 111 in Lecture Notes in Business Information Processing</source>
          . Springer Berlin Heidelberg (
          <year>2012</year>
          )
          <volume>31</volume>
          {
          <fpage>46</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Kuhn</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Murphy</surname>
            ,
            <given-names>G.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Thompson</surname>
            ,
            <given-names>C.A.</given-names>
          </string-name>
          :
          <article-title>An exploratory study of forces and frictions a ecting large-scale model-driven development</article-title>
          . In France, R.B.,
          <string-name>
            <surname>Kazmeier</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Breu</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Atkinson</surname>
          </string-name>
          , C., eds.:
          <source>Model Driven Engineering Languages and Systems. Number 7590 in Lecture Notes in Computer Science</source>
          . Springer Berlin Heidelberg (
          <year>2012</year>
          )
          <volume>352</volume>
          {
          <fpage>367</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Aranda</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Damian</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Borici</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Transition to model-driven engineering: what is revolutionary, what remains the same?</article-title>
          <source>In: Proceedings of the 15th international conference on Model Driven Engineering Languages and Systems. MODELS'12</source>
          , Berlin, Heidelberg, Springer-Verlag (
          <year>2012</year>
          )
          <volume>692</volume>
          {
          <fpage>708</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Whittle</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hutchinson</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          , Rounce eld, M.,
          <string-name>
            <surname>Burden</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heldal</surname>
          </string-name>
          , R.:
          <article-title>Industrial Adoption of Model-Driven Engineering: Are the Tools Really the Problem</article-title>
          ? In:
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>