Description
|
In the area of industrial production of complex systems, computer based control systems are increasingly replacing mechanical or electronic control systems (for example aeronautics, automotive or rail field). For this reason in recent years we have been seeing a growing demand for quality software in these fields. Indeed, quality software is able to improve the flexibility, reliability and maintainability of the systems, as well as to reduce production costs significantly. Therefore, industry has been recently demanding software engineers to be used in its production processes. These engineers are required not only to understand the problems of real-time control of electrical equipment, or of microprocessors implementation, but also to develop quality software for embedded systems. On the other hand, the diffusion of quality standards for industrial processes, and in particular the rules of ISO 9000 in the field of software production force industries to adhere to specific processes of development, testing, release and maintenance of software systems. At the same time, more and more companies in the ICT sector choose to qualify their processes as specified by the Capability Maturity Model (CMM).
It follows that industrial production not only needs experienced engineers in developing embedded systems, but most of all it needs engineers with knowledge and expertise in software processes and analysis, design, development, and quality assurance of such systems, i.e. Embedded Software Engineering experts.
Embedded Software Engineering is a subject area that has been significantly and radically changing in recent times, due to a series of initiatives including the spread of model-driven approaches for the development of standards and specification for embedded systems, the introduction of Agile development principles and practices such as Test Driven Development (TDD) or the “Lean” approach, the consolidation of new software architectures of reference (specific areas embedded) based on principles of modularity, abstraction, and reuse.
It follows that the engineer who has to design and develop software for these embedded systems not only has to have remarkable expertise in the latest software engineering acquisitions, but they also have to be able to contextualize this expertise in the specific field they operate in.
It is clear that these professional skills cannot be achieved solely through the basic university education. Rather, these competences may be the result of a synergy between a rigorous and integrated training in the fields of processes, principles, methods and techniques of Software Engineering and Embedded Systems Development, and a formative experience in the industry, within the context of development projects for large embedded systems.
In this scenario we propose this training project, whose specific objective is to fill the gap between basic university education and actual production environment, training Embedded Software Engineering experts.
These experts should be equipped with both theoretical and technical computer skills, which are necessary to be integrated in the industrial processes of embedded software development by actively participating in all stages of the life cycle of the products.
They must also know the peculiar characteristics of embedded systems, their problems, the strong reliability and timing requirements which they are subjected to and the architectural solutions used to achieve them, in order to successfully understand, specify, design and verify the characteristics of software to be developed for such systems. At the same time, these experts should be in a position to fulfill administrative and management tasks in business processes and to lead research and development activities.
|