Get Automotive Software PT 127 Jurgen free all chapters
Get Automotive Software PT 127 Jurgen free all chapters
Get Automotive Software PT 127 Jurgen free all chapters
com
https://ebookfinal.com/download/automotive-software-
pt-127-jurgen/
OR CLICK BUTTON
DOWNLOAD EBOOK
https://ebookfinal.com/download/metallic-biomaterial-interfaces-1st-
edition-jurgen-breme/
ebookfinal.com
https://ebookfinal.com/download/china-s-automotive-industry-
automotive-industry-in-emerging-markets-s-mark-norcliffe/
ebookfinal.com
https://ebookfinal.com/download/advances-in-chemical-physics-
volume-127-1st-edition-ilya-prigogine/
ebookfinal.com
https://ebookfinal.com/download/postgresql-replication-2nd-revised-
edition-edition-hans-jurgen-schonig/
ebookfinal.com
European Union Enlargement A Comparative History 1st
Edition Jurgen Elvert
https://ebookfinal.com/download/european-union-enlargement-a-
comparative-history-1st-edition-jurgen-elvert/
ebookfinal.com
https://ebookfinal.com/download/geometric-and-combinatorial-aspects-
of-commutative-algebra-1st-edition-jurgen-herzog/
ebookfinal.com
https://ebookfinal.com/download/automotive-antenna-design-and-
applications-victor-rabinovich/
ebookfinal.com
https://ebookfinal.com/download/automotive-electricity-and-
electronics-2nd-edition-edition-santini/
ebookfinal.com
https://ebookfinal.com/download/modern-automotive-technology-9th-
edition-james-e-duffy/
ebookfinal.com
AUTOMOTIVE SOFTWARE
PT-127
Edited by
Ronald K. Jurgen
Published by
SAE International
400 Commonwealth Drive
Warrendale, PA 15096-0001
U.S.A.
Phone (724)776-4841
Fax (724)776-0790
All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in
any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior
written permission of SAE.
SAE Permissions
400 Commonwealth Drive
Warrendale, PA 15096-0001-USA
Email: permissions@sae.org
Fax: 724-776-3036
Tel: 724-772-4028
ISBN 0-7680-1714-9
Library of Congress Catalog Number: 2005937533
SAE/PT-127
Copyright © 2006 SAE International
Positions and opinions advanced in this publication are those of the author(s) and not necessarily those of SAE.
The author is solely responsible for the content of the paper. A process is available by which discussions will be
printed with the paper if it is published in SAE Transactions.
Printed in USA
TABLE OF CONTENTS
Introduction
Complexity Mandates Rapid Software Development V
Ronald K. Jurgen, Editor
Overviews
Upfront Analysis in the Product Development Process (2005-01-1563) 3
Suchit Jain, Tin Bui, Jason Frick, Alain Khella, John Mason,
Richard Naddaf and Stewart Prince
Tin Bui, Jason Frick, Alain Khella, John Mason, Richard Naddaf and Stewart Prince
California State University, Northridge
INTRODUCTION
1st
Most analysis software on the market today employs
the finite element analysis (FEA) method. The FEA
process consists of subdividing all systems into individual
components or "elements" whose behavior is easily
understood and then reconstructing the original system
from these components. This is a natural way performing Figure 1 - Design-prototype-test iterations.
analyses in engineering and even in other analytical
fields, such as economics. The approach of using NOMENCLATURE
discrete components to solve full systems has been used FEA - Finite Element Analysis, CAD - Computer Aided
in structural mechanics since early 1940s, and the term Design, CAE - Computer Aided Engineering, CFD -
FEA was first used in 1950s. Aerospace engineers Computational fluid Dynamics, CSUN - California State
adopted FEA in the 1960s to analyze aircraft designs. University, Northridge,
4
Figure 7 - Simulating a pin connection in
COSMOSWorks is as simple as selecting the two
Figure 4 - FEA mesh of cell phone cover. Small cylindrical faces of the two arms of the pliers. Inset
geometry and slivers are automatically heeled by the shows the complex procedure by defining beams in
mesher. traditional FEA software.
5
Figure 8 - Stresses in a housing structure for an
Figure 9 - Drop test simulation inside
aircraft engine lubricating pump developed by
COSMOSWorks of a propane tank when dropped in
Nichols Aircraft Division. This part had nearly 1.7
different orientations.
million degrees of freedom and was meshed and
solved in couple of hours.
RACECAR DESIGN FOR FORMULA SAE
COMPETETION
From General Purpose to Specialized Tasks
One of the graduation requirements for the
mechanical engineering degree at California State
Other emerging trends include the customization
University, Northridge (CSUN) is to undergo a senior
of analysis technology to address specific tasks and the
design project. This is where senior students take all the
adoption of FEA by non-traditional industries. Until
theoretical learning from past courses and apply it to a
recently, FEA technology has been packaged as a
practical problem over the course of two semesters or
general-purpose tool that can simulate the behavior of
about 9 months. One such problem that a group of 15
just about any type of product design. While some
students encountered was the design and fabrication of
analysis applications provide specific physics
formula style racecar for the annual Formula SAE
functionality, such as mechanical, thermal, and
(FSAE) competition held in Detroit, Michigan.
computational fluid dynamics (CFD), specialization
Normally in the automotive industry, the typical time
within each of these areas is increasing and will continue
frame to design and build a working prototype is to 3 - 5
at an accelerated rate. Just as consumers are
years. Unfortunately, the CSUN FSAE team has only 9
demanding customization in everything from
months to design, build, and race a formula racecar.
automobiles to computers, engineers require analysis
The only way that the CSUN FSAE team and other
capabilities that address a narrow range of problems
teams across the world are able to complete this
that are particular to their specific industry.
assignment is through the use of advanced
computational aided engineering (CAE) programs. The
By focusing analysis technology on specific 2003 - 2004 CSUN FSAE team utilized the
tasks, such as "drop test" analysis for hand-held
computational capabilities of SolidWorks®,
products, cooling analysis for electronics systems
COSMOSFIoWorks™, COSMOSWorks®, and
design, and multiphysics interaction analysis
COSMOSMotion™ to design, analyze, simulate, and
(mechanical, thermal, and electromagnetic) for micro-
build a formula racecar.
electromechanical systems (MEMS) design, analysis
vendors are pushing advances in ease of use even
further. When addressing specific types of problems, What is FSAE?
analysis developers can leverage interface wizards to
automate analysis setup and effectively reduce what The FSAE competition is an annual competition
might require several steps with a general-purpose FEA spread out over five days in May. The competition is
package to a single step. hosted by the Society of Automotive Engineers (SAE)
and sponsored by DaimlerChrysler, Ford Motor
Company, and General Motors. Solidworks is also a
main sponsor of the event.
The competition challenges student's creativity,
imagination, and knowledge to build a working prototype
that meets the rules and regulations of the competition.
The engine displacement is limited to 610cc and many
6
restrictions are placed on chassis design. The
competition consists of static and dynamic events.
The competition begins with the static events, which
consist of the cost analysis, sales presentation, and
engineering design events. The second half of the
competition begins the dynamic events, which include
the acceleration run, skidpad, autocross, and endurance
coupled with fuel economy. The total amount of possible
points is 1000.
7
this case, the most critical event is the endurance event In addition to FEA stress analysis, the CFD
which lasts about thirty minutes. The formula racecar capabilities of COSMOSFIoWorks were also utilized.
was designed to survive this event and not for infinite Several components on the engine carry airflow, and
life. optimization of these designs helps improve maximum
After the aluminum box was modeled and fit into the horsepower.
assembly, the question of can the aluminum box One rule specific to the FSAE competition is the
withstand the forces succumbed during the endurance use of an engine restrictor. As the airflow moves
event was addressed. The aluminum box consists of 5 through this restriction, the airflow accelerates greatly,
plates bolted together. COSMOSWorks® was used to making compressibility and boundary layer effects very
design the aluminum box as well as other parts significant. While some analysis could be performed by
designed by students that were subjected to high hand as the geometry of the design becomes
stresses. Figure 12 below shows a deflection plot, which increasingly complex, CFD is the only feasible option.
allowed the calculation of the torsional rigidity of the Fig 14 show the pressure and velocity plots for the
monocoque. converging-diverging restrictor designed using
COSMOSFIoWorks.
[
TTTTT!
Shepherd Sanyanga
TRW Automotive
ABSTRACT INTRODUCTION
It is estimated that the software which monitors the health Figure 1 depicts the typical information flow between a
of an ECU now takes up about 60% of the total ECU vehicle manufacturer and Tier 1 supplier during the
software code to monitor, diagnose and announce the development of an ECU subsystem. Due to the fact that
problems an ECU may have during its normal or abnormal early-on during the development of a vehicle the OEM is
operational modes. It is the abnormal operation of the still unclear on what the final vehicle architecture will be in
system which is the constant problem for vehicle OEMs terms of requirements, the requirements will continuously
because this side of the system operation is not easily evolve as the program progresses. This tends to be
defined or simulated. The integration of Failure Mode and problematic for suppliers, since they need a static view of
Effects Analysis (FMEA) to normal design is now the vehicle architecture in order to give realistic system
becoming central to tackling these issues head-on, such that quotations and time scales for their ECU development. To
FMEA is now used as part of the integration process. manage this situation, most suppliers take a snapshot of
Having between 10 and 20 different ECUs on a vehicle requirements and quote based on that version of
network still leaves the integration of software from many requirements. However this still does not mitigate the
different suppliers a difficult task. The main issues are suppliers' costs in the development phase, so budget over
incompatible interfaces, misunderstandings of vehicle OEM runs are common.
internal software requirements and a general lack of time to
carry out rigorous and methodological integration testing at Requirements
the Data and Physical Layers before proper vehicle
production commences.
System Specification
The vehicle OEMs have attempted to alleviate these Vehicle Manufacturer .- ' \
problems by specifying common ECU infrastructures,
providing standard outsourced software modules to their
suppliers and by taking part in standardisation efforts such
as OSEK/VDX and AUTOSAR. However due to location,
perception and language differences, this has not reaped the
benefits that were being sought and has created a new set of
problems.
11
These budget overruns happen because most suppliers detected and solutions are sought. These problems may take
follow a methodological approach to their ECU system the following form: Interface compatibility issues due to
design process. This is usually called the ' V cycle mode of distributed functions; timing and data latency problems
ECU development, and is shown in Figure 2. It is after the caused by incorrectly coded OEM supplied standardized
architecture partition phase that suppliers identify where the software modules; harness connectivity issues; data
standardized OEM software modules are going to be co- corruption issues due to current and voltage distortion slew
located in their subsystem design. It is at the module testing rates; ECU software configuration issues due to ECUs with
stage that inconsistencies between operational requirements the wrong level of software functionality on a network;
and the OEM supplied modules are first seen. This also vehicle ignition start-up and shut-down issues due to
includes problems related to interface links to the supplier's incorrect implementation of network management procedure
proprietary code. To resolve these conflicts and to requirements and ignition after-run requirements.
implement these amended requirement changes, suppliers
end up expending extra resources to ensure that all parts of
the design are updated with these final agreed code changes. AUTOMOTIVE SOFTWARE INITIATIVES
In most systems with the OEM the cost implication of these
changes can be potentially under-estimated in the agreed The rapid increase in software functionality and additional
piece cost of the ECU subsystem. ECUs being added to vehicles brings additional complexity
to the system integration process. System integration can
be eased by managing the complexity of the distributed
Systems Requirements
Capture
Complete System
Integration Test
vehicle control system. A common approach to the
management of complexity has traditionally been
standardization, the use of interchangeable parts that provide
12
and time-triggered services in subsequent versions of the requirements are known and properly understood. This early
standard. decision on hardware configurations has a detrimental
constraining effect on the resulting software architecture. In
The biggest weakness in the OSEK concept has been the effect, the choice of hardware predetermines the software
lack of hardware device driver standards. A lot of ECU architecture, since it influences the functional partitioning
application code is required to interact with microprocessor across the available ECUs and therefore dictates the network
peripherals, and this is still the biggest differentiating factor communications requirements. The emphasis is currently
among microprocessors. So although OSEK goes a long on hardware module design rather than software function
way towards increasing the portability and reusability of design. While the hardware design costs have to be
ECU application software, the onus is still very much on restrained because of the large volumes involved, there is a
the software designer to decouple the device handlers from growing realization among OEMs that software costs are
the application code. The success with which this is done more significant than hardware costs. What must be
determines the level of application portability and reuse. considered is not just the software development cost alone,
but the total software cost across the life cycle of the
The ASAM group [2] has been successful in defining a set vehicle. This should include test and calibration costs,
of standards for implementing measurement, calibration and reprogramming/flashing costs, warranty costs and the
diagnostic systems. The CAN Calibration Protocol (CCP) potential cost of poor customer satisfaction caused by
and its successor XCP is widely used for calibration and software failures. Surveys increasingly show that the
flash programming of vehicle ECUs. Standards such as majority of vehicle breakdowns are caused by software or
these help the system integration process by providing a electronic faults, not mechanical failures. The goal therefore
single data exchange format for calibrating and diagnosing must be to achieve a high level of robustness in the vehicle
all ECUs in a distributed vehicle control system. software/electronic systems.
The International Standards Organization (ISO) has provided What many OEMs lack is a software architecture for their
a set of standards for retrieving diagnostic data from ECUs vehicles. While they may have an Electrical/Electronic
across K-Line, LIN and CAN networks. The most widely (E/E) Architecture, this is not quite the same thing. In the
used standards are KWP2000 (ISO 14230, 1-4) and first instance, E/E architectures are not completely portable
Diagnostics on CAN (ISO 15765, 1-4). between different vehicle variants because of differences in
body types and vehicle features. If software functions are
The latest standardization initiative is AUTOSAR [3], closely coupled to individual ECU hardware, and a specific
founded in 2003, which is made up of some of the largest ECU cannot be fitted to a vehicle variant, then all associated
OEMs and a whole host of Tier-1 suppliers. The goal of software functions are lost to that vehicle variant. Usually
AUTOSAR is to establish an open standard for automotive some of the software functionality is required, which the
Electrical/Electronic architecture. AUTOSAR intends to supplier then tries to integrate onto a different ECU with
provide a complete run-time environment for ECU resulting cost and integration problems. If the software
application software that will provide complete hardware architecture is completely independent of the hardware
independence. This run-time environment will be architecture, then none of these problems would arise. The
compatible with and make use of established automotive OEM would just choose the subset of software functions to
standards such as OSEK and CAN. One of the most be delivered on the vehicle variant and partition the
significant aspects of the AUTOSAR proposal is the functions across whichever vehicle ECUs are available. For
development of software interface standards for all functional this scheme to work there must be a software infrastructure
aspects of a vehicle. For example, there will be a set of available to decouple the software functions from the ECU
predefined software interfaces for powertrain control hardware and vehicle network. The remainder of this paper
functions. This will ensure a high level of compatibility outlines ideas for such a software infrastructure based on
between different suppliers' systems and simplify the existing software standards.
interchange and integration of these software systems. The
first validation tests for AUTOSAR are expected in 2006. OBJECT-ORIENTED DEVELOPMENT
These standardization efforts have brought the advantages of Most automotive software is developed using structured or
simplification and cost reduction to many OEMs and procedural approaches (usually written in C) which view the
suppliers. However, the integration of co-operating ECUs software as a collection of separate code functions that share
on a distributed vehicle network is still a major issue in some common data. These code functions tend to be tightly
terms of network message interpretation, bus loading, and coupled to the shared data and to each other so that any
proper handling of system failure modes. The AUTOSAR requirements change has a significant impact on the structure
standardization effort holds much promise, but widespread of the software.
agreement and tool support for the standard, if successful,
cannot be realistically expected until the end of the decade. Object-Oriented development is the process of developing
In the meantime OEMs and suppliers cannot stand still in software systems by considering the system to be made up
the face of increasing vehicle software complexity driven by of a set of co-operating objects. An object contains a set of
customer demand and hence must look to alternative data values called attributes that describe the object, together
approaches to contain the integration problems. with a set of methods or services that can be invoked on the
object.
AUTOMOTIVE SOFTWARE ARCHITECTURE
Objects invoke the methods of other objects to carry out the
One of the main causes of integration problems has been the functionality of the system. The overall system
piecemeal development of system ECUs in isolation from functionality is thus shared among the various objects in
one another. The vehicle control systems are usually much the same way that work is shared among the
partitioned into a set of networked ECUs early on in the employees of a company. Objects are a natural, intuitive
vehicle design cycle before the complete software system way to view software systems, particularly systems that
13
interact with real world objects. Software objects can be
developed to represent each real world object being
manipulated. For example, an engine control ECU could Fuel Injector
have a separate object for each fuel injector being controlled.
Each fuel injector object would have attributes detailing the
injector firing angles and duration, plus methods to fire and startAngie : float
switch off the injector. The methods are in effect the
responsibilities of the object. It should be noted that an
duration : int
object represents a specific instance, so that a fuel injector currerrtlyQrt : Boolean
object represents a specific fuel injector. If an engine ECU
is controlling four fuel injectors, then it would have four
Fuel Injector objects, one for each physical injector. Object-
Oriented methodologies use the concept of a class to
int fire( duration : float )
generalize about objects, so the fuel injector class would int stopO
represent the common traits (attributes and methods) of all
fuel injector objects. Another way of looking at it is that Boolean isOn()
classes represent the static structure of the system, whereas
objects provide a dynamic, run-time view.
Figure 4. UML Class Representation.
ENCAPSULATION
INHERITANCE
14
Driver Door Module
Door Module
CANbusStatus : ml
wiratowStatus : fcnt
mirrorStatus : int int remoteLockDoort doorld : int}
int remoteUnlockDoor( doorld : int}
doorStalus : int
int remoteOpenWindow{ windowld: int, amount : int )
int remoteCloseWindowf windowld : int. amount : int}
nt tockDoorQ int remotemoveMirrorf direction : in!, amount : int)
nt unlockDoorO int lockDoori)
int uniockDor>r()
nt openWindow{ amount : int ) int openWindow{ amount : int )
nt closeWindowf amount : int} int closeWindow( amount : int )
int moveMtrrori direction : int, amount : int)
int moveMrrrorf direction : int, amount : int)
"is a type o f
15
The Object Management Group (OMG) [7] is an industry The key to integrating application objects is the
consortium whose goal is to define a set of interfaces for specification of standard interfaces using the Interface
interoperable software. It has been in existence since 1989 Definition Language (IDL). The IDL is the mechanism that
and has specified the Common Object Request Broker separates interface from implementation, and it provides for
Architecture (CORBA) that defines a high-level facility for communication between objects that is independent of
distributed computing. CORBA uses an object-oriented programming language, hardware platform, networking
approach to hide the differences in programming languages, protocols and physical location.
operating systems and object location in a distributed
application. It provides an open distributed computing
INTERFACE DEFINITION LANGUAGE (IDL)
environment that facilitates component integration and
reuse. The IDL is a notation for defining application programming
interfaces. It is independent of programming languages and
The central component of CORBA is the Object Request defines the boundary between client code and object
Broker (ORB) which works as a software bus that implementations of services. The IDL is a fundamental part
transparently relays object requests across the various of OMG standards and provides platform-independent
implementation technologies. Application objects interact definitions of software interfaces.
only with the ORB in a client-server fashion. A client
object locates the required server object, invokes operations The OMG has defined standard language bindings for the
on it and is notified of the occurrence of any errors through a IDL that enable an automatic translation of IDL
standard exception handling mechanism. The ORB is specifications to programming languages such as C, Java,
responsible for routing the request from the client object to C++, Ada etc. The IDL is a pure specification language and
the server object and returning any results. CORBA can does not dictate the implementation of the software object.
handle both synchronous and asynchronous requests. A The object may be implemented as a library function on the
component may act as both a client and server same computer as the client object, or may even be
simultaneously. The ORB implementations include code implemented on a remote networked computer. As long as
stubs and skeletons known as Object Adaptors that map the the client and server objects adhere to the IDL specifications,
object interfaces to specific implementation languages. communication will be successful. The following is an
Figure 7 shows the structure of a CORBA-based software example of IDL for the door module objects.
application. module VehicleDoorSystems {
i n t e r f a c e Door_Module {
// a t t r i b u t e declaration
a t t r i b u t e unsigned long windowStatus;
a t t r i b u t e unsigned long m i r r o r S t a t u s ;
a t t r i b u t e unsigned long doorStatus;
/ / p o s s i b l e exceptions t h a t may be
/ / r a i s e d when executing methods
enum Faults { DoorFaultDetected,
mirrorFaultDetected } ;
/ / method d e c l a r a t i o n
unsigned long lockDoor();
r a i s e s ( DoorFaultDetected );
unsigned long unlockDoor()
r a i s e s ( DoorFaultDetected );
unsigned long openwindow (
in unsigned long amount );
unsigned long closeWindow (
Figure 7. CORBA Distributed Application Structure.
in unsigned long amount );
enum Direction {UP, DOWN, LEFT, RIGHT};
unsigned long moveMirror (
in Direction directionToGo,
in unsigned long amount )
r a i s e s ( MirrorFaultDetected );
16
The example illustrates the use of enumerated types in IDL The key feature that underpins CORBA is the IDL
to define allowable values for items such as door types and specification. The authors suggest that most of the benefits
windows types. Using enumerated types in the IDL of simplified integration and portability can be achieved by
definitions provides greater clarity on the expected usage of using IDL to specify software interfaces. Vehicle software
parameters. IDL also has an exception handling mechanism components can be defined at a subsystem level using IDL
that allows methods to raise exceptions when an operational early on in the design process. The structure and
error occurs. The client application is notified of server or interactions among components can be verified functionally
ORB exceptions synchronously through the calling at an early stage using IDL and object-oriented specification
interface. methodologies without regard to the communication
mechanisms. The software components could be
The use of IDL provides a hardware-independent interface functionally simulated on a PC using stub components.
between the software functions and thereby simplifies the Once the OEM is satisfied, the subsystems can then be
task of integrating software components. The quality of the further decomposed into sets of software components (also
IDL designs is very important for ensuring that the specified in IDL) to be allocated to suppliers. The result is
components are interoperable with one another and are that the interactions among the components have already
widely reusable. For example, although the IDL will define been functionally verified and failure mode responses
the number and types of method parameters, the client and explored before the supplier implements the software
server objects must both agree on the semantics of how the component. As long as the IDL interfaces remain
parameters are used. CORBA and IDL do give the unchanged, the process of integrating the finished
immediate advantage of hardware independence for the components should be much easier. Using IDL as part of
vehicle software architecture. Even ECU device drivers the requirements specification process removes much of the
could be given an IDL object interface to make them part of ambiguity of natural language specification, since the IDL is
the software architecture, free to be implemented on the a compilable notation. The IDL can be supplemented with
appropriate ECU. The principles of high cohesion and loose UML sequence diagrams that indicate the dynamic use of
coupling between IDL-defined objects will ensure greater the software components. Software modules delivered by
reusability. Design patterns for use with object-oriented suppliers can be verified against the IDL specification using
technology are well documented [6]. software test harnesses.
AUTOMOTIVE OBJECT R E Q U E S T B R O K E R Once the overall software requirements have been defined
and expressed using IDL, the next step is to map the
The CORBA standards grew out of a need to provide software components to the hardware architecture. Some
seamless interfaces between the heterogeneous technologies components may have to be mapped to a specific ECU
used to implement enterprise-wide applications. The use of because of sensor or other hardware requirements.
the internet and client-server computing paradigms as a Techniques such as cluster analysis [9] can be used to map
means of implementing distributed applications motivated remaining software modules to available ECUs. In this way
the design of the platform-independent CORBA architecture. the allocation of software to ECUs is neither predetermined
CORBA has been hugely successful in the enterprise nor constrained.
computing domain, and it has delivered on the promises of
reusability, portability and simplified integration. The issue of mapping IDL calls to specific implementation
languages and tools needs to be addressed. The main
The CORBA specifications were originally designed with problem to be overcome is the mapping of the dynamic run
network servers and a PC environment in mind, but this time ORB operation to the static run-time operation of
does not mean that the concepts are not applicable to real automotive ECUs. The Object Request Broker normally
time distributed computing applications. Indeed, there is a includes facilities to dynamically locate server objects, to
subcommittee of the OMG tasked with the application of invoke additional server objects to deal with increased
CORBA to real-time applications. The result is two loading and to dynamically prioritize client requests.
additional specifications; the Minimum CORBA Sufficient computing resources do not exist for this highly
specification and the Real-Time CORBA specification. The dynamic mode of operation in an automotive environment.
Minimum CORBA specification describes the basic features On the other hand, the software components to be used in an
needed to implement CORBA on resource-limited systems automotive system are static and are defined during the
such as embedded systems. The Real-Time CORBA software design phase, so the client-server object interactions
specification describes an implementation of CORBA on are also known in advance. This prior knowledge allows the
systems where end-to-end request timing constraints must Object Request Broker implementation to be hard-coded to
be met and where real-time task scheduling policies are optimize the use of resources. This can be accomplished
used. Although these specifications are a step in the right using a software configuration process prior to the final
direction for showing how CORBA can be used in software build, in the same way that OSEK systems are
automotive applications, currently available real-time ORBs statically configured at build time using the OSEK
such as Borland's VisiBroker-RT [8] seem to be limited to Implementation Language (OIL) file. This process is
the real-time Linux, Windows CE and VxWorks operating summarized in Figure 8.
systems. As such they are not directly usable with OSEK
systems that are typically used on vehicle ECUs. They
might however be useful for vehicle infotainment and
telematics applications where more computing power is
usually available.
17
desired communication mechanism. For example,
if the server object is on the same ECU as the
client, then a simple library call might be
sufficient. If the server is located on another ECU
then the stub would have to map the IDL call to a
network message using OSEK COM or direct CAN
messages, transmit the request to an ORB request
handler on the remote ECU, and wait for a response
before returning control to the client application.
The mapping of CORBA requests to CAN
messages has already been addressed in existing
research [10].
18
functions and ECU hardware. The integration problems are Model into Real-Time CORBA". IEEE Proceedings of
compounded by the fact that the integration between ECUs the International Parallel and Distributed Processing
currently takes place at the CAN network layer by means of Symposium 2003.
message transfer. Integration testing occurs at a very low 1 1. Rumbaugh, J. et al. Object-Oriented Modeling and
level, i.e. at the Physical Layer, which is in turn constrained
Design. Prentice Hall. ISBN 0-13-630054-5.
by what information can be deduced, mapped and translated
to the higher level network layer faults. This is further 12. Finocchiara, R., Lankes, S. and Jabs, A. "Design of a
hampered by the fact that the Physical Layer has its own Real-Time CORBA Event Service customised for the
inherent problems due to its electrical characteristics in CAN Bus". IEEE Proceedings of the 18' International
terms timing, transmission errors, latency problems, so it is Parallel and Distributed Processing Symposium 2004.
difficult to debug and understand the problems at the higher
layers due to the masking effect of these lower level issues.
Using the techniques suggested in this paper, the integration
process can be moved up to a higher application level where
ECU software interactions take the form of client-server CONTACT
requests and responses. At this level the software design is
easier to understand and debug. In addition, the intended
Brendan Jackman B.Sc. M.Tech.
operation of the system can be simulated and the failure
mode operation analyzed and understood prior to
programming. Using object-oriented modeling techniques Brendan is the founder and Director of the Centre for
for designing the software architecture will help achieve Automotive Research at Waterford Institute of Technology,
more flexible and reusable vehicle software functions. where he supervises postgraduate students working on
automotive software development, diagnostics and vehicle
networking research.. Brendan also lectures in Automotive
It is hoped that the suggestions described in this paper for Software Development to undergraduates on the B.Sc. in
implementing CORBA technology in an automotive Applied Computing Degree at Waterford Institute of
environment might be considered for future AUTOSAR and Technology. Brendan has extensive experience in the
OSEK standardization, thereby bringing the associated implementation of real-time control systems, having worked
benefits to a wider group of automotive software developers. previously with Digital Equipment Corporation, Ireland and
Logica BV in The Netherlands.
REFERENCES
Email: bjackmanftiwit.ie
1 · http://www.osek-vdx.com. OSEK Specifications.
2. http://www.asaivt.de. ASAM Specifications. Website: http://www.wit.ie/car
3. http://www.autosar.org. AUTOSAR group details.
4. Axelsson, J., "Holistic Object-Oriented Modelling of
Distributed Automotive Real-Time Control
Applications". IEEE 1999. Proceedings of 2" IEEE Shepherd Sanyanga (BEng BSc MSc PhD CEng
Symposium on Object-Oriented Real-Time Distributed Eurlng MIEE)
Computing.
5 . http://www.dc-cc.com. Automotive UML. Shepherd is a Technical Specialist in the design of
DaimlerChrysler Competence Centre. Subsystem Communication Protocols & Diagnostics and
6. Larman, C. (2002). Applying UML and Patterns. the verification of such systems at TRW Automotive in the
Prentice Hall PTR. ISBN 0-13-092569-1. United Kingdom, working with the major OEMs in Europe
and North America. He has had extensive experience in the
7 . http://www.omg.org. OMG, CORBA, IDL
system design of real-time embedded control systems for
information and specifications. safety critical and comfort applications in both the
8 . http://www.borland.com/visibroker. VisiBroker-RT Automotive and Aerospace industry. He has worked in
ORB product information. organizations such the United Nations, Lucas Aerospace
9. Rushton, G., Zakarian, A. and Grigoryan, T. Systems, Sagem Automotive and Ford Motor Company. He
"Development of Modular Electrical, Electronic, and is also an external examiner at an automotive research
Software System Architectures for Multiple Vehicle establishment in Ireland which runs MSc research courses
Platforms". SAE paper 2003-01-0139. for the automotive industry.
10. Lankes, S., Jabs, A. and Bemmerl, T. "Integration of a
CAN-based Connection-oriented Communication Email: shepherd.sanyanga@trw.com
19
2005-01-0312
Nigel Tracey
LiveDevices (ETAS Group)
Given that so many operating systems are using an THE AUTOMOTIVE SUPPLY CHAIN
approach that provides the necessary real-time control
and transparency, why change to an OSEK operating The automotive industry builds vehicles in large
system? In other words, what value does an OSEK quantities (up to tens of millions of units in some cases).
operating system deliver compared to one that uses the Small problems may therefore have a great impact,
traditional approach to task scheduling? since they have the potential of manifesting themselves
in a great number of vehicles. If we assume a population
In this paper, we answer precisely that question. An of 1 million vehicles, with each vehicle being used 1
OSEK OS can offer significant efficiency advantages that hour a day, 300 days a year, the potential impact of a
ultimately save cost in development and production. small problem becomes obvious. A quick calculation
However, an organization faces certain challenges when leads to 300 million hours of use per year, which poses
it decides to replace its traditional OS with an OSEK OS. a heavy functional reliability constraint on any system. To
We identify and discuss these challenges. ascertain good functional reliability for their products,
OEMs usually assign the task of function specification
INTRODUCTION design to their own engineers. The task of implementing
these functions, however, is usually outsourced to
"We build a lot of software today, and we just keep on suppliers.
doing it. Over, and over, and over again," Stephen Mellor
rightly complained in a recent article in Embedded
f u n c t i o n a l Specification
Computing Design.(1) In his remark, Mellor points out
that application software is often redone rather than
reused, and that this is due to the fact that application
software code is bound to all the layers the software System or Sub-sy*t*tr
relies on. Mellor suggested that a new way of thinking
about application software is necessary in order to put an
end to the waste of time and money in development. The
solution according to Mellor is to view and value
application software as an asset.
21
that their embedded systems satisfy their throughput
requirements, or that they will respond to inputs within
the allocated response time.
interrupts, which would result in faster response to an
external event. The following illustrates "sequential
computing":
void main(void)
{
do_init();
while (1) {
tl();
t2();
t3();
delay_until_cycle_start();
}
}
Functions are computed sequentially, providing a clean
and simple software implementation. If we now add a
periodic interrupt, the system is almost fully loaded (see
figure 2.). Since 3ms defines the "timing granularity",
every function must be processed every 3ms. The load
can then be calculated from the requirements table:
TIME
Figure 1. Task Sample Processing Requirement Effective
rate time load
To put it in general terms, automotive OEMs specify the T1 3ms 0.5ms 16.6% 16.6%
systems and suppliers implement them. Integration is T2 6ms 0.75ms 12.5% 25%
done later at the OEM or the supplier. In the area of 41.7%
T3 14ms 1.25ms 8.9%
powertrain controls in North America, both the hardware
platform (microcontroller) and infrastructure software isr 10ms 0.5ms 5% 16.6%
(scheduler API, HWIL) are specified by the OEM. In Total 48% 99.9%
other areas, such as chassis or body controls, a different CPU
distribution of tasks gives suppliers greater flexibility. The load
reason for this distribution of development tasks in the
automotive industry comes from the necessity to reduce In its simplest form of cyclic implementation, the system
costs. is fully loaded after adding the interrupt service routine,
and can no longer accommodate new functionality.
A WELL PROVEN APPROACH? Adding new functionality will require hardware
modifications.
Embedded real-time automotive software runs on
microcontrollers, i.e., silicon. Function developers,
however, typically model the functions that will later run
on a microcontroller in a PC environment. Controls
engineers implement these functions, and software i — i — i — i — i — i — i — i — i — i — i — i — i — r
engineers fit them into the confined environment of a
microcontroller, where instruction size, memory size,
CPU load, etc. are at a premium.
ECU
Figure 4.
Figure 6.
P
23
THE CHALLENGES OF USING AN OSEK RTOS
Figure 6 illustrates the more complex ECU mentioned Using an OSEK scheduler offers a lot of benefits, the
previously. The application layer now accesses hardware biggest ones probably being the increased traceability
and network resources though abstract layers, allowing from the specification to the implementation, and the
designers to build more abstract and reusable ability to design software at a level that is less target-
application components. dependent. On the other hand, when selecting a
scheduler, consideration must be given to the following
OSEK Scheduling facts. Using preemption introduces memory overheads,
which could drive the price of the ECU up. Also, the
The OSEK scheduling mechanism is based on events, RTOS is now part of the ECU performance equation.
which will guarantee the most efficient processing of
interrupts in the application. Instead of polling, the ECU Memory Overheads
responds to a set of events, where time is simply one
particular type of event. The OSEK RTOS specifies a Preemption requires RAM space, because each time a
scheduler that uses a fixed priority scheduling policy. high priority task preempts a lower priority task, the
Under this policy, each task is assigned a fixed priority. context of the low priority task must be saved on the
The scheduler will always run the highest priority task stack so it can be restored later. In some OSEK RTOS
that is ready. The higher priority task will then preempt implementations, the RAM demand will grow
any lower priority task running at that time. When the proportionally to the number of tasks. This could be a
higher priority task is finished, the lower priority task is problem, especially if production cost is an issue, since
resumed at the point of preemption. Interrupts are RAM is costly. This is particularly true for RTOSs that
processed in the same manner. If we now go back to the have not been engineered so that all the tasks can share
3 tasks system described in 2 (T1 running every 3ms, T2 a single stack. This will be an important point in the
every 6ms, T3 every 14ms, and isr everylOms), an production cost section of our return on investment
OSEK scheduler will process the various tasks at their analysis.
required rate, thereby freeing up CPU time. This CPU
time is available for additional tasks that may have to be
Systems' Performance Determination
implemented in response to modifications made to the
function requirements.
The other area where software engineers must be
careful is the overall performance of the system, as the
system's performance is dependent on the RTOS
OSEK vs Cyclic performance. Figure 8 shows an example of preemption
where the scheduler has to run in addition to the
performance hit caused by the high priority task switch in
and task switch out. Special care must be taken here,
and one must make sure that the scheduler's
performance data have been published, that it is
deterministic, and that the implementation is efficient
enough to allow the user to take advantage of the RTOS
flexibility. We have actually seen instances where the
RTOS implementation was so inefficient that users could
not use any of the system services. Overall, the RTOS
implementation should provide an improved system
Figure 7. response compared to a cyclic implementation.
24
A quick comparison of how response time is determined • Minimizing development time.
in both cyclic and priority-based scheduling reveals which
approach leads to the best system response time. In • Minimizing the cost of infrastructure
cyclic scheduling, the response time (R) of each task is development, since the latter is not part of the
simply given by: core business.
• Improving the product integration phase.
R = C + Polling_delay, where C is the computation time.
The size and quality of the software will have an impact
The system will meet its performance requirements if all on the overall production cost when
the tasks meet their performance requirements. It is
typical to poll more frequently in such designs, as this is • the application or the infrastructure software
the only possible way to improve the system's response demands a large amount of RAM and when
time. Frequent polling will increase the interrupt rate, and • system performance response becomes
will decrease the system's overall throughput. unpredictable due to added functionality.
With a priority-based scheduler, the response time is a In both cases, the solution involves over engineering,
function of the RTOS, plus any interference (preemption) either by adding unnecessary RAM space, or by running
and blocking (if resources are used) caused to the task: at a higher clock speed (which could affect other parts of
the system). We will consider these factors in the context
R = C+ f(RTOS) + I + B of our return on investment analysis at the end of this
paper.
Research shows that OSEK scheduling fulfils the
assumptions of the deadline monotonie theory (2). This Using a Cyclic Scheduler
mathematical approach to preemptive scheduling gives
us the ability to compute the response time ( Rt ) for each
task: As we highlighted previously, a cyclic scheduler may be
appropriate for small applications. It will quickly fall short
with more complex systems as the functionality has to be
R,= St +B, *Cn.+ X \RiITk\Ciw + Ck) split to fit into the scheduler's time slices. With this
approach, the application software will be less reusable.
Where: Reusability is also reduced by the more hardware-
• Ci is the worst case execution time of a given dependent nature of the application software. On the
task Ci process side, it will be more difficult to use modern
• Tk is the period of task k approaches to software design, especially autocoding.
• Csw is the cost of switching to and back from a And, as we outlined earlier, a cyclic approach makes
preempting task inefficient use of the CPU. To conclude, opting for a
• Bi is the blocking time of task i cyclic scheduler comes at a price after all, as this
• Si is the scheduler overhead for task i seemingly smart decision will drive up the cost of
• Hp is the set of tasks of higher priority than task i developing and producing embedded systems
Assuming that we have access to the performance data Using an OSEK Scheduler
of the scheduler, i.e. Csw, we are now able to determine
the response time of each task in the system, and hence An OSEK-based implementation offers organizations a
the overall performance of the system. better approach to software design. Distributed
development is possible because the architecture is
THE COST OF BUILDING EMBEDDED REAL typically in place at the beginning of the project. A
number of teams can then work on the various
TIME SOFTWARE
subsystems. Since all the teams share the same insight
into the scheduler, requirement changes can be easily
There are two cost components when building ECU assessed. In addition, this approach promotes reusability
software: development cost - which covers design, of the software, as its design is less target-dependent.
implementation, and testing - and production cost. In the Using an OSEK scheduler makes the development cost
automotive industry, development cost constitutes a of the ECU software manageable.
significant amount of the overall cost. We will examine
this issue in the return on investment analysis at the end
On the production side, implementation of an OSEK OS
of this paper. Minimizing development cost will imply:
can increase the cost (larger RAM and increased
execution time). To evaluate an OSEK-based approach,
• Minimizing the impact of requirement changes at it is imperative to answer the following questions:
all stages (this can be done by reducing the
• How has the OSEK RTOS been designed to
interdependency of infrastructure software and
handle preemption with respect to RAM usage?
application software).
25
• What is the inherent performance of the The total cost for this project will be $12.96 Million.
scheduler (especially in terms of context
switches)? OSEK-RTOS
The following table sums up the pros and cons of each Let us next look at an OSEK-based implementation.
implementation. Restructuring software will take 1 day/change, which
leads to a total cost of $2,000. It will not be necessary to
Cyclic OSEK-RTOS
test software for timing problems if the proper design tool
Infrastructure effort some none suite is used, and it will not be necessary to tune the
Maintenance Difficult easy software to avoid timing problems. Additional tasks do
Reuse Limited high not increase RAM requirements.
Verification/Validation In-house Certified
testing Tools will be necessary to support this approach, so
CPU requirements high Should be low there will an infrastructure cost. For this project, it will be
Memory Initially low, Should below $100,000.
requirements increases with change little
maintenance with the The total cost for the changes will be $2000, if we
number of consider the infrastructure cost part of the initial
tasks development.
Comparison of scheduler possibilities The total cost for this project will be $10.5 Million.
26
2004-01-0757
Gary Rushton
E/E Vehicle Systems - Visteon Corporation
ABSTRACT
Engine
With the increasing number of ECUs in modern Control
automotive applications (70 in high end cars), designers
CAN network
are facing the challenge of managing complex design
tasks, such as the allocation of software tasks over a
network of ECUs. The allocation may be dictated by Basic Function
Control Loop
different attributes ( performance, cost, size, etc.). The
task of validating a given allocation can be achieved
either via static analysis (e.g., for cost, size) and/or
dynamic analysis (e.g. via performance simulation - for
timing constraints). This paper brings together two key
concepts: algorithmic and optimization techniques to be ACC, Driving-Dynamics
used during static analysis and virtual integration Control Loop
platforms for simulation-based exploration. The two
concepts together provide the pillars for a constraint-
driven / simulation-based approach, tailored to optimize Figure 1: Adaptive Cruise Control
the entire ECU network according to a cost function bandwidth requirements (10Mbs for a dependable fault
defined by the user. tolerant communication protocol).
27
actuators, etc) very early in the design cycle, when not Virtual Prototyping
much information is available (HW is often not
available), while the validation of it is performed quite Application SW Plant Models
late, only after sub-systems' HW/SW implementations Models
become available. Thus, integration issues are
discovered when changes are very expensive. OSEK BCC2 OSEK Ftcom
Model Model
Moreover, resilience to faults can only be checked via
expensive and not easily repeatable tests on physical CAN Model M FlexRayModel
prototypes. Secondly, the communication between the
car manufacturers (OEM) - playing the role of system ECU Model Library
integrator once the sub-systems have been delivered -
and the providers of the sub-systems (e.g. engine ack^An notation
control), is often a source of misunderstandings
regarding the intended functional and non-functional M a pp | n a
requirements the sub-system has to provide in terms of
Distributed Architecture Analysis
timing, cost, and safety.
Besides, OEM and Tierl system architects are facing Distributed Fault Injection and
the challenge of managing complex design tasks, such Analysis
as the allocation of software tasks over a network of
ECUs (SW binding). The trend toward the
standardization of SW platform APIs consistent with
OSEK specifications for communication among ECUs
(e.g. COM and FTCom) and with application software
\z Export
28
Select Vehicle Configurations
Generic System Requirements Model mtymktoam&f*'9&&,t™''*·'* ' ~ ' ' " " ■-«*'* 'WaJK
f * frcw 9 »
* *&%
V«M*1 Ftwe«jR U«î!Jt>S
i; ! » 1
W**"*"' lêssSSlKl jè£25E5ft
Si U i ! Π Ο
Figure 5: ISDO Tool Automotive Platform itself and the Visteon Integrated
System design and Optimization (ISDO) static analysis
• Automatically annotating the control algorithm tool (described in the next section). This aspect is
tasks and communications with timing detailed later in the paper.
performance formulae for dynamic computation
(at simulation time) of the message transmission
latencies over the network bus as well as the
SW scheduling execution times due to shared ISDO TOOL FLOW
resources (buses, CPUs)
In [3], new approaches and software algorithms were
• Simulating the bound virtual platform (e.g. presented that allow vehicle Electrical, Electronic and
representing a possible candidate distribution of Software (EES) system design engineers to develop
functionality over the network) for verification modular architectures / modules that can be shared
purposes under regular conditions and/or with across vehicle platforms (for OEMs) and across OEMs
fault injection (e.g. data corruption, abnormal (for suppliers). The methodology uses matrix clustering
task delay, etc) and graph-based techniques. The ISDO software tool
(Figure 5) allows system design experts to build a low
Notice that the virtual integration platform relies on cost EES architecture that can be shared across multiple
providing library elements for both functionalities and vehicle platforms. The ISDO software builds an optimal
architectural resources. The platform provides links with system architecture for a given set of system features
the most popular tools for algorithmic development and and feature take rates by grouping (integrating) system
simulation, thus enabling the seamless import of such functions into physical modules and determining the best
models and their composition in the overall distributed possible tradeoffs between system overhead costs, give
complex control function. The platform also provides away costs, and wiring costs. Also in [3], a new
models of popular communication protocols such as approach is presented that allows system developers to
CAN. One important aspect, the XML-based identify common modules in EES architectures that can
programming capabilities provided by the platform, be shared across multiple vehicle platforms. In a
constitutes the core of the linkage between the Cadence nutshell, the ISDO tool flow can be described as follows:
29
• Import the system requirements model into a decomposition and function interface definition
specified database using predefined templates (signals and shared variables)
to create various vehicle configurations
Next, the ISDO tool is used to allocate functions
• Automatic creation of the function-function to modules
interaction matrix once the requirements for
each vehicle configuration are identified Next, the allocation is exported by the ISDO tool
and imported by the Cadence Automotive
• User pre-defined, or carryover, modules: the Platform environment and simulated
user can select functions from the incidence
matrix and group them into predefined modules. If the simulation results are satisfactory, the
This step makes sure that in the final vehicle designer can (optionally) refine the design,
architecture the functions of carryover, or provided that he/she does not modify the
predefined modules, will appear in a single function interfaces, by replacing the coarse grain
cluster/module. functional models used during the simulation in
the Cadence Automotive Platform with more
• Applying optimization algorithms to the function- detailed models imported from other tools (e.g.
function interaction matrix to identify optimal Simulink) and re-importing them with the
functional grouping in the vehicle architecture. Cadence Platform
I Tools' Exporters>-
I Translators J>
Model Generator
>
i Merger " | ^ >
I Manual E d i t i n g ^ ·
Model Visitor
30
Powcrtrain Wireless Fuel Wiper/Washer
Control User
Information System Svstem Windows
System
and
Mirrors
WIRELESS
\
\
USER
REQUIS" 1"5
T
AntiLock ENGINE FUEL
HEATH.)
Brake DATA o i i m r r s w l R E L E S S \ USER
REAR
Svstem -ANTILOCK INPITS \ FEEDBACK, WINDOWRESTRAINT Restraint
BRAKE <T>MMANDCONTROL - Control
STATUS STATUS Svstem
BRAKE Exterior
Brake
-PEDALS- and
Pedals 0 1 r\ X f~i
Interior
Lights
HORN IGNITION
-COMMAND SWITCH
T STATUS ~""~—- Steering
Horn SEAT ATMOSPHERIC Wheel and
SPEED MPLIFIED ,FI T CONDmONS
CONTROL AUDIO CONDITIONED m Column
AND TRUNK VACUUM COCKPIT
Speed
• STATE
/
AIR
L
STATU:
\ I
"" TRUNK OOMMAND*RESSl^lIZED
AIR CONDITIONS
compiled into a simulatable representation (Figure 6) [6]. In the ISDO tool, a design is translated from hierarchical
Notice that the XML-based representation includes context diagrams (Yourdon-DeMarco methodology)
information about the functions' interfaces with their (Figures 7-8) to an XML-based format. The hierarchy is
activation mechanisms (via signals or periodic timers) used to manage complexity. Notice that the context
and shared variables. A very important piece of diagrams are not executable, since the wired
information is represented by the Software Execution connections between functions do not have any
Architecture (SEA). In fact, in order to be scheduled and execution semantics (e.g. hardware interrupts). They
simulated, the functions have to be assigned to tasks, are meant to represent the logical flow of data
which in turn, are assigned to ECU scheduler models (information, material, or energy) between functions.
during the binding step (OsekTime for the Cadence Moreover, there is no definition of SEA and no
Automotive Platform). Once the user has programmed executable models for the functions themselves. Since
with scripting language the type of communication the purpose of the Visteon ISDO tool is to perform static
protocol model that has to be used to simulate the analysis and allocation of functions to modules
network traffic, the Cadence Automotive Platform engine (hereafter either the term modules or ECUs are used
automatically determines the network bus with the same meaning) the tool does not need
communication matrix. In fact, at this point of the design executable semantics for its design representation, since
flow, it is known which messages are sent by an ECU to no simulation is performed. It is therefore important to
which other ECUs, because the software tasks that send implement a linkage between the ISDO design
messages to the bus controllers and receive them from representation and the Cadence Platform representation
them have been assigned to the ECUs themselves to simulate a given allocation. This is explained in the
within the Visteon ISDO tool. The engine provides the next section.
user with an automatic configuration of the network. For
each bus cluster, a communication cycle with arbitration
is provided, while each frame is activated via a triggering
mechanism. Notice that the user can modify the
configuration, as part of the XML manipulations, via the
scripting language.
31
Figure 8: Next Level Hierarchical Context Diagram Second, the allocation is transformed by the
ISDO tool into an equivalent XML-based
COMMUNICATION MATRIX IMPORT communication matrix
An efficient way of importing the Visteon ISDO design Third, the designer annotates (for instance with
representation to simulate a given functional allocation is an XML editor of choice or via Java API based
via the communication matrix import. The command) the messages in the communication
communication matrix is a representation that does not matrix with activation policy information (e.g.
take into account the original design hierarchy - the periodic vs. triggered): this is needed in order to
communications are represented with respect to the simulate the network traffic.
ECUs instantiated in the network cluster. Therefore, if
one is able to annotate the communication matrix by Fourth, the Cadence Automotive Platform reads
itself with information about the activation policy of the in the communication matrix and compiles into a
messages being broadcast, then this representation can set of XML based representations (again see
be used to automatically create a simulatable design in Figure 9)
the Cadence Automotive Platform. Notice that the usage
of the communication matrix is equivalent to flattening o An architecture XML that represents a
the original design hierarchy - which was irrelevant for single-cluster network of ECUs
simulation purposes anyway, since it was only used for connected via a network bus
managing design complexity. Therefore, we envision the (ECU=Module)
following flow (Figure 9 at the end of the paper) between
the two environments:
o A functional XML that represents a trivial
functional network, in which a set of
• First, the ISDO tool determines the allocation of transactor behaviors are used to
functions to modules generate network traffic, one transactor
per ECU
32
o A SEA XML that represents the trivial ACKNOWLEDGMENTS
assignment of one transactor to a task
The authors would like to thank Pascal Bornât and Jean-
o A binding XML that represents the Yves Brunei from Cadence Design Systems, Velizy,
mapping of each single transactor task France, Alberto Ferrari from Parades, Rome, and
to one ECU Luciano Lavagno from Politecnico di Torino, Turin, Italy
for their contributions to the paper.
o A simulation set-up XML initially empty,
later on updated to include any probing REFERENCES
of given metrics (e.g. bus load)
1. Zakarian, A. and Rushton G. J. (2001),
• Fifth, the five XML representations are compiled "Development of Modular Electrical Systems",
into a simulatable representation and the IEEE/ASME Transaction on Mechatronic,
simulation with data collection and analysis can 2. Rushton, G., Zakarian, A., and Grigoryan, T. (2002),
take place. "Algorithms and Software for Development of
Modular Vehicle Architectures", SAE World
Notice that in this flow design exploration is provided Congress 2002-01-0140.
with respect to analyzing a given allocation of
3. Rushton, G., Zakarian, A., and Grigoryan, T. (2003),
functionality vs. specific attributes of interest, such as
"Development of Modular Electrical, Electronic, and
the network traffic. It is important to notice that since the
Software System Architectures for Multiple Vehicle
original hierarchy is not preserved, should the user want
Platforms ", SAE 2003-01-0139
to explore a different task organization, this step must be
performed in the Visteon ISDO tool. The steps described 4. Thilo Demmeler, Paolo Giusto (2001), "A Universal
above should then be repeated. However, it is also Communication Model for an Automotive System
important to note that, since there is no function Integration Platform", Design Automation and Test
executable specification in ISDO, once a specific Europe Congress 2001
allocation has been validated via simulation, it makes 5. Thilo Demmeler, Barry O'Rourke, Paolo Giusto
sense to refine the coarse grain transactor models by (2002) "Enabling Rapid Design Exploration through
importing finer models from a tool such as Virtual Integration and Simulation of Fault Tolerant
Mathworks/Simulink via dSPACE Target Link code Automotive Application", SAE World Congress 2002,
generation. At this point, the designer would be able to SAE 02AE-76.
explore different software execution architectures and 6. Paolo Giusto, Jean-Yves Brunei, Alberto Ferrari,
further refine the target implementation model. Note also Eliane Fourgeau, Luciano Lavagno, Alberto
that the flow is independent of the communication Sangiovanni Vincentelli (2003), "Virtual Integration
protocol model being used for the simulation - the user Platforms for Automotive Safety Critical Distributed
can replace a general yet highly programmable model Applications", Conference International Su les
such as the Universal Communication Model (UCM) [4] Systèmes Temps Reel (RTS) 2003
with a more refined model for CAN (included in the
Cadence Automotive Platform) and utilize error injection
capabilities provided by the Cadence Automotive
Platform. CONTACTS
33
engineering technical fellow with Visteon Corporation. architectures, and cockpit system design. Previously,
As an engineer with Visteon Corporation, he has worked with General Dynamics, he worked on avionics systems
on audio software, subsystem product for the F-16 and vetronics systems for the Abrams M1A2
development/design, diagnostics, vehicle system tank, (qrushtongjvisteon.com).
34
2004-01-0719
Victor Fey
The TRIZ Group, LLC
The authors describe a new structured approach to 42V - after enthusiastic introduction and considerable
technology and product planning based on TRIZ expenditures by many OEMs and suppliers, the
methodology. This approach largely removes guesswork development has stagnated, allegedly due to a slow
from pinning down the next most likely evolutions of economy. However, recently it has been questioned if
automotive software and electronics and provides 42V is ever going to be realized as a platform, or it will
objective justification for investment decisions. be passed over towards higher-voltage systems?
35
US, Japan, and Europe to develop many new product In the qualitative formula in Fig. 1.2, functionality refers
and technology innovations [4]. to the number of functions performed by the system and
to the level of performance of these functions. "Cost"
TRIZ is a Russian acronym for Theory of Inventive means all expenditures (monetary and others (e.g., parts
Problem Solving. The main postulate of TRIZ is that count, weight, etc)) associated with the system's
evolution of technological systems is governed by creation and maintenance. Problems are measurable
objective laws. Just like laws of nature, laws of parameters, such as level of noise, intensity of wear, as
technology evolution operate regardless of our well as intangible ones (complexity of operation,
knowledge about them. These laws describe "life tracks" discomfort, etc).
of a system's evolution. Knowing the current system's
design, the most likely future designs can be predicted
using the laws. Functionality
Degree of Ideality =
By analyzing tens of thousands of patented and X Costs + X Problems
commercialized product and process innovations, and
selecting and examining the most effective designs,
Fig. 1.2. Degree of ideality.
Altshuller formulated several laws of technological
system evolution (or laws of evolution for short). These
laws of evolution make up a theoretical base of the This law shows the prevailing dynamics of the benefit-to-
comprehensive TRIZ methodology that contains cost ratio: as systems evolve, we pay less for the
numerous powerful tools for resolving conflicts between improved old and added new functions. Today's cars are
system elements, tools for developing conceptual more powerful and much more comfortable than cars
designs, methods for problem formulation, etc. made a few decades ago, yet they cost (in dollars
adjusted to inflation) less than their predecessors.
TRIZ is both a theory of technology evolution and a
methodology for effective development of new This law also implies that for a new system to survive a
technological systems. It contains two major market selection process (in the long run), its degree of
components: tools to identify and develop next- ideality has to be higher than that of the incumbent
generation technologies and products, and methods for system. The law of ideality in TRIZ plays a role similar to
developing conceptual system designs. The structure of that of the compass in navigation. As the compass
TRIZ is shown in Fig. 1.1 provides a traveler with a sense of direction, the law of
ideality shows a principal vector, along which the best
solutions can be found. Most other laws of evolution can
Tools for identification be compared to meridians that lead to these best
Tools for
and development of solutions and converge at the "ideality pole."
development of
next-generation
conceptual designs
technologies/products
From the formula in Fig 1.2, it is clear that the system's
Ideality Pole
Laws of
technological
system evolution
36
• Increasing system functionality (i.e., the number of its To use the law of non-uniform evolution of subsystems,
functions and/or level of their performance), while we recommend the following steps:
keeping the cost of the system unchanged.
1. Identify the major components of your system and
• Reducing the cost, while maintaining its functionality. the primary functions they perform.
2. Select a component of interest and mentally improve
• Integration of the first two approaches. its primary function significantly.
3. Identify problems (resulting from this improvement)
LAW OF NON-UNIFORM EVOLUTION OF in other components. Formulate system conflicts.
SUBSYSTEMS 4. If necessary, repeat the previous steps for other
major components.
This law states that systems components evolve at
different paces; the more complicated the system is,
the more non-uniform the evolution of its Example 3.
components.
Consider the vehicle power distribution system. Delivery
of power is the main function of this vehicle subsystem.
The disparity of rates of development of different Suppose that we want to double the budget for vehicle
components produces a situation in which improving one power (for features like electrical power steering, air
component (function) makes some other components conditioner, or the like) - a task that is challenging
(functions) inadequate. Such a situation is called in TRIZ today's vehicle designers. Doubling the power budget
a system conflict. would mean doubling the output capacity of the
alternator. This will increase the size of the alternator,
A problem associated with a system conflict can be causing it to fight for space inside the tightly packed
solved either by finding a compromise between engine compartment (system conflict #1). If the
opposing demands, or by satisfying them. Compromises alternator technology doesn't change, power losses in
or trade-offs are perceived to be so unavoidable that the alternator would also increase, possibly requiring a
finding the most optimal trade-offs is a typical part of move from the air to liquid cooling (system conflict #2). If
many system engineering activities! Trade-offs do not we then try not to increase the power distribution losses
eliminate system conflicts, but rather alleviate them. and retain the conventional 12V system voltage, the wire
Conflicting requirements keep "stretching" the system. and contact resistance would need to be reduced
Then the time comes when further improvement of the fourfold (P=I2*R). That, in its turn, would cause an
system's performance becomes impossible without unacceptable increase in the wire's size and mass and
eliminating the system conflict. complicate wire harness routing (system conflict #4). If
we decide to move to a higher system voltage (e.g., to
From a TRIZ standpoint, to make a breakthrough means the proposed 42V system), we face a different set of
to resolve a system conflict by satisfying all of the conflicts: 42V light bulbs do not withstand vehicle
opposing demands. TRIZ offers several methods for vibration (system conflict #5); disconnecting "live"
compromise-free system conflict resolutions. connectors causes arcs that destroy the terminals
(system conflict #6). Issues of jump start and external
Example 1. infrastructure would also need to be addressed (system
conflict #7).
The earliest cars had a start-stop handle and no
windshield - they were moving slowly. Increased car All of these system conflicts are known today, but they
speed created a system conflict between the speed and could have been foreseen and investigated much earlier
the need to stop quickly, as well as between the speed had the law of non-uniform evolution of subsystems
and comfort of the occupants (wind in the face). been used.
Resolution of those conflicts resulted in introduction of
the brake system and the windshield.
Example 2.
37
LAW OF INCREASING FLEXIBILITY model" was soon introduced. (Fig. 1.5) In this model,
software development was allowed to move into the next
This law states that technological systems evolve toward
increasing adaptation to changing environmental Requirements
conditions and varying performance regimes. The law
reveals itself through several "lines of increasing
flexibility". We will describe one of these lines called "the
line of transition to continuously variable systems."
Coding
A new system is usually developed to perform a
particular set of functions in a specific environment. It is
a "rigid," one-state system. As the environment changes,
the system adapts to new or additional usage, and
becomes multi-state. Ultimately it becomes continuously
variable, i.e., a system with - theoretically - an infinite
number of states.
Example 5
Further evolution led to the introduction of a multitude of
life-cycles, each adapted toward specific software
One of the earlier software development processes was
development circumstances.
the model called "waterfall." In this process, the software
development progressed through well-defined phases:
Requirements, Design, Coding, Test, and Maintenance. LAW OF TRANSITION TO HIGHER-LEVEL SYSTEMS
(Fig. 1.4) The process was rigid - the software
development could only be in one of the phases at any This law describes the evolution of systems from simple
time. For example, if the requirements were not fully to more complex (higher-level) ones by merging various
gathered, organized and reviewed, the Design phase objects. The law states that technological systems
could not begin. If a design mistake was found during evolve from mono-systems to bi- or poly-systems.
the Coding phase, the project would be returned to the
Design phase and all coding stopped until the design A mono-system performs one primary function; two or
was fixed and reviewed. more mono-systems (similar or different) can merge to
create bi- and poly-systems. In other words, as systems
Such a rigid process was impractical for many software evolve, they absorb functions that were previously
applications and a "modified waterfall" or "sashimi performed by other systems. This makes bi- and poly-
38
systems have the higher degree of ideality than that of control purposes, required an additional "peripheral"
the constituent mono-systems. circuitry on the board. Most of this circuitry soon moved
onto the microprocessor silicon, thus giving birth to the
Example 6. microcontroller.
Voltage
Regulator
Watchdog Watchdog
CAN
Transceiver
CAN Gate
Transceiver
Status Output-1
Currento
Technological
Control system
Means
A "working means" is a component that directly performs Fig. 1.10 Remote adjustment mirror
the primary function of the system. A "transmission"
transforms the energy produced by the "engine" into the
energy that controls the "working means." A "control
means" allows the user to vary the performance Subsequent introduction of an electric motor ("engine")
parameters of the other principal parts. left only the function of control still performed by the
"human element."(Fig. 1.11)
In early stages of a system's evolution, some of these
principal components are performed by "human
40
Since the primary goal of this paper is to describe the
tools of TRIZ used for technology planning, next we will
describe Steps 1 and 2 of this process. Steps 3 and 4
are described in [5].
PRODUCT POSITIONING
Fig. 1.11 Power adjustment mirror The plot shows the dynamic "performance-to-cost ratio"
(or "benefit-to-cost ratio") is shaped as a "lazy" S, and is
In some of today's cars, the mirror is adjusted commonly called the S-curve. There are distinctive
automatically in certain situations (e.g., when shifting points on the curve marking milestones in the
into reverse). As the functionality of the side-view mirror technology's life cycle.
continues to advance, the mirror adjustment system will
become fully autonomous. "Renaissance"
Y /■
Saturation
Decline
TRIZ TECHNOLOGY FORECASTING
PROCESS SUMMARY
Next-generation system
Just as X-ray machines fundamentally changed the field
of medicine, the use of the laws of evolution can
dramatically change product-planning processes, Time
including those in the automotive industry. It is now Infancy Rapid growth Maturity
possible to see the inner workings of a technology's
evolution and predict where it will go next. Fig 2.1 S-Curve plot
A technology planning process using TRIZ involves the The non-uniform rate of technology development has
following steps: been discussed in business literature for some time.
Richard Foster uses the term "limit" as related to the
1. Product Positioning: Analysis of the past and current barrier, beyond which a particular technology cannot be
states of the product's evolution (determining where improved. The closer the technology is to the limit, the
the product's technology is in relation to its limits). harder it is to improve it. "If you are at the limit, no matter
2. Setting Directions - Identification of high-potential how hard you try you cannot make progress. As you
directions for the evolution of technology. approach limits, the cost of making progress accelerates
3. Concept Development - TRIZ concept development dramatically. Therefore, knowing the limit is crucial for a
methods are applied to develop the most promising company if it is to anticipate change or at least stop
concepts that will move the technology along the pouring money into something that can't be improved.
identified directions. The problem for most companies is that they never know
4. Concept Selection -Various technical and business their limits". [6]
criteria, as well as risk mitigation tools, are used to
select the best concepts. Most companies cannot be blamed for not knowing the
limits of their technologies:
41
"Mistakes can be made, even by scientists, about limits SETTING DIRECTIONS
- particularly the limits of a competitor's technologies.
Even if the limits are clearly defined, the breakthrough
Having reliably positioned the current product on its S-
idea about how to reach them may be missing." [6]
curve, the company can now proceed to the next step -
determining the directions for improvement. Depending
To help position a technology on its S-curve, TRIZ uses on whether the product needs to be improved
a correlation between the technology's life cycle and incrementally or radically, certain changes need to be
inventive activity that was discovered by Altshuller. He envisioned: How do we move the product up its S-
suggested that all inventions (both patented and curve? or What new product technology may replace the
otherwise) be classified into 5 novelty levels: current one?
[j Level 1 - Slight modifications of the existing system For an OEM it is usually useful to start with the concept
L Level 2 - Solutions derived from similar systems. of domination of higher-level systems: Evolutionary
U Level 3 - Breakthroughs within a single engineering trends of a system (e.g., an automobile) determine the
discipline. directions of evolution of its components (i.e., vehicle
L Level 4 - Radical developments stemming from subsystems). Determining what new features and what
multi-discipline approaches. performance the next automobile will have will determine
L Level 5 - Pioneering inventions resulting from new which subsystems will be involved in the delivery of
scientific discoveries (radio, laser, etc.) these features and what level of performance each
subsystem should achieve.
Altshuller showed that for any given technology, both
invention activity (number of inventions) and levels of The main activity at this step is applying the laws of
invention closely correlate with the technology's S-curve: technological system evolution to the features
u (functions) and/or subsystems of the vehicle. First, the
The plot "number of inventions vs. time" (Fig. 2.2) current state of the selected feature is identified (with
has two inflection points. Point A is associated with respect to any law of evolution). Then conceptual
efforts to promote the technology from a concept to changes "prescribed" by this law are visualized.
production; point C reflects the drop of interest after
unsuccessful attempts to improve the stagnating Consider, for example, the "cruise control" feature and
technology. the law of increasing flexibility. From a standpoint of this
After pioneering inventions gave birth to a new law, conventional cruise control is a "rigid" system: it's
breakthrough, the levels of invention drop and then either "On" or "Off." The law instructs us that the next-
rise again (point A in Fig. 2.2). This dynamic is due generation system has to be more adaptive: the vehicle
to the resolution of significant problems that were should adjust its speed according to the distance to the
keeping the concept from becoming a viable vehicle ahead. This requires a capability to determine
product. Once the technology goes into production distances. Recent advances in radar technology may
(the idea turns into a product), the main provide just that. In fact, some OEMs have already
development efforts shift to resolving relatively started introduction of an adaptive cruise control.
smaller issues (increasing efficiency, minimizing
costs, etc.), and the level of invention drops.
After the feature/product has been forecasted using one
law of evolution, the next step is to apply another law to
By conducting inventive activity analysis, described the same feature/product, and then another law, and so
above, on the company's technology/product as well as on. The more laws of evolution that are used, the better
on those of its competitors, the company can reliably the "opportunity space" will be explored.
determine their positions on the respective S-curves.
Then the management can decide whether incremental
improvement of the product will be adequate or a leap to CONCLUSION
another technology is required.
Like a radar in the fog, the TRIZ method helps managers
of technology to dramatically reduce the uncertainty of
the decision process when navigating in the ever shifting
S-curve A A C technology landscape. This allows the company to
objectively justify its technology plan and lower the risks
of technology investments.
lm
43
2004-01-0295
45
Exploring the Variety of Random
Documents with Different Content
key was intended. Presently the Prince applied it and opened the
lock, whereupon the door of a palace gave admittance, and when
the twain entered they found it more spacious than the first pavilion
and all illumined with a light which dazed the sight; yet not a wax-
candle lit it up nor indeed was there a recess for lamps. Hereat they
marvelled and meditated and presently they discovered eight
images[22] of precious stones, all seated upon as many golden
thrones, and each and every was cut of one solid piece; and all the
stones were pure and of the finest water and most precious of price.
Zayn al-Asnam was confounded hereat and said to his mother,
“Whence could my sire have obtained all these rare things?” And the
twain took their pleasure in gazing at them and considering them
and both wondered to see a ninth throne unoccupied, when the
Queen espied a silken hanging whereon was inscribed:—O my son,
marvel not at this mighty wealth which I have acquired by sore
stress and striving travail. But learn also that there existeth a Ninth
Statue whose value is twenty-fold greater than these thou seest and,
if thou would win it, hie thee again to Cairo-city. There thou shalt
find a whilome slave of mine Mubárak[23] hight and he will take thee
and guide thee to the Statue; and ’twill be easy to find him on
entering Cairo: the first person thou shalt accost will point out the
house to thee, for that Mubarak is known throughout the place.
When Zayn al-Asnam had read this writ he cried, “O my mother, ’tis
again my desire to wend my way Cairo-wards and seek out this
image; so do thou say how seest thou my vision, fact or fiction, after
thou assurest me saying:—This be an imbroglio of sleep? However,
at all events, O my mother, now there is no help for it but that I
travel once more to Cairo.” Replied she, “O my child, seeing that
thou be under the protection of the Apostle of Allah (whom may He
save and assain!) so do thou fare in safety, while I and thy Wazir will
order thy reign in thine absence till such time as thou shalt return.”
Accordingly the Prince went forth and gat him ready and rode on till
he reached Cairo where he asked for Mubarak’s house. The folk
answered him saying, “O my lord, this be a man than whom none is
wealthier or greater in boon deeds and bounties, and his home is
ever open to the stranger.” Then they showed him the way and he
followed it till he came to Mubarak’s mansion where he knocked at
the door and a slave of the black slaves opened to him.——And
Shahrazad was surprised by the dawn of day and ceased to say her
permitted say.
NOTE I.
“Phantasms from the Divine Presence, of ‘Ali ‘Aziz Efendi the Cretan. 1211 (=
1796–7).
“In the year aforesaid did the above-named Efendi complete this book; and at that
(same) time he went to Prussia along with an embassy, and there he passed away.
As he was versed in the mystic and philosophic sciences, and mighty in giving
answers, clear and silencing, on obscure questions in every branch of learning, he
arranged and wrote down, in the form of a special treatise, the erudite replies
which he afforded to the interrogations of certain distinguished persons among the
philosophers of Europe, concerning the revolving of the spheres, the strata of the
elements, and other matters natural: such (a work was it) that from the perusal
thereof the extent of his learning might have been known unto men of science.
And he had a work on mysticism, entitled Vāridāt, and other writings (as well). But
his heirs knowing not their value, destroyed and lost them; however, some among
them came into the hands of certain of his friends, who have edited and published
them.”
“Such is written on the back of this book.”