Towards Requirements Engineering Process for Embedded Systems



Similar documents
REMOTE CONTROL OF REAL EXPERIMENTS VIA INTERNET

PRO-REQ: a facilitator guide to implement CMMI-Dev requirements engineering and management areas

One approach to the use of the practices of CMMI- DEV V1.3 level 2 in a process of development of Embedded Systems

How To Understand And Understand The Concept Of An Octo

Business Process Configuration with NFRs and Context-Awareness

ICT investment trends in Brazil. Enterprise ICT spending patterns through to the end of 2015 May 2014

Supervised internship data evolution and the internationalization of engineering courses

VALLIAMMAI ENGINEERING COLLEGE S.R.M. Nagar, Kattankulathur DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

SOFT 423: Software Requirements

SOFTWARE DEVELOPMENT FOR EMBEDDED SYSTEMS

DEVELOPMENT AND IMPLEMENTATION OF AN AUTOMATED SYSTEM TO EXCHANGE ATTENUATORS OF THE OB85/1 GAMMA IRRADIATOR

How To Model A Hexapod Robot With Six Legs

Sub Code: CP7007 Sub Name: SOFTWARE REQUIREMENTS ENGINEERING Branch / Year: ME CSE / I Year Staff in charge: Dr.M.Senthil Kumar

DISCRETE CONTROL APPLIED TO A ROBOT END-EFFECTOR: COMPARISON OF TWO SOLUTIONS

Experiences Gained from Applying ISO/IEC to Small Software Companies in Brazil

Keywords document, agile documentation, documentation, Techno functional expert, Team Collaboration, document selection;

Managing Requirement Risks in Global Software Development

A Methodology for Supply Chain Design An Application to Auto-part Industry

Aligning Data Warehouse Requirements with Business Goals

Draft Requirements Management Plan

A Proposal of a Process Model for Requirements Elicitation in Information Mining Projects

Automated Profile Vehicle Using GSM Modem, GPS and Media Processor DM642

Raspberry pi based Energy Monitoring System in Chemical Industry

Figure 1. Basic Petri net Elements

A Requirement Elicitation Process for BI Projects

Mastem: A Mathematics Tutoring Multi-Agent System

A QoS-Aware Web Service Selection Based on Clustering

Using Productivity Measure and Function Points to Improve the Software Development Process

A Strategy to Manage the Metaprocess of ERP System Customization

The Unix-like Build Pattern

VON BRAUN LABS. News WE PROVIDE COMPLETE SOLUTIONS WHO WE ARE OUR SOLUTIONS HOW WE DO. Greetings from Dario S. Thober - CEO

How an existing telecommunications network can support the deployment of smart meters in a water utility?

Bibliometrics About Lean Manufacturing

Application of the Prado - Project Management Maturity Model at a R&D Institution of the Brazilian Federal Government

A Brazilian Software Industry Experience in Using ECSS for Space Application Software Development

Online Communication of Critical Parameters in Powerplant Using ZIGBEE

Corresponding Author

A Cloud Based Solution with IT Convergence for Eliminating Manufacturing Wastes

Benefits in the Implementation of Safety, Health, Environmental and Quality Integrated System

Architecture Centric Development in Software Product Lines

Automation Sales/Marketing Professional

The SPES Methodology Modeling- and Analysis Techniques

Applying 4+1 View Architecture with UML 2. White Paper

A PROCESS FOR REQUIREMENTS CONCEPTUALIZATION

Implementation of an Information Technology Infrastructure Library Process The Resistance to Change

BIO4GAS: EVALUATION AND ANALYSIS OF WASTEWATER TREATMENT FACILITIES IN THE SCOPE OF BIOGAS PRODUCTION MAXIMIZATION AND ENERGY PRODUCTION OPTIMIZATION

Best-Practice Software Engineering: Software Processes to Support Project Success. Dietmar Winkler

An empirical study on Global Software Development: Offshore Insourcing of IT Projects

BAL2-1 Professional Skills for the Business Analyst

Development of Integrated Management System based on Mobile and Cloud service for preventing various dangerous situations

Evaluating phase level for critical success factors of BPM-system implementation: a case study in a Saudi government organization

Programming Real-Time Motion Control Robot Prototype

HYBRID INTELLIGENT SUITE FOR DECISION SUPPORT IN SUGARCANE HARVEST

TMMi Case Study. Methodology. Scope. Use TMMi to do a gap analysis for an independent

INSERT COMPANY LOGO HERE. Solutions for Discrete Product Industries Leadership New Product Award Innovation Award

Effort and Cost Allocation in Medium to Large Software Development Projects

Systematization of Requirements Definition for Software Development Processes with a Business Modeling Architecture

