Uma Estratégia para Integração de Restrições Arquiteturais em Design Rules

  • Éberton S. Marinho UFRN
  • Thaís Batista UFRN
  • Flávia C. Delicato UFRN
  • Paulo F. Pires UFRN

Resumo


Linguagens de Descrição Arquitetural (LDAs) especificam os elementos que fazem parte da arquitetura do software, a composição entre esses elementos, bem como restrições arquiteturais. A representação de restrições arquiteturais em design rules que norteiam o desenvolvimento é essencial para que propriedades arquiteturais sejam obedecidas. Neste artigo propomos uma estratégia para o mapeamento de restrições arquiteturais, especificadas em AspectualACME, para uma linguagem de design rules semanticamente mais próxima do formato adotado pelas linguagens de implementação orientadas a aspectos do que outras abordagens existentes, garantindo assim a devida propagação dos conceitos especificados em nível de projeto para os demais.O artigo também apresenta um estudo de caso que exemplifica a estratégia proposta.

Referências

Baldwin, C. Y. e Clark, K. B. (2000). Design Rules: The Power of Modularity, volume 1. The MIT Press, 1° edição.

Batista, T., Flach, C., Garcia, A., Sant´anna, C., Kulesza, U., e Lucena, C. (2006). Aspectual connectors: Supporting the Seamless Integration of Aspects and LDAs. XX Simpósio Brasileiro de Engenharia de Software (SBES 2006), pag. 17–32. Florianópolis–SC.

Chavez, C., Garcia, A., Kulesza, U., SantAnna, C., e de Lucena, C. J. P. (2006). Crosscutting Interfaces for Aspect-Oriented Modeling. Brazilian Computer Society, 12:43–58.

Dósea, M., Neto, A. C., Borba, P., e Soares, S. (2007). Specifying Design Rules in Aspect-Oriented Systems. I Latin American Workshop on Aspect-Oriented Software Development (LA-WASP’2007). evento realizado junto com SBES’07, João Pessoa-Brazil.

Garcia, A., Flach, C., Batista, T., Sant´anna, C., Kulesza, U., Rashid, A., e Lucena, C. (2006). On the Modular Representation of Architectural Aspects. European Workshop on Software Architecture (EWSA 2006), pag. 82–97. Nantes–FR.

Garlan, D., Monroe, R., e Wile, D. (1997). Acme: An Architecture Description Interchange Language. CASCON ’97.

Goulo, M. e Abreu, F. (2003). Bridging the Gap Between ACME e Uml for CBD. Specification and Verification of Component-Based Systems (SAVCBS’2003).

Griswold, W. G., Sullivan, K., Song, Y., Shonle, M., Tewari, N., Cai, Y., e Rajan, H. (2006). Modular Software Design with Crosscutting Interfaces. IEEE Software, pag. 51–60.

Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., e Griswold,W. G. (2001). Getting Started with Aspectj. Communications of the ACM, pag. 59–65.

Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.-M., e Irwin, J. (1997). Aspect-Oriented Programming. European Conference on Object-Oriented Programming (ECOOP), pag. 220–242. Finland.

Meyer, B. (1992). Applying design by contract. IEEE Computer, pages 40–52.

Monroe, R. (2001). Capturing software architecture design expertise with armani. Technical report, Carnegie Mellon University.

Morgan, C., Volder, K. D., e Wohlstadter, E. (2007). A Static Aspect Language for Checking Design Rules. Proceedings of the 6th International Conference on Aspectoriented Software Development (DSOA ’07), 12:63–72. New York–USA.

SPG - Software Productivity Group at UFPE. Disponível em: http://twiki.cin.ufpe.br/twiki/bin/view/SPG. 20 mai 2008.

Ribeiro, M., Dósea, M., Bonifácio, R., Neto, A. C., Borba, P., e Soares, S. (2007). Analyzing Class and Crosscutting Modularity Structure Matrixes. 21th Brazilian Symposium on Software Engineering (SBES 2007), pag. 51–60.

Soares, S., Laureano, E., and Borba, P. (2002). Implementing Distribution and Persistence Aspects with Aspectj. 17th Annual ACM Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA’2002), pag. 174–190.

Sommerville, I. (2005). Engenharia de Software. Addison Wesley, 6 edition.

Sullivan, K., Griswold, W. G., Song, Y., Cai, Y., Shonle, M., Tewari, N., e Rajan, H. (2005). Information Hiding Interfaces for Aspect-Oriented Design. 10th European Software Engineering Conference Held Jointly with 13th ACM SIG-SOFT International Symposium on Foundations of Software Engineering (ESEC/FSE), pages 116–175.

Sullivan, K. J., Griswold, W. G., Cai, Y., e Hallen, B. (2001). The Structure and Value of Modularity in Software Design. 8th European Software Engineering Conference Held Jointly with 9th ACM SIGSOFT International Symposium on Foundations of Software Engineering, pag. 99–108. New York–USA.
Publicado
20/08/2008
MARINHO, Éberton S.; BATISTA, Thaís; DELICATO, Flávia C.; PIRES, Paulo F.. Uma Estratégia para Integração de Restrições Arquiteturais em Design Rules. 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. 38-51. DOI: https://doi.org/10.5753/sbcars.2008.46257.