survey: software development for embedded systems · software development for embedded systems ......

35
SOFTWARE DEVELOPMENT FOR EMBEDDED SYSTEMS Trends and Challenges in Developing Software for Embedded Systems © Fraunhofer ESK

Upload: hoangthu

Post on 10-Aug-2018

231 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Survey: Software Development for Embedded Systems · SOFTWARE DEVELOPMENT FOR EMBEDDED SYSTEMS ... Tool support for designing software architectures also needs improvement to enable

SOFTWARE DEVELOPMENT FOR EMBEDDED SYSTEMS Trends and Challenges in Developing Software for Embedded Systems

© Fraunhofer ESK

Page 2: Survey: Software Development for Embedded Systems · SOFTWARE DEVELOPMENT FOR EMBEDDED SYSTEMS ... Tool support for designing software architectures also needs improvement to enable

Folie 2

© Fraunhofer ESK www.esk.fraunhofer.de

Motivation

This survey addresses software development in the field of embedded systems. Our goal is to determine which demands are being placed on the hardware and software in such systems. We are also interested in identifying the major issues associated with software development while understanding to what extent tools are utilized to solve these problems.

We define embedded systems as computer systems that are integrated in other products as opposed to operating in a stand-alone environment. They can be found in mobile end-user devices, automotive systems, production/manufacturing lines and power networks among other areas.

Page 3: Survey: Software Development for Embedded Systems · SOFTWARE DEVELOPMENT FOR EMBEDDED SYSTEMS ... Tool support for designing software architectures also needs improvement to enable

Folie 3

© Fraunhofer ESK www.esk.fraunhofer.de

Key Facts

Audience: Embedded system software developers (industries: automotive, automation, telecommunications, avionics)

Focus: New challenges in the field of embedded systems

Interviews

Timeframe: November 2012 – January 2013

Participants: 7

Online Questionnaire

Timeframe: February 26 – April 30, 2013

Participants: 51

Page 4: Survey: Software Development for Embedded Systems · SOFTWARE DEVELOPMENT FOR EMBEDDED SYSTEMS ... Tool support for designing software architectures also needs improvement to enable

Folie 4

© Fraunhofer ESK www.esk.fraunhofer.de

Interviews

To prepare for the online questionnaire, we conducted 7 interviews with software experts who work in various industries: automotive, automation, telecommunications.

All participants stated that tool support and tool interoperability require improvement. In particular, developers want better debugging tools for identifying and rectifying program flaws and errors.

Page 5: Survey: Software Development for Embedded Systems · SOFTWARE DEVELOPMENT FOR EMBEDDED SYSTEMS ... Tool support for designing software architectures also needs improvement to enable

Folie 5

© Fraunhofer ESK www.esk.fraunhofer.de

Participants and Fields of Application

Page 6: Survey: Software Development for Embedded Systems · SOFTWARE DEVELOPMENT FOR EMBEDDED SYSTEMS ... Tool support for designing software architectures also needs improvement to enable

Folie 6

© Fraunhofer ESK www.esk.fraunhofer.de

What industry are you active in?

Majority of the survey participants work in the automation and automotive industries Other industries include medical engineering, home automation etc.

35%

27%

20%

10%

8%

Automation

Other industry

Automotive

Telecommunications

Avionics

Page 7: Survey: Software Development for Embedded Systems · SOFTWARE DEVELOPMENT FOR EMBEDDED SYSTEMS ... Tool support for designing software architectures also needs improvement to enable

Folie 7

© Fraunhofer ESK www.esk.fraunhofer.de

In what field of application are you primarily active?

Majority of the participants are involved in system software, system architectures or control systems development.

Multiple choices are possible

0 5 10 15 20 25 30 35

System architecture

