Tendencias de la Ingeniería de Software Embebido Loayza Soloisolo, Jorge Ramirez Ticona, Jorge...

Preview:

Citation preview

Tendencias de la Tendencias de la Ingeniería de Software Ingeniería de Software EmbebidoEmbebido

Loayza Soloisolo, JorgeRamirez Ticona, Jorge ThonyCoaquira Ugarte, Lucas

IntroductionIntroductionSe desarrolla para reducir los

costos de realizar tareas laboriosas.

dispositivos embedded utilizan arquitecturas SoC.

Los SO embedded son compactos y altamente eficientes.

Los lenguajes utilizados para desarrollar sistemas embedded son de alto nivel.

IntroductionIntroductionDiseñado para realizar una o

algunas pocas funciones dedicadas.

Problemas de tiempo real.computación en tiempo real.Dos de las diferencias principales

son el precio y el consumo.Software para hardware

especifico.

Software EmbebidoSoftware EmbebidoComo el término lo sugiere, es

solo una parte de un “todo” más grande que consiste en muchos componentes, no sólo módulos de computadora, sino también sensores y actuadores.

CarasteristicasCarasteristicas

DemandaDemanda de de requerimientosrequerimientosSeguridad.Confiabilidad.Eficiencia.Costos Bajos.Realizar Tareas laboriosas.

Desafíos y DificultadesDesafíos y DificultadesCONSIDERACIONES

ECONÓMICAS: El consumo de potencia o energía de un procesador, es decisivo en la selección del mismo.

CONFIABILIDAD Y ESTABILIDAD: Desempeña un papel mucho más pesado que en aplicaciones de cálculo puras. Un fracaso a este nivel, ya no causa por ejemplo, un número incorrecto.

Principales Tendencias del Principales Tendencias del Desarrollo de Software Desarrollo de Software EmbeddedEmbeddedCircuitos dedicados > Hardware

de propósito general.Lenguaje ensamblador >

Lenguajes de alto nivel y ambientes virtuales de ejecución.

Tiempo real físico > Tiempo real lógico.

Sistemas operativos compactos > Sistemas operativos modulares.

Objetivos del Desarrollo de Objetivos del Desarrollo de Software Embedded Software Embedded

Dificultades ActualesDificultades ActualesCompañías con software

embebido de baja calidad.No existen plataformas comunes.Hardware y Software para

sistemas embebidos.Necesidad de sistemas Críticos y

Seguros.

Model-Driven Engineering Model-Driven Engineering Los MDE son intuitivos, más

expresivo, con notaciones gráficas que proporcionan un mayor nivel de abstracción que los lenguajes de programación nativo.

Genera automáticamente el código de implementación.

Model-driven architectureModel-driven architectureMDD y MDA fueron

estandarizados. MDA son herramientas de

modelado de la aplicación de lenguajes de programación específicos del fabricante.

model-driven model-driven developmentdevelopmentModelo Iterativo de desarrollo de

sofware embebido.

Aseguramiento de la Aseguramiento de la calidcalidadadAunque las pruebas no pueden

demostrar la corrección de software, las pruebas sistemáticas pueden alcanzar la calidad del software suficiente.

Modelo basado en análisis de Modelo basado en análisis de confiabilidad y seguridadconfiabilidad y seguridadProbabilidad de Fallas y/o la

Confiabilidad, (Confiabilidad = 1 – Probabilidad de Fallas), y de las Consecuencias.

Crecimiento continuo de la Crecimiento continuo de la inteligenciainteligenciaDirección para la inteligencia

incrustada en los distintos dispositivos

El aumento en la complejidad del software inherente a dicha inteligencia seguirá sin duda la misma tendencia.

En esta perspectiva, es importante comenzar a preocuparse desde ya a formalizar la metodología de desarrollo de software, utilizando posiblemente los distintos marcos que para ello existen, para asegurar la necesaria calidad de los productos del futuro.

ReferenciasReferencias 1. IEC 61508, Functional Safety of

Electrical/Electronical/ Programmable Electronic Safety-Related Systems, Int’l Ele

2. H. Giese and S. Henkler, “A Survey of Approaches for the Visual Model-Driven Development of Next Generation Software-Intensive Systems,” J. Visual Languages and Computing, vol. 17, no. 6, 2006, pp. 528–550.

3. R. Alur et al., “Hierarchical Hybrid Modeling of Embedded Systems,” Proc. 1st Int’l Workshop Embedded Software (EMSOFT 01), LNCS 2211, Springer, 2001, pp. 14–31.

4. K. Berkenktter et al., “Executable HybridUML and Its Application to Train Control Systems,” Integration of Software Specification Techniques for Applications in Eng., LNCS 3147, Springer, 2004, pp. 145–173.

5. R. Grosu, I. Krger, and T. Stauner, “Hybrid Sequence Charts,” Proc. 3rd IEEE Int’l Symp. Object-Oriented Real-Time Distributed Computing (ISORC 00), IEEE Press, 2000, p. 104.

ReferenciasReferencias 6. B.P. Douglass, Real Time UML: Advances in the

UML for Real-Time Systems, Addison-Wesley, 2004. 7. B.W. Boehm, “A Spiral Model of Software

Development and Enhancement,” Computer, vol. 21, no. 5, 1988, pp. 61–72.

8. B.W. Boehm, “Guidelines for Verifying and Validating Software Requirements and Design Specification,” Proc. European Conf. Applied Information Technology (Euro IFIP), North-Holland, 1979.

9. P. Kruchten, “The 4 + 1 View Model of Architecture,” IEEE Software, vol. 12, no. 6, 1995, pp. 42–50.

10. S. Kelly and J.-P. Tolvanen, Domain-Specific Modeling: Enabling Full Code Generation, Wiley-IEEE CS Press, 2008.

11. IEC 61025, Fault Tree Analysis (FTA), Int’l Electrotechnical Commission, 1990.

12. RTCA DO-178B, Software Considerations in Airborne Systems and Equipment Certification, Radio Technical Commission for Aeronautics, 1992.ctrotechnical Commission, 1998.

Recommended