Mineração de Componentes para a Revitalização de Softwares Embutidos
Resumo
Para reduzir custos, minimizar riscos, antecipar prazos e otimizar recursos de projetos de novos produtos deve-se, sempre que possível, reutilizar artefatos de produtos similares existentes. Esses artefatos devem ser de fácil adaptação para satisfazerem aos requisitos dos novos produtos. Este trabalho propõe o uso de mineração de componentes genéricos de software a partir de sistemas embutidos legados, para reunir e documentar os conhecimentos contidos nesses sistemas, efetuar suas revitalizações e produzir um núcleo de ativos reutilizáveis para apoiar o rápido desenvolvimento de produtos similares. Técnicas de Linha de Produtos de Software são utilizadas para a modelagem de domínio e projeto de componentes. Um estudo de caso para o domínio de terminais POS (Point Of Sale) é apresentado.
Referências
Atkinson, C.; Bayer, J.; Bunse, C.; Kamsties, E.; Laitenberger, O.; Laqua, R.; Muthig, D.; Paech, B.; Wust, J.; Zettel, J. (2001) Component-Based Product Line Engineering with UML. 1st Edition, Addison-Wesley Professional, USA.
Bergey J.; O'Brien L.; Smith D. (2000). Mining Existing Assets for Software Product Lines. Technical Note, CMU/SEI-2000-TN-008, SEI, USA.
Booch, G.; Rumbaugh, J.; Jacobson, I. (1999). The Unified Modeling Language Reference Manual, Addison-Wesley, USA.
Bosch, J.; Ran, A. (2000). Evolution of Software Product Families. Proceedings of the International Workshop on Software Architectures for Product Families. LNCS, v. 1951/2000, p. 168-183, Springer-Verlag, UK.
Clements, P.; Northrop, L. (2001). Software Product Lines: Practices and Patterns. 1st Edition, Addison-Wesley Professional, USA
Crnkovic I. (2005). Component-based software engineering for embedded systems. Proceedings of the 27th International Conference on Software engineering, p. 712-713. ACM Press, USA.
Czarnecki, K.; Eisenecker, U.W. (2000). Generative Programming: Methods, Tools, and Applications. Addison-Wesley Professional, USA.
Gomaa H. (2004). Designing Software Product Lines with UML: From Use Cases to Pattern-Based Software Architectures. Addison-Wesley Professional, USA.
Graaf, B.; Lormans, M.; Toetenel H. (2003). Embedded Software Engineering: The State of the Practice. IEEE Software, v. 20, p. 61-69.
Kang, K.; Cohen, S.; Hess, J.; Novak, W.; Peterson S. (1990). Feature-Oriented Domain Analysis (FODA): Feasibility Study. CMU/SEI-90-TR-21, SEI, USA.
Krueger C. W. (1992). Software reuse. ACM Computing Surveys, v.24(2), p. 131-183.
Mehta A., Heineman G.T. (2002). Evolving legacy system features into fine-grained components. Proceedings of the 24th International Conference on Software Engineering, Orlando, FL. p. 417-427. ACM Press, USA.
O'Brien, L.(2005). Reengineering. SEI, USA. [link]. Acesso: 17.06.07.
Riebisch, M.; Böllert, K.; Streitferdt, D.; Philippow, I. (2002) Extending Feature Diagrams with UML Multiplicities. 6th World Conference on Integrated Design & Process Technology, USA. [link]. Acesso: 17.06.07.
Sochos, P.; Riebisch, M. e Philippow I. (2006). The Feature-Architecture Mapping (FArM) Method for Feature-Oriented Development of Software Product Lines. 13th Annual IEEE International Symposium and Workshop on Engineering of Computer Based Systems, p. 308-318.
Szyperski C. (2002) Component Software: Beyond Object-Oriented Programming. 2nd Edition, Addison-Wesley, USA.
Vahid, F.; Givargis, T. (2002), Embedded System Design: A Unified Hardware/Software Introduction. John Wiley & Sons, USA.
Ziadi, T.; Jézéquel, J-M.; Fondement, F. (2003). Product line derivation with UML. In Proceedings Software Variability Management Workshop, University of Groningen. [link]. Acesso: 17.06.07.