Investigation of Adherence Degree of Agile Requirements Engineering Practices in Non-Agile Software Development Organizations

New opportunities for shared services through operations management

The ERP Systems in Czech Republic A strategical innovation

Run-time Variability Issues in Software Product Lines

Filling the Gap between Business Process Modeling and Behavior Driven Development

FORMAÇÃO CONTINUADA DE PROFESSORES A DISTÂNCIA DISTANCE CONTINUING EDUCATION OF TEACHERS

Financial Strategic Management

Grupo de Ingeniería de Sistemas Integrados (ISIS) Dpto. Tecnología Electrónica Universidad de Málaga

Name: Class: Date: AIST3610 StudyChk02 - Questions from text Chapters 3 & 4

M a r k e t i n g. About managing the doing of marketing for management roles

DC2AP: A Dublin Core Application Profile to Analysis Patterns

Customer Relationship Management Systems why many large companies do not have them?

Lessons Learned from the Teaching of IS Development

Expert System and Knowledge Management for Software Developer in Software Companies

Energy Efficient Systems

Analyze and Design of Information Systems Using OODPM for Small Scale Businesses

Research Topics in Renewable Energies in Brazil

Industry 4.0 market study: demand for connected software solutions

General Report SASE2014

A. Background. In this Communication we can read:

Design Specification for IEEE Std 1471 Recommended Practice for Architectural Description IEEE Architecture Working Group 0 Motivation

GBD IAAS Manager: A Tool for Managing Infrastructure-as-a-Service for Private and Hybrid Clouds

Lecture 3 - Model-based Control Engineering

Goals and Scenarios to Software Product Lines: the GS2SPL Approach

Using Your PMO to Drive Successful Organizational Change Management

CYBER PHYSICAL IIS

Using GETS for Medical Technology Management: A drill down case study

DC2AP Metadata Editor: A Metadata Editor for an Analysis Pattern Reuse Infrastructure

Introduction to Embedded Systems

Development of Integrated Management System based on Mobile and Cloud Service for Preventing Various Hazards

TKS. TKS Unternehmensberatung und Industrieplanung GmbH. Unternehmensberatung und Industrieplanung GmbH. Company Profile

SUGGEST AN INTELLIGENT FRAMEWORK FOR BUILDING BUSINESS PROCESS MANAGEMENT

Trends in Embedded Software Development in Europe. Dr. Dirk Muthig

From Business World to Software World: Deriving Class Diagrams from Business Process Models

Technological Innovation in Brazil - Data Report

Executive Briefing Outsourcing your Enterprise Management Services - IT Challenge or Business Opportunity?

Performance Management Systems: Conceptual Modeling

Please, do not cite or circulate without the author s authorization.

Mariano Gómez Plaza. Computer Engineering DESCRIPTION OF THE RESEARCH RESULTS

A PERFORMANCE MANAGEMENT SOLUTION

ISO 9001 CERTIFICATION: THE CUSTOMERS PERSPECTIVE

Design for Management Information System Based on Internet of Things

Secure Embedded Systems eine Voraussetzung für Cyber Physical Systems und das Internet der Dinge

Transcription:

Towards Requirements Engineering Process for Embedded Systems Luiz Eduardo Galvão Martins 1, Jaime Cazuhiro Ossada 2, Anderson Belgamo 3 1 Universidade Federal de São Paulo (UNIFESP), São José dos Campos, Brazil legmartins@unifesp.br 2 Faculdade de Tecnologia de Indaiatuba (FATEC), Indaiatuba, Brazil jaime.ossada@fatec.sp.gov.br 3 Universidade Metodista de Piracicaba (UNIMEP), Piracicaba, Brazil anbelgamo@unimep.br Abstract. This paper presents an overview about a Brazilian research towards requirements engineering process for embedded systems. The scientific contributions reported throughout the paper are concerned to templates, guidelines and tools developed during the last four years. These artifacts can help to narrow the existing gap between hardware and software embedded system teams. We brifely describe two requirements specification templates, named TERASE and CAMA, and one requirements elicitation guide, named GERSE which is supported by a software tool called Zaki. Keywords: Embedded Systems, Requirements Process, Requirements Template and Guidance 1. Introduction In the last two decades the industry of consumer goods has witnessed a huge increasing of Embedded Systems (ES) applications. This kind of system has been widely used, such as in the areas of entertainment products, medical devices, automotive systems, avionics, industry process control, telecommunication devices and others. Currently it is very rare to find any electronic device that is not controlled by ES. ES is a computing system specially designed to monitor or control a physical device. This computing system usually receives input data from sensors, it processes these data using microcontrollers or microprocessors and sends the results to user interfaces and/or actuators [3]. Software developed to ES, named firmware, is highly coupled to the hardware designed to the controlled devices. This paper reports research efforts focused to improve the ES development particularly addressing the issues related to requirements elicitation and specification of embedded systems.

