Agile: development of embedded systems software
Technology Manager of Fagor Automation15/11/2006
Issue of embedded systems
• Mobile phones, photographic and video cameras.
• ATMs, point of sale, Internet kiosk terminals.
• MP3 players, games consoles.
• Household appliances and home automation (microwave, DVD, TVs, washing machines, air conditioning, thermostats, alarm system).
• Equipment (microscopes, equipment of magnetic resonance imaging, surgical robots).
• Flight control systems, missile.
• Calculators, PDAs, printers, modems, routers.
• A computer Board in the car, ABS, GPS.
• Control systems traffic, machine tools and robots or cells and manufacturing plants.
Embedded systems software is commonly known by the name of firmware and has the following characteristics that set him apart from normal applications:
• Interacts directly with the hardware systems.
• Normally has limited resources (low memory, power adjusted CPU, etc.) for reasons of cost, many of them are produced in large quantities and the savings are significant.
• In some cases no no interaction with the user, so it should work for years without errors and be able to recover by themselves where they occur.
• In other cases there is interaction with the user, which can range from the use of a few keys and a simple display to a full user interface similar to a PC Windows-based.
• In some applications embedded systems need to be able to respond immediately and meet requirements of real time for security reasons (mission critical systems). Often requires certification of security and compliance with certain standards.
• Normally embedded systems need to be developed by teams of different specialties (software, hardware, mechanical, telecommunication, etc.).
Objectives of the project
An analysis of the State of the development of software in the world shows that the quality and productivity of the industry have not been able to maintain the level of the needs of society, as shown in Figure 1.
The discipline of Software Engineering has been trying to find the solution of this problem since the 1980s, but the situation has not improved, leading to a shortage of professionals in information technology that only the economic slowdown since the end of 2001 it has been able to disguise. The problem is structural and will be present again when the economy is just recovering.
"Some models of Software development such as CMM", Spice, Personal Software Process (PSPSM) or ISO 9001: 2000 are designed to solve these problems. However, a recent study of more than 200 projects, Michael Mah (QSM Associates) points out that they could not find even half of the original plans against which to measure projects. Given that comply with the plan is no longer the main objective, the satisfaction of the clients (in delivery, not at the beginning of the project) has become priority.
Traditional methodologies assume that if the programmer make could anticipate the full set of requirements and reduce the cost by eliminating changes, what may be reasonable in stable environments but it is not true in many projects in more dynamic environments. In the environment of rapid change in which they move embedded systems, the change may not be removed. It intends to do is to adapt the system in such a way to reduce the cost of the changes while maintaining quality.
As a result of all this, have recently appeared new light methodologies or agile in order to provide solutions to these needs. These can include eXtreme Programming (XP), Adaptive Software Development (ASD), Lean Development (LD), SCRUM or Crystal Methods (CM). All of them are aimed at the satisfaction of the client, the adaptability to change, the delivery of products quickly and within the prescribed budget. These methodologies have proven its benefits in terms of time-to-market, adaptability to changing requirements, customer satisfaction and delivery of products quickly and within the budget stipulated in a number of domains. They are promising, but there is little experience, so far, the world of embedded systems.
The specialized approach will be developed in this project will help the developers of embedded systems to be more efficient in their work. Obtain large improvements in the development of large systems, distributed and generally created as product lines, will lead to a qualitative leap in the production capacity of embedded software and will provide a significant competitive advantage in the global market to European industry.
![Figure 1 Figure 1](https://img.interempresas.net/fotos/122801.gif)
Participants:
• BarcoView Avionics (Belgium)
• E2S (Belgium)
• Engisud (Italy)
• Exoftware (Ireland)
• European Software Institute (Spain)
• F-Secure (Finland)
• FAGOR Automation (Spain)
• FICOSA (Spain)
• Free University of Bozen-Bolzano (Italy)
• Hantro (Finland)
• Kapion (Slovenia)
• K.U.Leuven (Belgium)
• Medius (Slovenia)
• Nemetschek (Bulgaria)
• Nokia (Finland)
• Océ (France)
• P4Q Electronics (Spain)
• Philips (the Netherlands)
• SQS (Spain)
• TCP systems and engineering (Spain)
• VTT Technical Research Centre (Finland)
Effort: 170 man-years
Start date: April 1, 2004
Duration: 33 months
Leader: Pekka Abrahamsson, VTT (pekka.abrahamsson@vtt.fi)
Web: http://www.agile-itea.org
The main objectives of the project are:
• Designing a framework for Agile software for the domain of embedded systems development. This framework includes the process of software development, support processes, the architecture of the process and tools for embedded software development.
• Maintain conformity with the existing standards (ISO9000, CMMITM, DO178b). The issue is very important in the domain of embedded systems.
• Develop an implementation model to allow the use of the framework of development Agile. The model of implementation includes the process of implementation and use of the framework guidelines. All this is supported by an environment of proper work and industrial experiences.
• Demonstrate the operational viability of the developed framework, the model of implementation and the tools in a number of projects from different industrial sectors embedded software drivers.
• Demonstrate the effectiveness of the approach to AGILE through metrics to, for example, convince the direction, including a cost-benefit analysis, an analysis of impact, etc.
Description of the work carried out
The framework for Agile development of software in the domain of embedded systems will then be developed. Shall on the basis of the collected requirements, the framework Agile take into account the process of agile software development, business processes, support processes and the architecture of processes. The framework will be organized by areas of technology and management, including agile outsourcing and software product lines. It will provide the means to identify where and how to increase the level of agility in the development of embedded software.
Then proceed to the implementation of the framework Agile and the collection of experiences in industrial applications. An implementation process and a method of collection of experiences that provide a collection of significant data and enabling the comparison, analysis and interpretation of the results of the pilot projects will also be developed.
Agile developed, once customized with the help of an integrated development environment, the framework applies in the industry to assess its effectiveness and validity. The results will be analysed and comparing each other.
Finally, during the development of the project and especially in its final stage, dissemination of the results and findings of the project activities will be Agile. These activities include the publication of results, organization of seminars and workshops, development of a Web page of the project, a newsletter and other promotional material.