ICSE 2012 Workshops
2012 34th International Conference on Software Engineering (ICSE)
Powered by
Conference Publishing Consulting

2012 Second International Workshop on Software Engineering for Embedded Systems (SEES), June 9, 2012, Zurich, Switzerland

SEES 2012 – Proceedings

Contents - Abstracts - Authors

Second International Workshop on Software Engineering for Embedded Systems (SEES)


Title Page

The 2nd International Workshop on Software Engineering for Embedded Systems (SEES 2012) Workshop aims to provide researchers and practitioners an international forum to discuss the issues, challenges in adopting software engineering methods for embedded systems development. Further, the overall goal of the workshop is to identify the research opportunities and develop a research agenda to tackle the challenges.

Keynote and Architecture 1

Managing Complexity and Predictability in Embedded Systems: Applying Component-Based Development
Ivica Crnković
(Mälardalen University, Sweden)
Due to increasing complexity of software in embedded systems, the software development requires approaches that can manage that complexity in a similar way as this is done in general-purpose software, but at the same time provide support for embedded systems specifics. In this paper we give a short overview of a component-based approach that meets these requirements.

Article Search
Interoperability of Non-functional Requirements in Complex Systems
Norbert Siegmund, Maik Mory, Janet Feigenspan, Gunter Saake, Mykhaylo Nykolaychuk, and Marco Schumann
(University of Magdeburg, Germany; Fraunhofer IFF, Germany)
Heterogeneity of embedded systems leads to the development of variable software, such as software product lines. From such a family of programs, stakeholders select the specific variant that satisfies their functional requirements. However, different functionality exposes different non-functional properties of these variants. Especially in the embedded-system domain, non-functional requirements are vital, because resources are scarce. Hence, when selecting an appropriate variant, we have to fulfill also non-functional requirements. Since more systems are interconnected, the challenge is to find a variant that additionally satisfies global non-functional (or quality) requirements. In this paper, we advert the problem of achieving interoperability of non-functional requirements among multiple interacting systems using a real-world scenario. Furthermore, we show an approach to find optimal variants for multiple systems that reduces computation effort by means of a stepwise configuration process.

Article Search
Architectural Aspects of Software Sharing and Standardization: AUTOSAR for Automotive Domain
Birgit Boss
(Bosch, Germany)
Business and cooperation models in the automotive domain are becoming more and more complex and flexible. The following two models and their impact on software architecture will be discussed in more detail: 1) delivery of code relevant artifacts from the OEM (original automobile equipment manufacturer) to the Tier1 (supplier of OEM) and the other way around: 2) delivery of Tier1 software to the OEM. Both use cases and all its derivations are subsumed under the term “Software Sharing”. The discussion is based on the concrete experiences of BOSCH Powertrain (Diesel and Gasoline Systems, DGS) in the area of software sharing. Improvements are seen in the strengthened use of standardized architecture and application interfaces. The most important standard in the automotive domain is AUTOSAR (AUTomotive Open System ARchitecture).

Article Search

Architecture 2

A Comparison of Executable Model Based Approaches for Embedded Systems
Julie Street Fant, Hassan Gomaa, and Robert G. Pettit, IV.
(Aerospace Corporation, USA; George Mason University, USA)
Designing and building embedded systems is a challenging problem. Designers must ensure that the software architecture meets its functional requirements and also, since embedded systems often have real-time constraints, meets its performance requirements. It is usually difficult to determine whether or not the embedded system designs will meet functional and performance requirements. To help increase confidence in embedded software architectures, designers often turn to executable model based approaches to assess their systems. There are many different approaches for designing and analyzing real-time embedded systems. This paper is intended to help designers in their choice by comparing two different executable model based approaches for designing and validating real-time embedded systems, namely state machines and colored Petri nets. Both approaches are compared using seven different comparison criteria and examples are given from a cruise control system case study.

Article Search
Robust ArcheOpterix: Architecture Optimization of Embedded Systems under Uncertainty
Indika Meedeniya, Aldeida Aleti, Iman Avazpour, and Ayman Amin
(Swinburne University of Technology, Australia)
Design of embedded systems involves a number of architecture decisions which have a significant impact on its quality. Due to the complexity of today's systems and the large design options that need to be considered, making these decisions is beyond the capabilities of human comprehension and makes the architectural design a challenging task. Several tools and frameworks have been developed, which automate the search for optimal or near-optimal design decisions based on quantitative architecture evaluations for different quality attributes. However, current approaches use approximations for a series of model parameters which may not be accurate and have to be estimated subject to heterogeneous uncertain factors. We have developed a framework which considers the uncertainty of design-time parameter estimates, and optimizes embedded system architectures for robust quality goals. The framework empowers conventional architecture optimization approaches with modeling and tool support for architecture description, model evaluation and architecture optimization on the face of uncertainty.

