An aspect-oriented reference architecture for Software Engineering Environments

Abstract: Reusable and evolvable Software Engineering Environments (SEEs) are essential to software production and have increasingly become a need. In another perspective, software architectures and reference architectures have played a significant role in determining the success of software systems. In this paper we present a reference architecture for SEEs, named RefASSET, which is based on concepts coming from the aspect-oriented approach. This architecture is specialized to the software testing domain and the development of tools for that domain is discussed. This and other case studies have pointed out that the use of aspects in RefASSET provides a better Separation of Concerns, resulting in reusable and evolvable SEEs.

[1]  Rajesh Krishna Balan,et al.  Globally distributed software development project performance: an empirical analysis , 2007, ESEC-FSE '07.

[2]  Wang Rui,et al.  Extending UML for Aspect-Oriented Architecture Modeling , 2009, 2009 Second International Workshop on Computer Science and Engineering.

[3]  Fabiano Cutigi Ferrari,et al.  Automating the mutation testing of aspect-oriented Java programs , 2010, AST '10.

[4]  Roger J. Martin,et al.  Reference Model for Frameworks of Software Engineering Environments (Technical Report ECMA TR/55, 2nd Edition) | NIST , 1991 .

[5]  Pablo de la Fuente,et al.  Coordination as an Architectural Aspect , 2006, Electron. Notes Theor. Comput. Sci..

[6]  João Araújo,et al.  aspect- oriented pr ogramming , 2006 .

[7]  Gregor Kiczales,et al.  Aspect-oriented programming , 1996, CSUR.

[8]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[9]  Alexander L. Wolf,et al.  Feature Engineering , 1998 .

[10]  A. Jefferson Offutt,et al.  An Experimental Comparison of Four Unit Test Criteria: Mutation, Edge-Pair, All-Uses and Prime Path Coverage , 2009, 2009 International Conference on Software Testing, Verification, and Validation Workshops.

[11]  Stephan Herrmann,et al.  Views and concerns and interrelationships: lessons learned from developing the multi-view software engineering environment PIROL , 2002 .

[12]  Ralph Johnson,et al.  Domain-specific application frameworks: framework experience by industry , 1999 .

[13]  Elisa Yumi Nakagawa,et al.  Ontology-based Development of Testing Related Tools , 2008, SEKE.

[14]  Mira Mezini,et al.  PIROL: a case study for multidimensional separation of concerns in software engineering environments , 2000, OOPSLA '00.

[15]  Lirong Dai,et al.  Modeling and analysis of non-functional requirements as aspects in a UML based architecture design , 2005, Sixth International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing and First ACIS International Workshop on Self-Assembling Wireless Network.

[16]  Elisa Yumi Nakagawa,et al.  Representing Aspect-Based Architecture of Software Engineering Environments , 2007 .

[17]  Richard J. Lipton,et al.  Hints on Test Data Selection: Help for the Practicing Programmer , 1978, Computer.

[18]  Harold Ossher,et al.  Multi-Dimensional Separation of Concerns and the Hyperspace Approach , 2002 .

[19]  Debra J. Richardson,et al.  An evaluation of software test environment architectures , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[20]  Ramnivas Laddad,et al.  Aspect-Oriented Programming Will Improve Quality / Aspect-Oriented Programming: the Real Costs? , 2003, IEEE Softw..

[21]  William G. Griswold,et al.  An Overview of AspectJ , 2001, ECOOP.

[22]  David Garlan,et al.  Views for Tools in Integrated Environments , 1986, Advanced Programming Environments.

[23]  Harold Ossher,et al.  Hyper/J/sup TM/: multi-dimensional separation of concerns for Java/sup TM/ , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[24]  Sergio Bandinelli,et al.  Supporting Cooperation in the SPADE-1 Environment , 1996, IEEE Trans. Software Eng..

[25]  Mary Shaw,et al.  The golden age of software architecture , 2006, IEEE Software.

[26]  Paolo Ciancarini,et al.  Software process enactment in Oikos , 1990, SDE.

[27]  T. Wasserman The rise of open source development tools , 2004, ICSE 2004.

[28]  Auri Marcelo Rizzo Vincenzi,et al.  Muta-Pro: Towards the definition of a mutation testing process , 2006, Journal of the Brazilian Computer Society.

[29]  A. Jefferson Offutt,et al.  MuJava: a mutation system for java , 2006, ICSE.

[30]  Jack C. Wileden,et al.  Foundations for the Arcadia environment architecture , 1989, SDE 3.

[31]  Trygve Reenskaug,et al.  System Design by Composing Structures of Interacting Objects , 1992, ECOOP.

[32]  Xin Peng,et al.  A Unified Formal Model for Supporting Aspect-Oriented Dynamic Software Architecture , 2007, 2007 International Conference on Convergence Information Technology (ICCIT 2007).

[33]  Ehud Shapiro,et al.  Concurrent algorithmic debugging , 1988, PADD '88.

[34]  Michael W. Godfrey,et al.  A reference architecture for Web browsers , 2005, 21st IEEE International Conference on Software Maintenance (ICSM'05).

[35]  Auri Marcelo Rizzo Vincenzi,et al.  Proteum: a family of tools to support specification and program testing based on mutation , 2001 .

[36]  Harold Ossher,et al.  Software engineering tools and environments: a roadmap , 2000, ICSE '00.

[37]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[38]  M.L. Soffa,et al.  Demand-driven structural testing with dynamic instrumentation , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[39]  Fabrizio Di Crosta GUIDE FOR ISO/IEC 12207 (SOFTWARE LIFE CYCLE PROCESSES) , 2010 .

[40]  Tzilla Elrad,et al.  A UML Profile for Aspect Oriented Modeling , 2001 .

[41]  David Garlan,et al.  Software architecture: a roadmap , 2000, ICSE '00.

[42]  Elena Navarro,et al.  Requirements and Scenarios: Running Aspect-Oriented Software Architectures , 2007, 2007 Working IEEE/IFIP Conference on Software Architecture (WICSA'07).

[43]  Bernhard Rumpe,et al.  The UML profile for framework architectures , 2002, Addison Wesley object technology series.

[44]  Stephan Herrmann,et al.  Object Teams: Improving Modularity for Crosscutting Collaborations , 2002, NetObjectDays.

[45]  L. Fuentes,et al.  Towards the Architectural Definition of the Health Watcher System with AO-ADL , 2007, Early Aspects at ICSE: Workshops in Aspect-Oriented Requirements Engineering and Architecture Design (EARLYASPECTS'07).

[46]  Reidar Conradi,et al.  Initial software process management in EPOS , 1991, Softw. Eng. J..

[47]  Ian Thomas,et al.  An overview of PCTE and PCTE+ , 1989, SDE 3.

[48]  Ian Sommerville,et al.  Software engineering (6th ed.) , 2001 .

[49]  J.C. Maldonado,et al.  Architectural requirements as basis to quality of software engineering environments , 2008, IEEE Latin America Transactions.

[50]  Anthony L Wasserman Tool Integration in Software Engineering Environments , 1989, SEE.

[51]  Jakob Axelsson,et al.  Experience of introducing reference architectures in the development of automotive electronic systems , 2005, ACM SIGSOFT Softw. Eng. Notes.