Uma Abordagem Flexível para Comparação de Modelos UML

  • Kleinner Oliveira University of Waterloo
  • Marcos Silva PUCRS
  • Toacy Oliveira University of Waterloo
  • Paulo Alencar University of Waterloo

Resumo


Com o surgimento da MDA (Model Driven Architecture) o papel da composição de modelos tornou-se mais importante. Um desafio enfrentado é compor modelos representados em UML (Unified Model Language) e em suas extensões. Porém, para colocar a composição em prática é necessário realizar uma atividade essencial: a comparação de modelos. Este artigo apresenta uma técnica de comparação de modelos que visa dar flexibilidade ao processo de definição de equivalência entre os modelos de entrada de um mecanismo de composição. Esta flexibilidade é alcançada através da definição de estratégias de comparação. Conseqüentemente, modelos de entrada passam a ser compostos se considerados equivalentes de acordo com uma estratégia específica de comparação. Estas estratégias são implementadas por um operador de comparação que faz uso de regras de comparação, dicionário de sinônimo e similaridade tipográfica. Além disso, são especificados alguns desafios e proposto um guia para especificar as atividades que devem ser realizadas ao longo do processo de comparação.

Referências

Bézivin, J., Bouzitouna, S., Fabro, M., Gervais, M. P., Jouault, F., and D.Kolovos (2006). A Canonical Scheme for Model Composition. In ECMDA-FA’06, pages 346–360, Bilbao, Spain.

Clarke, S. (2001). Composition of Object-Oriented Software Design Models. PhD thesis, School of Computer Applications, Dublin City University, Dublin, Irland.

Clarke, S. and Walker, R. (2001). Composition Patterns: an Approach to Designing Reusable Aspects. In Tthe 23rd ICSE’01, pages 5–14, Toronto, Ontario, Canada.

Fernández, L. and Moreno, A. (2004). An Introduction to UML Profiles. In The European Journal for the Informatics Professional, volume 5, pages 6–13.

France, R., Ghosh, S., and Dinh Trong, T. (2006). Model Driven Development Using UML 2.0: Promises and Pitfalls. IEEE Computer Society, 39(2):59–66.

France, R. and Rumpe, B. (2007). Model-Driven Development of Complex Software: A Research Roadmap. In Future of Software Engineering (FOSE’07) co-located with ICSE’07, pages 37–54, Minnesota, EUA.

Jackson, D. (2002). Alloy: a Lightweight Object Modelling Notation. ACM Transactions on Software Engineering and Methodology (TOSEM), 11(2):256–290.

Jackson, D. (2006). Software Abstractions: Logic, Language and Analysis. The MIT Press, USA.

Kolovos, D., Paige, R., and Polack, F. (2006a). Merging Models with the Epsilon Merging Language (eml). In ACM/IEEE 9th MODELS’06, Genova, Italy. ACM Press.

Kolovos, D., Paige, R., and Polack, F. (2006b). Model Comparison: a Foundation for Model Composition and Model Transformation Testing. In International Workshop on Global Integrated Model Management, pages 13–20, New York, NY, USA. ACM Press.

Manning, C. and Shütze, H. (1999). Foundations of Statistical Natural Language Processing. MIT Press, USA.

Nejati, S., Sabetzadeh, M., Chechik, M., Easterbrook, S., and Zave, P. (2007). Matching and Merging of Statecharts Specifications. In Proceedings of the 23rd International Conference on Software Engineering (ICSE), pages 54–64, Minnesota, EUA.

Object Management Group (2003). MDA Guide Version 1.0.1. http://www.omg.org/docs/omg/03-06-01.pdf.

Ohst, D., Welle, M., and Kelter, U. (2003). Differences between Versions of UML Diagrams. In 9th European Software Engineering Conference, pages 227–236. ACM Press.

Oliveira, K. (2008). Composição de UML Profiles. Master’s thesis, Faculdade de Informática, Pontifícia Universidade Católica do Rio Grande do Sul, Porto Alegre, Brazil.

Oliveira, K. and Oliveira, T. (2007a). A Guidance for Model Composition. In International Conference on Software Engineering Advances (ICSEA’07), pages 27–32, France. IEEE Computer Society.

Oliveira, K. and Oliveira, T. (2007b). Composição de UML Profiles. In Workshp de Tese e Dissertações em Engenharia de Software SBES’07, pages 17–23, João Pessoa, PB.

OMG (2007). Unified Modeling Language: Infrastructure version 2.1. Object Management Group. http://www.omg.org/docs/formal/07-11-04.pdf.

Reddy, Y., France, R., Straw, G., J. Bieman, N. M., Song, E., and Georg, G. (2006). Directives for Composing Aspect-Oriented Design Class Models. Transactions of AspectOriented Software Development, 1(1):75–105.

Rumbaugh, J., Jacobson, I., and Booch, G. (2005). The Unified Modeling Language Reference Manual. Object Technology Series, Addison-Wesley, USA, Second edition.

Sendall, S. and Kozaczynski, W. (2003). Model Transformation: The Heart and Soul of Model-Driven Software Development. IEEE Software, 20(5):42–45.

Zito, A. (2006). UML’s Package Extension Mechanism: Taking a Closer Look at Package Merge. Master’s thesis, School of Computing, Quenn’s University Kingston, Ontario, Canada.

Zito, A., Diskin, Z., and Dingel, J. (2006). Package Merge in UML 2: Practice vs. Theory? In Proceedings 7th MODELS’04, pages 185–199. Springer Berlin.
Publicado
20/08/2008
OLIVEIRA, Kleinner; SILVA, Marcos; OLIVEIRA, Toacy; ALENCAR, Paulo. Uma Abordagem Flexível para Comparação de Modelos UML. In: SIMPÓSIO BRASILEIRO DE COMPONENTES, ARQUITETURAS E REUTILIZAÇÃO DE SOFTWARE (SBCARS), 2. , 2008, Porto Alegre/RS. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2008 . p. 150-163. DOI: https://doi.org/10.5753/sbcars.2008.46211.