Article Search

Development Methods

Applying Agile Methods to Embedded Software Development: A Systematic Review
Mengjiao Shen, Wenrong Yang, Guoping Rong, and Dong Shao
(Nanjing University, China)
Since the 21st century, embedded software products have been pervasive in the world we live in, however, this emerging industry is facing many challenges due to its own unique characteristics which distinguish it from non-embedded software development. The other hand, agile software development methods are adopted by organizations worldwide at an increasing speed. It seems meaningful to explore to apply agile methods to embedded software development and in this paper a systematic review was conducted to supply an initial guide to the researchers and industrial readership.

Article Search
Semi-automatic Establishment and Maintenance of Valid Traceability in Automotive Development Processes
Markus Fockel, Jörg Holtmann, and Jan Meyer
(Fraunhofer IPT, Germany; University of Paderborn, Germany; Hella KGaA Hueck & Co., Germany)
The functionality realized by software in modern cars is increasing and as a result the development artifacts of automotive systems are getting more complex. The existence of traceability along these artifacts is essential, since it allows to monitor the product development from the initial requirements to the final code. However, traceability is established and maintained mostly manually, which is time-consuming and error-prone. A further crucial problem is the assurance of the validity of the trace links, that is, the linked elements are indeed related to each other. In this paper we present a semiautomatic approach to create, check, and update trace links between artifacts along an automotive development process.

Article Search
Liability for Software in Safety-Critical Mechatronic Systems: An Industrial Questionnaire
Holger M. Kienle, Daniel Sundmark, Kristina Lundqvist, and Andreas Johnsen
(Mälardalen University, Sweden)
There is very little research on how industry is dealing with the risk of legal liability when constructing safety-critical mechatronic systems that are also software intensive. In this paper we propose a case study approach with the goal to understand how liability concerns in this setting impact software development in industry. The approach takes into account that software development is embedded into a complex socio-technical context involving stakeholders from technical, managerial and legal backgrounds. We present first results of our case study from a questionnaire involving six companies that develop software-intensive, safety-critical systems in the vehicular and avionics domains. The results of the questionnaire shed light on current industrial practices and concerns. The results indicate that liability seems indeed a concern and that a more in-depth analysis of this topic would be desirable to better understand the strategies that are used by industry to address liability risks.

Article Search

Wrap Up

A Dynamic Detective Method against ROP Attack on ARM Platform
ZhiJun Huang, Tao Zheng, and Jia Liu
(Nanjing University, China)
With the popularity of embedded devices, especially smart phones, a growing attention has been paid to their programs’ security. Many viruses on PC platforms migrated to embedded device have brought new threats to the security of the embedded platform. ROP (Return-Oriented Programming) attack is one of them. At the same time, traditional protective measures on PC platform tend to lose effect in embedded devices due to differences among platforms and architectures which bring significant challenges to virus protection on embedded devices. Defending ROP attack confronts the same problem. Existing protective methods against ROP attack on PC rarely work well on an embedded platform. This paper presents a protective algorithm against ROP virus on the embedded ARM platform. Furthermore, we develop a Valgrind tool to implement this algorithm with dynamic binary instrumentation technology which can effectively prevent the ROP attack and its variants on the ARM platform.

Article Search
Maintenance of Embedded Systems: Supporting Program Comprehension Using Dynamic Analysis
Jonas Trümper, Stefan Voigt, and Jürgen Döllner
(HPI, Germany)
Maintenance of embedded software systems is faced with multiple challenges, including the exploration and analysis of the actual system's runtime behavior. As a fundamental technique, tracing can be used to capture data about runtime behavior as a whole, and represents one of the few methods to observe and record data about embedded systems within their production environments.
In this paper we present a software-based, function-boundary tracing approach for embedded software systems. It uses static binary instrumentation, which implies only lightweight memory and performance overheads. To further reduce these overheads, instrumentation can be configured per trace, i.e., activated only for a specified group of functions without having to recompile the system. The technique can be characterized by its robust implementation and its versatile usage. It is complemented by a visualization framework that allows for analysis and exploration of a system's runtime behavior, e.g., to examine thread interaction. To show the technique's applicability, we conclude with a case study that has been applied to an industrial embedded software system.

Article Search

proc time: 0.49