Mineração de Componentes para a Revitalização de Softwares Embutidos
Abstract
In order to reduce costs, to minimize risks, to anticipate deadlines and to optimize resources of projects of new products it must, whenever possible, to reuse artifacts of existing similar products. These artifacts must be of easy adaptation to meet the requirements of the new products. This paper proposes the use of mining of generic software components from embedded legacy systems to collect and to document the knowledge contained in such systems, to achieve their revitalization and to produce a core of reusable assets to support the fast development of similar products. Software Product Line techniques are used for domain modeling and components design. A case study for POS (Point of Sale) terminals domain is presented.
References
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.