This paper is organized as follows: in the section two the objectives of the research are commented; in the section three the main scientific contributions are presented; section four concludes the paper; and finally in section five ongoing and future works are pointed out 2. Objectives of the Research The general objective of the research presented in this paper is to propose a requirements engineering process for embedded systems which will improve the development of such systems and their general quality specially diminishing the existing gap between hardware and software ES teams. In order to achieve this objective the following goals should be developed: To identify the main flow of embedded systems development process and to map the relevant process aspects that influence the ES requirements definition. To build an ES conceptual model to manage stakeholders, system environment, high level requirements, embedded software requirements, hardware requirements, and communication interface requirements. To build guidelines and templates to support ES requirements elicitation, modeling, specification and validation. To build integrated software environment to support the use of proposed guidelines and templates. 3. Scientific Contributions The research reported in this paper has started in 2009. The first stage of the research was to identify how ES practitioners in Brazil were approaching requirements during the ES development process. The goal of this field research was to know the state of practice of requirements engineering for ES in Brazil. Professionals that have worked in several industrial segments developing ES were invited (53 ES practitioners answered a questionnaire), the most of them were professionals working in industries in São Paulo state, and the main segments covered in this research were: automotive systems, industrial automation, home appliance, domotics, medical devices, telecommunication and entertainment [5]. Some results from this field research are showed as follows: (i) the most part of the ES practitioners have education on engineering courses (67%) and just 33% have education on computer science courses; (ii) 54.9% revealed that they did not use any organized methodology to elicit requirements; (iii) 41.2% of the ES practitioners that used some requirements elicitation methodology stated that the adopted requirement procedures were not stable inside the organization; (iv) the most cited requirement elicitation techniques were: existing documentation analysis (26%), interview (19%), e-mail exchanging (18%), market analysis (17%), questionnaire (15%) and JAD Joint Application Development (2%).

It was possible to identify the lack of templates and guidelines that addressed ES practitioner s necessities concerned to requirements elicitation and specification based on the field research results. In order to address these necessities we have developed the following artifacts: TERASE: template for environmental requirements specification of embedded systems (TERASE is a Portuguese acronym to Template para Especificação de Requisitos de Ambiente em Sistemas Embarcados ); CAMA: template for requirements specification of communication interface among ES physical components based on CAN protocol (acronym is formed by the words CAN, Martins and Almudi); GERSE: requirements elicitation guide for ES (GERSE is a Portuguese acronym to Guia de Elicitação de Requisitos para Sistemas Embarcados ); ZAKI: software tool to support GERSE activities. In the next sections some details about each proposed artifact are introduced and briefly commented. 3.1 TERASE The goal of TERASE template is contribute to improve the ES requirements specification particularly focused to the environmental requirements of the ES [4]. Environmental requirements are classified as non-functional requirements and they should be specified according to physical features where the ES will be deployed. Software development teams usually have to build software according to hardware specifications defined by hardware engineers, software teams need detailed information about environmental variables and physical devices that will capture and control the system. TERASE works as facilitator to improve the communication between hardware and software teams. A complete requirements specification to describe the ES physical environment must include: Environmental variables Input devices (sensors) Output devices (actuators and users interface devices) Microcontrollers For each one of these elements it was proposed a requirement specification card. The cards help the hardware team to record the necessary information to the software team supporting the ES requirements elicitation and specification process. 3.2 CAMA In the construction of embedded systems, the software starts being developed when the hardware is already in a very advanced stage of development. The hardware design tends to be dominant due to having a major cycle of development, being more

stable and requiring logistical dependence on external partners, such as suppliers and outsourced developers. There is not, so far, an appropriate methodology to help developers to specify the requirements to automotive embedded systems, causing a large gap between designers from hardware and software areas, especially in the early phases of structuring the design [8]. One of the possibilities that CAMA Template offers is the integration between developers through a resource that provides easy communication channels between the hardware designers and software engineers. CAMA Template is used to specify the relevant and special aspects of the automotive embedded communication systems network that use CAN protocol in exchanging information [6]. The template is structured in Figure 1. The ES features managed by CAMA are organized using specification cards. An automotive embedded system was chosen for the study case to have its requirements specified through the proposed template. The study was based on a finished specification from a major international car manufacturer with a plant in Brazil, with a large insertion in automotive Brazilian market. 3.3 GERSE Fig. 1. CAMA Template s General Structure The main goal of the proposed guide is to help ES engineers during the requirements elicitation process. GERSE leads ES engineers during the elicitation process offering a set of activities that addresses the ES main features [7]. Using GERSE, ES engineers can manage the requirements elicitation process in an organized way. The proposed guide helps the requirements definition allowing its complete specification for products based on embedded technology. GERSE is divided into two phases, named pre-phase and main phase, which are organized in seven categories. These categories are organized in 46 activities, which are responsible to generate the artifacts that will compose the ES requirements. Each activity produces at least one artifact that can be both a document describing a specific feature of the product or a diagram modeling any specific feature. The pre-phase activities will help the ES engineers to make the transition from the high level requirements to technical requirements. Figure 2 shows a GERSE overview presenting the categories proposed to each phase. GERSE documentation were sent to four ES engineers to evaluate the proposed guide, the evaluation was performed through survey. The ES engineers expertise was in automotive systems, medical devices and entertainment areas. All ES engineers

