Exploring Quality-driven Object-oriented Materializations for Software Architectures
Resumo
Design activities are critical in the development of quality software. Along this line, architecture-based design has been regarded as the right context for analyzing system-wide quality attributes and making principled design decisions therein. However, the materialization of architectural models into object-oriented structures where the decisions made at the architectural level can be reflected and implemented has not been satisfactory bridged yet. One of the reasons for this problem is that, given an architectural model and a set of quality drivers, there exist usually multiple different ways of mapping this input to object-oriented terms. Furthermore, the whole process involves considerable design background and experience. In this context, this paper describes a tool approach, called ArchMatE, to assist developers in the exploration of materialization alternatives.
Referências
Architectural Reasoning in ArchJava. J. Aldrich, C. Chambers, and D. Notkin. Proceedings of the European Conference on Object-Oriented Programming, June 2002.
JavaLog: A framework-based integration of Java and Prolog for agent-oriented programming. A. Amandi, M. Campo, A. Zunino. Computer Languages, Systems and Structures. Elsevier Science. ISSN: 0096-0551. Ed.: R. S. Ledley. 2004.
Software Architecture in Practice. L. Bass, P. Clement, and R. Kazman. 2nd Edition. Published by Addison-Wesley. 2003.
Identifying Quality-Requirements Conflicts. B. Boehm and H. In. IEEE Software, March, 1996.
Software Architecture Design: Evaluation and Transformation. J. Bosch and P Molin. Proc. 1999 IEEE Engineering of Computer Based Systems Symp. (ECBS99), 1999.
Odyssey: A Reuse Environment based on Domain Models. R. Braga, C. Werner, and M. Mattoso. Proc. IEEE Symposium on Application-Specific Systems and Software Eng. Technology (ASSET'99), IEEE CS Press, Texas, March 24-27, pp. 50-57, 1999.
Reasoning with Design Rationale. J. Burge. D. Brown. In Artificial Intelligence in Design'00, (Ed.) J. S. Gero, Kluwer, Dordrecht. 2000.
Pattern-Oriented Software Architecture. A System of Patterns. F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad and M. Stal John Wiley & Sons. 1996.
Developing Object-oriented Enterprise Quality Frameworks using Proto-frameworks. M. Campo, A. Díaz Pace, M. Zito. Software: Practice and Experience,Vol 32 No. 8, Pp. 837- 843. Wiley. 2002.
Generative Programming: Methods, Techniques, and Applications. K. Czarnecki. ICSR 2002: 351-352
Architecting the Design of Multi-Agent Organizations with Proto-frameworks. A. Díaz Pace, M. Campo, A. Soria. Software Engineering for Multi-Agent Systems II - LNCS 2940. Springer, 2004.
Building Application Frameworks: Object-Oriented Foundations of Framework Design. M. Fayad, D. Schmidt, R. Johnson.Wiley Eds., 1999.
Design Patterns, Elements of Reusable Object-Oriented Software. E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Addison-Wesley. Massachussetts, 1994.
ACME: Architectural Description of Component-based Systems. D. Garlan, R. Monroe, D. Wile. Foundations of Component-based Systems. Cambridge Univ. Press, 2000.
Structural Analysis for Java. http://www.alphaworks.ibm.com/tech/sa4j
Aspect-Oriented Programming. G. Kiczales, J. Lamping, J. Mendhekar, C. Maeda, C. Videira Lopes, J. Loingtier, J. Irwin. Proc. of the European Conference on Object-Oriented Programming (ECOOP), Finlad. Springer-Verlag LNCS 1241. June 1997.
A Classification and Comparison Framework for Software Architecture Description Languages. N. Medvidovic, R. Taylor. IEEE Trans. on Soft. Eng., vol.26 no.1, 2000.
A Family of Software Architecture Implementation Frameworks. N. Medvidovic, N. Mehta, M. Mikic-Rakic. Proceedings 3rd IFIP WICSA, 2002.
Capturing Design Expertise in Customized Software Architecture Design Environments. R. Monroe. Proc. 2nd Int. Software Architecture Workshop, 1996.
Architectural Styles, Design Patterns, and Objects. R. Monroe, A. Kompanek, R. Melton, D. Garlan. IEEE Software 14(1): 43-52, 1997.
On the Criteria To Be Used in Decomposing Systems into Modules. D. Parnas. Commununications of the ACM 15(12): 1053-1058, 1972.
Framelets - Small is Beautiful. W. Pree, K. Koskimies. In: Building Application Frameworks (M.E. Fayad, D.C. Schmidt, R.E. Johnson, ed.), Wiley 1999, 411-414.
Software Architecture, Perspectives on an Emerging Discipline. M. Shaw and D. Garlan. Published by Prentice-Hall. 1996.
A Field Guide to Boxology: Preliminary Classification of Architectural Styles for Software Systems. M. Shaw and P. Clements. Proc. COMPSAC97, 1997.
[Soley00] Model Driven Architecture. R. Soley.OMG. White paper Draft 3.2. 2000
Semi-Automatic Generation of Adaptable Architectures. N. Subramanian, L.Chung. Software Engineering Research and Practice 2003: 149-154. 2003
Synthesis-Based Software Architecture Design. B. Tekinerdogan and M. Aksit. In Software Architectures and Component Technology: The State of the Art in Research and Practice, M. Aksit (Ed.), Kluwer Academic Publishers, pp. 143 - 173, 2001.
Domain Analysis, Domain Modeling, and Domain-Specific Software Architectures. W. Tracz. Proc. of the 4th Int. Conf. on Software Reuse, pp 232-233. Orlando, FL. 1996.
UML Homepage http://www.omg.org/technology/uml/
Uma Abordagem para a Seleção de Padrões Arquiteturais Baseada em Características de Qualidade. J. Xavier, C. Werner and G. Travassos. Anais XVI Simp. Brasileiro de Engenharia de Software. Porto Alegre: Editora Evangraf Ltda, 2002. v.1. p.52 - 67