System software (firmware, operating systems,…

Software with hard real-time requirements

Software for drive control

Software for signal processing

Software with soft real-time requirements

Software for control

Software for protocol processing

Software for image processing and sensor technology

Software for network security

Software for network management

Human-machine interaction

Development tools

Participants

Automotive Automation Telecommunications Avionics Other industry

Page 8: Survey: Software Development for Embedded Systems · SOFTWARE DEVELOPMENT FOR EMBEDDED SYSTEMS ... Tool support for designing software architectures also needs improvement to enable

Folie 8

© Fraunhofer ESK www.esk.fraunhofer.de

What does your industry or field of application place high value on when developing software ?

Strong emphasis is placed on performance, deterministic behavior, and real-time capability. (Data-) Security plays a lesser role.

Results are averaged (0) = no value (5) = high value

0

1

2

3

4

5

Page 9: Survey: Software Development for Embedded Systems · SOFTWARE DEVELOPMENT FOR EMBEDDED SYSTEMS ... Tool support for designing software architectures also needs improvement to enable

Folie 9

© Fraunhofer ESK www.esk.fraunhofer.de

If your software has response-time constraints, what is the target range?

Multiple choices are possible

Timing constraints between 10µs and 10ms are the most common.

2/3 of all answers

0

10

20

30

40

50

60

% o

f p

art

icip

an

ts

Page 10: Survey: Software Development for Embedded Systems · SOFTWARE DEVELOPMENT FOR EMBEDDED SYSTEMS ... Tool support for designing software architectures also needs improvement to enable

Folie 10

© Fraunhofer ESK www.esk.fraunhofer.de

Multicore

Page 11: Survey: Software Development for Embedded Systems · SOFTWARE DEVELOPMENT FOR EMBEDDED SYSTEMS ... Tool support for designing software architectures also needs improvement to enable

Folie 11

© Fraunhofer ESK www.esk.fraunhofer.de

What are the key drivers behind the deployment of multicore processors in your fields of application?

Multicore processors are already being frequently deployed. They are primarily used to support CPU-intensive algorithms. Costs and throughput are also reasons for deployment.

Multiple choices are possible

0

10

20

30

40

50

60

Cost Energyefficiency

Throughput CPU-intensivealgorithms

Redundancy No multicore

% o

f p

art

icip

an

ts

Page 12: Survey: Software Development for Embedded Systems · SOFTWARE DEVELOPMENT FOR EMBEDDED SYSTEMS ... Tool support for designing software architectures also needs improvement to enable

Folie 12

© Fraunhofer ESK www.esk.fraunhofer.de

How will multicore systems be utilized in your fields of application in five years?

Outlook: • Multicore processors

will enjoy broad utilization.

• The number of CPU-cores will continue to increase.

• Multicore processors will tend to be used with heterogeneous architectures (integration with FPGAs or DSPs).

Multiple choices are possible

0

10

20

30

40

50

60

70

No multicore Not for safety-critical

applications

Will bedeployed

More cores HomogeneousMC-processors

HeterogeneousMC-processors

% o

f p

art

icip

an

ts

Page 13: Survey: Software Development for Embedded Systems · SOFTWARE DEVELOPMENT FOR EMBEDDED SYSTEMS ... Tool support for designing software architectures also needs improvement to enable

Folie 13

© Fraunhofer ESK www.esk.fraunhofer.de

Software Development

Page 14: Survey: Software Development for Embedded Systems · SOFTWARE DEVELOPMENT FOR EMBEDDED SYSTEMS ... Tool support for designing software architectures also needs improvement to enable

Folie 14

© Fraunhofer ESK www.esk.fraunhofer.de

Which tasks are the most time-consuming in your project environment?

Debugging and testing are considered the most time-consuming tasks, followed closely by software specification and implementation

Results are averaged (0) = not done (5) = very costly

0

1

2

3

4

5

Page 15: Survey: Software Development for Embedded Systems · SOFTWARE DEVELOPMENT FOR EMBEDDED SYSTEMS ... Tool support for designing software architectures also needs improvement to enable

Folie 15

© Fraunhofer ESK www.esk.fraunhofer.de

What are the major challenges you face in developing software for embedded systems?

Major challenges: • Debugging time-

critical software • Capability to

reproduce errors • Insufficient

requirements specifications

In contrast to the qualified interviews, tool support and exchange formats are not key issues.

Multiple choices are possible

0

10

20

30

40

50

60

% o

f p

art

icip

an

ts

Page 16: Survey: Software Development for Embedded Systems · SOFTWARE DEVELOPMENT FOR EMBEDDED SYSTEMS ... Tool support for designing software architectures also needs improvement to enable

Folie 16

© Fraunhofer ESK www.esk.fraunhofer.de

Tools

Page 17: Survey: Software Development for Embedded Systems · SOFTWARE DEVELOPMENT FOR EMBEDDED SYSTEMS ... Tool support for designing software architectures also needs improvement to enable

Folie 17

© Fraunhofer ESK www.esk.fraunhofer.de

Which of the following tasks require tools?

The most time-consuming tasks have the greatest need for tools . Despite higher demands on processor performance, tools for optimization are rarely needed.

Multiple choices are possible

0

1

2

3

4

5

0102030405060708090

100

% o

f p

art

icip

an

ts

Demand for Tools Time-consuming Tasks

Page 18: Survey: Software Development for Embedded Systems · SOFTWARE DEVELOPMENT FOR EMBEDDED SYSTEMS ... Tool support for designing software architectures also needs improvement to enable

Folie 18

© Fraunhofer ESK www.esk.fraunhofer.de

What types of tools do you use?

Multiple choices are possible

Commercial tools are used especially during the early phases (V-model) of software development. In later phases, developers also use open source software, freeware, and in-house solutions. The frequent use of company-specific testing suites is included in in-house testing tools.

0

10

20

30

40

50

60

70

% o

f p

art

icip

an

ts

Commercial

Open source / freeware

In-house

Page 19: Survey: Software Development for Embedded Systems · SOFTWARE DEVELOPMENT FOR EMBEDDED SYSTEMS ... Tool support for designing software architectures also needs improvement to enable

Folie 19

© Fraunhofer ESK www.esk.fraunhofer.de

If you rely on in-house tools, what was the driver behind their development?

Major reasons for developing in-house tools are unsuitable tools and missing features. High procurement costs are often mentioned as a reason.

Multiple choices are possible

0

10

20

30

40

50

60

70

Formats notsupported

Standard notsupported

Tool out ofdate

Functionsnot available

Procurementcosts too

high

No suitabletool

available

Otherreasons

% o

f p

art

icip

an

ts

Page 20: Survey: Software Development for Embedded Systems · SOFTWARE DEVELOPMENT FOR EMBEDDED SYSTEMS ... Tool support for designing software architectures also needs improvement to enable

Folie 20

© Fraunhofer ESK www.esk.fraunhofer.de

What the users say

Tool support for requirements validation - with simulation for instance - needs to be improved. Tool support for designing software architectures also needs improvement to enable the semi-formal notation of functional (state machines, algorithms) and non-functional (quality of service) requirements. Ideally, the tools should be integrated into the development process.

© Fraunhofer ESK

Page 21: Survey: Software Development for Embedded Systems · SOFTWARE DEVELOPMENT FOR EMBEDDED SYSTEMS ... Tool support for designing software architectures also needs improvement to enable

Folie 21

© Fraunhofer ESK www.esk.fraunhofer.de

What the users say

A programming language that supports parallel programming structures is required . Existing approaches for C, ADA, or OpenCL are inadequate. There should be better support for parallel concepts such as SIMD-operations. Since many software developers still have a sequential mindset, training and education need to be expanded.

© Panthermedia

Page 22: Survey: Software Development for Embedded Systems · SOFTWARE DEVELOPMENT FOR EMBEDDED SYSTEMS ... Tool support for designing software architectures also needs improvement to enable

Folie 22

© Fraunhofer ESK www.esk.fraunhofer.de

What the users say

Test environment needs to be expanded. Modern development processes require capabilities such as unit testing on the target hardware. Tools should be interoperable, open source and have consistent user interfaces. Many tools appear to have been merely thrown together at the last minute and end up hindering productivity instead of facilitating it.

© Panthermedia

Page 23: Survey: Software Development for Embedded Systems · SOFTWARE DEVELOPMENT FOR EMBEDDED SYSTEMS ... Tool support for designing software architectures also needs improvement to enable

Folie 23

© Fraunhofer ESK www.esk.fraunhofer.de

CONCLUSION

1. The main incentives for the deployment of multicore processors are throughput and increased algorithm complexity. This leads to problems in the development of parallel software.

2. Debugging and testing are the most time-consuming tasks. The biggest challenges are reproducing failures and debugging time-critical and parallel software. This is supported by the high demand for debugging and testing tools.

Page 24: Survey: Software Development for Embedded Systems · SOFTWARE DEVELOPMENT FOR EMBEDDED SYSTEMS ... Tool support for designing software architectures also needs improvement to enable

Folie 24

© Fraunhofer ESK www.esk.fraunhofer.de

CONCLUSION

3. Data security currently plays only a secondary role. Research programs like “Industrie 4.0” and the trend towards cyber physical systems will likely increase the importance of security in the future.

4. The key drivers behind the development of in-house tools are missing functionality and high procurement costs. This is interesting to note since in-house development is usually more expensive than buying an equivalent tool.

Page 25: Survey: Software Development for Embedded Systems · SOFTWARE DEVELOPMENT FOR EMBEDDED SYSTEMS ... Tool support for designing software architectures also needs improvement to enable

Folie 25

© Fraunhofer ESK www.esk.fraunhofer.de

Multicore R&D Activitiesat Fraunhofer ESK

Tools for analyzing multicore software

http://www.esk.fraunhofer.de/de/projekte/Tracing.html

http://www.esk.fraunhofer.de/de/projekte/OProfileBM.html

MUCOS: http://www.esk.fraunhofer.de/de/projekte/MUCOS.html

WEMUCS: www.multicore-tools.de

Embedded systems testing

TIP: http://www.esk.fraunhofer.de/de/projekte/TIP.html

Tools for early validation of time-critical functions

ERNEST: http://www.esk.fraunhofer.de/de/projekte/ERNEST.html

Page 26: Survey: Software Development for Embedded Systems · SOFTWARE DEVELOPMENT FOR EMBEDDED SYSTEMS ... Tool support for designing software architectures also needs improvement to enable

Folie 26

© Fraunhofer ESK www.esk.fraunhofer.de

Detailed Results by Industry

Page 27: Survey: Software Development for Embedded Systems · SOFTWARE DEVELOPMENT FOR EMBEDDED SYSTEMS ... Tool support for designing software architectures also needs improvement to enable

Folie 27

© Fraunhofer ESK www.esk.fraunhofer.de

What does your industry or field of application place high value on when developing software?

Results are averaged (0) = no value (5) = high value

0

1

2

3

4

5

Automotive (10 Participants) Automation (18 Participants)

Telecommunications (5 Participants) Avionics (4 Participants)

Page 28: Survey: Software Development for Embedded Systems · SOFTWARE DEVELOPMENT FOR EMBEDDED SYSTEMS ... Tool support for designing software architectures also needs improvement to enable

Folie 28

© Fraunhofer ESK www.esk.fraunhofer.de

If your software has response-time constraints, what is the target range?

Multiple choices are possible

0

10

20

30

40

50

60

70

80

< 1µs 1µs - 10µs 10µs - 100µs 100µs - 1ms 1ms - 10ms 10ms - 100ms 100ms - 1s > 1s Noconstraints

% o

f p

art

icip

an

ts

Automotive (10 Participants) Automation (18 Participants)

Telecommunications (5 Participants) Avionics (4 Participants)

Page 29: Survey: Software Development for Embedded Systems · SOFTWARE DEVELOPMENT FOR EMBEDDED SYSTEMS ... Tool support for designing software architectures also needs improvement to enable

Folie 29

© Fraunhofer ESK www.esk.fraunhofer.de

What are the key drivers behind the deployment of multicore processors in your fields of application?

Multiple choices are possible

0

10

20

30

40

50

60

70

80

Cost Energy efficiency Throughput CPU-intensivealgorithms

Redundancy No multicore

% o

f p

art

icip

an

ts

Automotive (10 Participants) Automation (18 Participants)

Telecommunications (5 Participants) Avionics (4 Participants)

Page 30: Survey: Software Development for Embedded Systems · SOFTWARE DEVELOPMENT FOR EMBEDDED SYSTEMS ... Tool support for designing software architectures also needs improvement to enable

Folie 30

© Fraunhofer ESK www.esk.fraunhofer.de

How will multicore systems be utilized in your fields of application in five years?

Multiple choices are possible

0

10

20

30

40

50

60

70

80

90

No multicore Not for safety-critical applications

Will be deployed More cores Homogeneous MC-processors

Heterogeneous MC-processors

% o

f p

art

icip

an

ts

Automotive (10 Participants) Automation (18 Participants)

Telecommunications (5 Participants) Avionics (4 Participants)

Page 31: Survey: Software Development for Embedded Systems · SOFTWARE DEVELOPMENT FOR EMBEDDED SYSTEMS ... Tool support for designing software architectures also needs improvement to enable

Folie 31

© Fraunhofer ESK www.esk.fraunhofer.de

Which tasks are the most time-consuming in your project environment?

Results are averaged (0) = not done (5) = very costly

0

1

2

3

4

5

Automotive (10 Participants) Automation (18 Participants)

Telecommunications (3 Participants) Avionics (4 Participants)

Page 32: Survey: Software Development for Embedded Systems · SOFTWARE DEVELOPMENT FOR EMBEDDED SYSTEMS ... Tool support for designing software architectures also needs improvement to enable

Folie 32

© Fraunhofer ESK www.esk.fraunhofer.de

What are the major challenges you face in developing software for embedded systems?

Multiple choices are possible

0

20

40

60

80

100

120

% o

f p

art

icip

an

ts

Automotive (10 Participants) Automation (18 Participants)

Telecommunications (5 Participants) Avionics (4 Participants)

Page 33: Survey: Software Development for Embedded Systems · SOFTWARE DEVELOPMENT FOR EMBEDDED SYSTEMS ... Tool support for designing software architectures also needs improvement to enable

Folie 33

© Fraunhofer ESK www.esk.fraunhofer.de

Which of the following tasks require tools?

Multiple choices are possible

0

20

40

60

80

100

120

% o

f p

art

icip

an

ts

Automotive (10 Participants) Automation (18 Participants)

Telecommunications (5 Participants) Avionics (4 Participants)

Page 34: Survey: Software Development for Embedded Systems · SOFTWARE DEVELOPMENT FOR EMBEDDED SYSTEMS ... Tool support for designing software architectures also needs improvement to enable

Folie 34

© Fraunhofer ESK www.esk.fraunhofer.de

What types of tools do you use?

Multiple choices are possible

01020304050607080

% o

f p

art

icip

an

ts

Automotive (10 Participants)

Commercial

Open source / freeware

In-house

010203040506070

% o

f p

art

icip

an

ts

Automation (18 Participants)

Commercial

Open source / freeware

In-house

01020304050

% o

f p

art

icip

an

ts

Telecommunications (5 Participants)

Commercial

Open source / freeware

In-house

020406080

100

% o

f p

art

icip

an

ts

Avionics (4 Participants)

Commercial

Open source / freeware

In-house

Page 35: Survey: Software Development for Embedded Systems · SOFTWARE DEVELOPMENT FOR EMBEDDED SYSTEMS ... Tool support for designing software architectures also needs improvement to enable

Folie 35

© Fraunhofer ESK www.esk.fraunhofer.de

If you rely on in-house tools, what was the driver behind their development?

Multiple choices are possible

0

10

20

30

40

50

60

70

80

90

Formats notsupported

Standard notsupported

Tool out of date Functions notavailable

Procurementcosts too high

No suitable toolavailable

Other reasons

% o

f p

art

icip

an

ts

Automotive (10 Participants) Automation (18 Participants)

Telecommunications (5 Participants) Avionics (4 Participants)