evaluated GERSE as a useful guide for ES requirements elicitation stating that such guide is easy to use and contributes to increase the ES development quality. 3.4 ZAKI Fig. 2. Phases and categories supported by GERSE. The adoption of any software process can be facilitated by the use of computer support. In this sense, a tool called Zaki was developed to support GERSE activities and the requirements elicitation process for embedded systems. Zaki tool is divided into two modules, according to GERSE phases - pre-phase and main phase - supporting activities like requirements elicitation, analysis and management for embedded systems. Zaki tool was developed using.net platform - C# language- and the SQL Server database. During the pre-phase, Zaki tool supports functionalities related to manage information about project guidelines and main product features, development organizational impact and target audience. During the main phase, Zaki tool is divided into three modules: Definition of Hardware Requirements, Definition of Software Requirements, and Identification of Quality Metrics. 4. Conclusions The communication problem between hardware and software teams is a great challenge to be overcome in the context of ES development [1][2]. Software engineers need to receive a precise and complete requirements specification covering all aspects of hardware and environment where ES will be executed. A significant part of such specification is built by hardware engineers. Failures and mistakes in the communication process between hardware and software teams have strong impact in the final cost and schedule as well as in the general quality of the system. In this paper we presented some research results that addressed the communication problem during ES development. These results consisted of two requirements specification templates called TERASE and CAMA - and one requirements elicita-

tion guide called GERSE both designed to improve the communication among ES stakeholders. GERSE is supported by a software tool called Zaki. 5. Ongoing and Future Work Currently this research group is working to improve Zaki tool to support all GERSE activities as well as adjusting some GERSE activities to make them easier to be used by requirements engineering teams in the ES context. GERSE is also being tested in the context of critical embedded systems specifically for an embedded system to control a medical device (insulin infusion pump). The main future works are listed as follows: To test GERSE in larger ES project; To integrate TERASE, CAMA and GERSE in a same software environment; To test and adapt the proposed artifacts in the context of robotics systems; To improve the templates and guidelines proposed to support requirements specifications for adaptive embedded systems; To start research efforts focused to requirements gathering in the context of cyberphysical systems. References 1. Graaf, B.; Lormans, M. and Toetenel, H.: Embedded Software Engineering: The State of the Practice. IEEE Software (2003) 2. Liggesmeyer, P. and Trapp, M.: Trends in Embedded Software Engineering. IEEE Software, pp. 19 25 (2009) 3. Broy, M.: Requirements Engineering for Embedded Systems. In: Workshop on Formal Design of Safety Critical Embedded Systems (FemSys). Munich, Germany (1998) 4. Martins, L. E. G. ; Souza Jr., R. ; Oliveira Jr., H. P. ; Peixoto, C. S. A.: TERASE: Template para Especificação de Requisitos de Ambiente em Sistemas Embarcados. In: 13th Workshop on Requirements Engineering (WER). pp. 50-61, Cuenca (2010) 5. Ossada, J. C.; Martins, L. E. G.: Um Estudo de Campo sobre o Estado da Prática da Elicitação de Requisitos em Sistemas Embarcados. In: 13th Workshop on Requirements Engineering (WER). pp. 30-41, Cuenca (2010) 6. Almudi Neto, D; Martins, L. E. G.: A Requirements Specification Template of a Communication Network Based on CAN Protocol to Automotive Embedded Systems. Journal of Computer Science and Technology, v. 10, pp. 143-149, La Plata (2010) 7. Ossada, J. C.; Martins, L. E. G.; Belgamo, A.; Ranieri, B. S.: GERSE: Guia de Elicitação de Requisitos para Sistemas Embarcados. In: 15th Workshop on Requirements Engineering (WER). pp. 57-70, Buenos Aires (2012) 8. Post, A.; Menzel, I.; Hoenicke, J. and Podelski, A.: Automotive Behavioral Requirements Expressed in a Specification Pattern System: a Case Study at BOSCH, Requirements Engineering Journal, vol. 17, pp. 19-33. Springer-Verlag (2012)