Servicios Personalizados
Revista
Articulo
Links relacionados
Compartir
CLEI Electronic Journal
versión On-line ISSN 0717-5000
CLEIej vol.14 no.1 Montevideo abr. 2011
Abstract
Aspect-Oriented Programming (AOP) has arisen as a new technology to support a better SoC (Separation of Concerns), intending to contribute to the development of reusable, maintainable, and evolvable software systems. Aspects have been also explored in the early life cycle phases, aiming at contributing to a more adequate development of aspect-oriented software systems. In this perspective, in order to better represent these systems, a diversity of extensions of the UML (Unified Modeling Language) has been proposed; however, there is a lack of a complete panorama that identify all these extensions. This paper presents an overview about which are possibly all extensions of the UML to represent aspect-oriented software systems. For this, we have used a technique proposed by Evidence-Based Software Engineering (EBSE): the Systematic Mapping. As achieved results, we can observe a diversity of work; however, there is not a consensus about which are the more adequate or more used extensions. Based on this overview, interesting and important perspectives for future research can also be found.
A Programação Orientada a Aspecto (POA) surgiu recentemente como uma nova tecnologia que permite uma melhor separação de interesses (do inglês, Separation of Concerns, SoC) e tendo como objetivo contribuir para o desenvolvimento de sistemas de software que sejam mais fáceis de manter, evoluir e reutilizar. Aspectos também têm sido explorados nas fases iniciais do ciclo de vida do software, com o propósito de contribuir para o desenvolvimento mais adequado de sistemas de software orientados a aspecto. Nesse sentido, para melhor representar esses sistemas, uma diversidade de extensões para a UML (Unified Modeling Language) têm sido propostas; entretanto, não há um panorama completo que identifique todas essas extensões. Assim, este trabalho apresenta uma visão geral sobre quais são possivelmente todas as extensões da UML propostas para a representação de sistemas de software orientados a aspecto. Para isso, foi utilizada uma técnica proposta pela Engenharia de Software Baseada em Evidências (ESBE): o Mapeamento Sistemático de Estudos. Como resultado, é possÃvel observar uma diversidade de trabalhos; entretanto, não há ainda um consenso sobre quais extensões são mais adequadas ou mais utilizadas. Baseado neste trabalho, interessantes e importantes linhas de pesquisa podem ser também identificadas.
Keywords: UML, Aspect-orientation, Systematic Mapping.
Portuguese keywords: UML, Orientação a Aspecto, Mapeamento Sistemático.
Received 2011-Jan-24, Revised 2011-Mar-31, Accepted 2011-Mar-31.1 INTRODUCTION
Aspect-Oriented Programming (AOP) has arisen as an approach that supports a better SoC (Separation of Concerns) and more adequately reflects the way developers think about the system [14]. Essentially, AOP introduces a unit of modular implementation - the aspect - which has been typically used to encapsulate crosscutting concerns in software systems (i.e., concerns that are spread across or tangled with other concerns). Modularity, maintainability, and facility to write software can be achieved with AOP [17]. Aspects have also been explored in the early life cycle phases.
According to Baniassad et al. [2], aspects in early phases support easier identification and analysis of aspects during later activities and, as a consequence, a better SoC in the aspect-oriented software systems, i.e., systems that contain aspects. In order to adequately model these systems, it is observed a diversity of initiatives [5, 19]. In particular, UML (Unified Modelling Language) [20] has been investigated as a language to represent aspect-oriented software systems, since it is already widely used as in the academy as in the industry.
In another perspective, Evidence-Based Software Engineering (EBSE) [9] has recently arisen, inspired in the medicine area, and has given considerable contribution to the Software Engineering area. EBSE provides means by which the best current research evidence can be coupled with practical experience and human values into the decision making process regarding software development and maintenance [15]. Thus, EBSE can contribute to software engineering researchers and professionals to make decisions concerning the adoption of new technologies, including processes, techniques, methods, and so on. In this context, systematic mapping is a technique that provides a systematic way in order to comprehend a topic of research [4, 22]. Considering its relevance, systematic mapping for different domains can be found and, specifically for Software Engineering area, mapping for software testing [1] and for requirement specification [6] are two examples. In this perspective, the conduction of systematic mapping in order to identify all work that propose UML extensions to represent aspect-oriented systems seems also to be interesting.
The main objective of this paper is then to present a panorama containing possibly all research work that have investigated and/or extended UML to represent aspect-oriented software systems. For this, we have adopted and conducted a systematic mapping to investigate this topic of research. As main achieved results, we have observed that there are many research groups publishing different initiatives to the aspect-oriented modeling using UML. However, there is not a consensus about a unified solution for that modeling. It is worth highlighting that this work corresponds to a reconduction of the systematic mapping previously presented in [11], containing therefore updated results.
This paper is organized as follows. In Section 2 we present a brief overview on aspect-orientation, UML, and systematic mapping technique. In Section 3 we present the conducted systematic mapping. In Section 4 we discuss about achieved results. Finally, in Section 5 we summarize our contributions and discuss perspectives for further work.
2 BACKGROUND AND RELATED WORK
In the context of Aspect-Oriented Software Development (AOSD), identification of aspects during early phases of the software life cycle "” for instance, requirement specification and architecture design - has been a recurrent issue in the literature. According to Baniassad [2], aspects in early phases support an easier identification and analysis of aspects during later activities, such as design and coding phases. In the last years, conferences, such as Aspect-Oriented Software Development (AOSD) Conference, Early Aspects workshops series and Workshop on Aspects in Architectural Description, have broadly discussed the use of aspects in these early phases. In order to deal with aspects in early phases related to modeling of aspect-oriented software systems, there is a diversity of initiatives [18, 21, 23]. In special, extensions to the UML can be also found [7, 12].
Currently, UML has been widely used in order to mainly facilitate development of object-oriented software systems. This standardized general-purpose modeling language includes a set of graphical notation techniques (also UML techniques or UML diagrams) to create visual models of software-intensive systems [20]. Its newest version (version 2.2) presents 14 techniques (such as Class Diagram, Sequence Diagram, and Component Diagram) divided into two categories (structural and behavioral) [20]. The diversity of UML techniques has therefore been basis for modeling of software systems with diverse characteristics, including aspect-oriented software systems.
In another perspective, it is noticed that when a research area is mature, there is almost always an increase in the number of reports and results made available. During the study of a new knowledge area, researchers usually conduct a bibliographical review (almost always an informal review) to identify publications related to a specific subject. For instance, Khan [13] conducted recently a survey on UML extensions to design aspect-oriented systems. Their study considered as relevant only eight works. The selection criteria used to select these studies was based mainly on previous background of the authors on the subject and was restricted to well-known events or those specific of aspect-orientation. The authors present an evaluation of each work considering, for instance, its coverage of the main constructs of aspect-oriented programming languages, which were these constructs, the UML technique used and if the work presents a case study. However, this kind of review do not use a systematic approach and do not offer any support to avoid bias during the selection of the publications that will be analyzed. Thus, it is important to have mechanisms to summarize and provide an overview about an area or topic of interest [22]. For this, EBSE has investigated and proposed the use of systematic mapping technique [4, 22]. In this context, an individual evidence (for instance, a case study or an experimental study divulged in a publication/paper) which contributes to a systematic mapping is called primary study, while the result of a systematic mapping is a secondary study. Systematic mapping aims at providing an overview of a research area to assess the quantity and type of primary studies existing on a topic of interest [22]. In short, systematic mapping is conducted by planning, conduction of search and screening of primary studies using inclusion and exclusion criteria [4]. Besides that, systematic mapping also conducts data extraction and analysis through the identification of categories and classification of the primary studies in these categories. As a result, this technique provides maps (for instance, in table or graphical format) containing condensed information about a research area.
3 SYSTEMATIC MAPPING APPLICATION
Our systematic mapping aims at identifying all primary studies that propose extension to the UML in order to represent aspect-oriented software systems. This systematic mapping considered studies published until February 5, 2011 and involved three people (a researcher in software engineering, a specialist in systematic mapping, and an undergraduate student). In order to conduct our systematic mapping, we have used the process presented in Figure 1. In short, it is composed by four steps: (i) systematic mapping planning; (ii) conduction of the search; (iii) selection of the primary studies; and (iv) analysis, classification, and map building. These steps are explained in more details during presentation of our systematic mapping. Following, we detail each step:
3.1 Step 1: Systematic Mapping Planning
In this step, it is established the systematic mapping plan that will be used as basis to conduct the systematic mapping. This plan consists in the formulation of the research questions, selection of the sources of primary studies, and establishment of the inclusion and exclusion criteria.
- (i)
- Research Questions (RQ): These questions are structured corresponding to the objective that is intended with the systematic mapping that, in our case, it is the identification of a panorama involving UML extensions to model aspect-oriented software systems. The research questions of our systematic mapping are:
- RQ1:
- Which UML techniques have been applied to model aspect-oriented software systems?
- RQ2:
- Which are the terms (word or set of words) that are often associated with work that investigate UML extension to represent aspect-oriented software systems?
- RQ3:
- Which vehicles have more published work on UML extensions to model aspect-oriented software systems?
- RQ4:
- Which are the research groups that have investigated UML extensions to represent aspect-oriented software systems?
- (ii)
- Selection of Sources:
In addition to the research questions, we established which search sources (i.e., publication databases) would be used to find the primary studies. The criteria used to select the sources were: content update (publications are regularly updated); availability (full text of the papers are available); quality of results (accuracy of the results returned by the search); and versatility export (since much information are returned through the search, a mechanism to export the results is required). These criteria are also discussed in [8]. Thus, the selected databases to our systematic mapping are shown in Table 1. According to Brereton et al. [3, 10] and Dybå et al. [10], these databases are efficient to conduct systematic mapping in the context of software engineering. Furthermore, Scopus was added, since it is considered the largest database of abstracts and citations [16].
-
- (iii)
- Establishment of Selection Criteria: Another important element of the systematic mapping planning is to define the Inclusion Criteria (IC) and Exclusion Criteria (EC). These criteria make possible to include primary studies that are relevant to answer the research questions and exclude studies that do not answer them. Thus, the inclusion criteria of our systematic mapping are shown in Table 2 and the exclusion criteria are shown in Table 3.
3.2 Step 2: Conduction of the Search
In this step, the search by primary studies is conducted according to previously established plan. This search is done by looking for all primary studies that match with the search string in the search sources. This can be automatically conducted if these sources provide an efficient search engine. For this, we established the keywords and the search strings.
- (i)
- Keywords: To keep the scope of the systematic mapping, the keywords must be simple and well chosen. Thus, they must be simple enough to bring many results and also rigorous enough to cover only the desired primary studies. The keywords chosen to our systematic mapping are: UML, aspect based, aspect-oriented, and aspect-oriented modeling.
- (ii)
- Search Strings: Based on the keywords, the search string is built (through connections AND/OR) to incorporate the semantic expected to the search. The search string used in our systematic mapping was:
(UML AND ("aspect-based" OR "aspect oriented" OR "aspect-oriented" OR AOM OR "aspect oriented modeling" OR "aspect-oriented modeling")
We have also built the strings and/or settings for each search engine, since each engine accepts a specific formatted. In Table 4, it is presented these strings and settings.
As result of this step, we obtained a total of 593 primary studies: 118 from ACM Digital Library, 69 from IEEE Xplore, 67 from ScienceDirect, 119 from ISI Web of Science and 220 from Scopus. Figure 2 shows the distribution of these studies into the web search engines selected.
3.3 Step 3: Selection of the Primary Studies
In this step, the selection criteria (i.e., inclusion and exclusion criteria) are applied to select the relevant primary studies. To support the organization and manipulation of the primary studies, we used JabRef (http://jabref.sourceforge.net/), an open source reference manager system. It made possible to store information on the primary studies (including, for instance, title, authors, and abstract), as well as the inclusion/exclusion criteria applied to select each primary study.
From 593 primary studies, 268 were repeated. Thus, we found 325 different studies. Applying our selection criteria, we included then 84 primary studies (the complete reference of each primary study included can be found in the Appendix A). Table 5summarizes the total of primary studies obtained in each database, the number of studies included (or selected), the precision rate (ratio between the total of included studies of a database and the total of primary studies obtained by this database), the rate index (ratio between the included studies of a database and the total of primary studies included in the systematic review), and the search date. For instance, from ACM Digital Library, we obtained a total of 118 studies; using the selection criteria, 50 studies were selected; precision rate is 42% (i.e., 50/118) and rate index is 60% (i.e., 50/84). It is important to observe that Scopus was the most efficient source, since 75% of all included papers were obtained in this source. Otherwise, ScienceDirect contributed with only 2% of primary studies which were also indexed by other sources. Therefore, we can point out that if there is an interest in searching work that involve the research topic of this work (i.e., UML extensions to model aspect-oriented software systems), searches using Scopus and ACM Digital Library could cover almost all work of this topic. In other words, Scopus obtained 75% and ACM Digital Library obtained 60%. Since Scopus indexes also studies of other databases, such as IEEE Xplore and ACM Digital Library, if the search was concentrated only in these two database (Scopus and ACM Digital Library), we would find 94% of the primary studies that we have selected.
Figure 3 presents the amount of primary studies included as relevant and separated by years. It is observed a strong growth of publications in the last years, mainly in Scopus and ACM Digital Library. Other sources (IEEE Xplore and ISI Web of Science) have what might be called an expected growth, considering the other two most numerous sources (Scopus and ACM Digital Library).
3.4 Step 4: Analysis, Classification and Map Building
While in previous section we present a more quantitative analysis of our systematic mapping, in this section, we present the categorization of the primary studies. For this, two tasks were conducted: (i) search by keywords; and (ii) grouping of the primary studies into categories. Thus, primary studies were firstly carefully read (i.e., title, keywords, and abstract). Next task was the creation of categories. For this, research questions were considered. In the case of our systematic mapping, we were interested in identifying ways of applying UML techniques to model aspect-oriented systems. Thus, four categories were created:
- UML Diagrams to Represent Aspect-oriented Software Systems:
- The keywords used in this category refer to the UML techniques (version 2.2): Use Case Diagram, State Machine Diagram, Timing Diagram, Interaction Overview Diagram, Communication Diagram, Sequence Diagram, Activity Diagram, Profile Diagram, Composite Structure Diagram, Package Diagram, Deployment Diagram, Component Diagram, Class Diagram, and Object Diagram. We are interested in knowing which UML techniques have been more investigated to model aspect-oriented software systems;
- Main Keywords:
- Keywords of this category refer to the most relevant keywords obtained from the selected primary studies. To do this, we firstly identified all the keywords from studies included. Then, these keywords were classified according to their frequency of occurrence. Finally, we selected the keywords that seemed more relevant or referred to software engineering research areas;
- Main Events and Journals:
- Keywords of this category refer to name of the events (such as conference and workshop) and journals in which the included primary studies were published; and
- Main Research Groups:
- Keywords of this category refer to the research groups that have published work related to UML extension to model aspect-oriented software systems. For this, we firstly identified all research groups related to included primary studies identified in our mapping. Then, research groups that had two or more primary studies (that were included in our mapping) were chosen as keywords of this category.
Following, we classified the primary studies into keywords in the categories. It is observed that a study can be classified sometimes into more than one keyword per category. Moreover, for category "UML Diagrams to Represent Aspect-oriented Systems"�, we read all relevant primary studies and separated them among the keywords. The same strategy was conduced to other three category: "Main Keywords"�, "Main Events and Journal"�, and "Main Research Groups"�. As result, we build four maps, one for each category.
Figure 4shows the map to the category "UML Diagrams to Represent Aspect-oriented Systems"�. The reader can refer to Appendix C in order to find the complete list of primary studies classified in each category established for this map. It is observed that from first studies in 2001, there is an increasing interest in extending UML diagrams to model aspect-oriented software systems. It is important to notice that there is an overlap between Class Diagram and Profile Diagram (Profile Diagram allows to define custom stereotypes, tag definitions, and constraints in a UML diagram), since primary studies extend the Class Diagram using new stereotypes, such as aspect and crosscuts, that are specific to aspect-oriented systems. Among the behavioral diagrams, Sequence Diagram and State Machine Diagram have been more investigated to represent aspect-oriented systems. These diagrams make possible to describe new behaviors introduced by the aspects and represent more easily when and how these aspects will be executed. Otherwise, diagrams that are not so disseminated and used (for example, Timing Diagram, Interaction Overview Diagram, and Composite Structure Diagram) if compared with, for instance, Class Diagram, have not been considered to model aspect-oriented systems.
Figure 5 shows the map to the category "Main Keywords"�. The keywords of this category are: Aspect Composition, Case Study, Component, Composition Mechanism, Framework, Join Point Model, Model-driven Architecture, Model-driven Development, Requirement, Reverse Engineering, Software Architecture, Tool Support, UML Based, UML Extension, UML Profile, and UML Standard. The reader can refer to Appendix C in order to find the complete list of primary studies classified in each category established for this map. This map shows which are the keywords that are more directly related to work that extend UML to model aspect-oriented systems. Thus, for instance, the keywords "UML extension"� and "UML Based"� are two important keywords that could be used in the future searches for primary studies. Otherwise, only few primary studies on UML extension to aspect-orientation domain are related to "Requirements"� and "Reverse Engineering"�.
Figure 6 (the meaning of the abbreviations can be found in the Appendix B) shows the map to the category "Main Events and Journals"�. The keywords of this category are events and journals in which the 84 primary studies selected in our mapping were published. It is important to notice that the primary studies were published in a diversity of events and journal (51 different events and 7 journals). Furthermore, these studies are not only concentrate in well-known events or those specific of aspect-orientation, such as ICSE (ACM/IEEE International Conference on Software Engineering) and AOSD (International Conference on Aspect-Oriented Software Development, http://www.aosd.net/). Therefore, if the search space was limited to those more known events and journals, important and relevant primary studies could not be found. For instance, AOSD published three primary studies and ICSE published only one among our 84 studies. Thus, systematic mapping was a fundamental and important technique to conduct our search and achieve positive and more extensive result.
Figure 7 shows the map to the category "Main Research Groups"�. For the sake of space, only research groups that published two or more studies were considered. Therefore, 19 research groups were considered in this map. For instance, research group of the Hebei University of Engineering (in China) published seven primary studies and each one of them deals with one UML diagram: Sequence Diagram, State Machine Diagram, Class Diagram, and in the design of connectors to represent aspect-oriented components. There is also an effort in applying these concepts in the framework of MDA (Model Driven Architecture). Meanwhile, other research groups in 17 universities published two or three studies. Furthermore, it is worth to highlighting that we identified other 59 different institutions that have published only one primary study. Therefore, we have observed that researches involving UML extension to aspect-orientation domain have been conducted by many different institutions.
4 DISCUSSION
In this section, we discuss some issues related to the conducted systematic mapping, what also includes lessons learned and limitations we have noticed.
Regarding research questions established for our systematic mapping, it is observed that all of them were successfully answered. This suggests that, the general knowledge about representing aspect-oriented systems using UML techniques has been mapped. Besides that, we believe that results presented in this work are representative of the whole universe of existing approaches to model aspect-oriented systems, since systematic mapping has provide mechanism to achieve it.
Considering knowledge arisen from this work, it is possible to identify interesting and important research lines that can be investigated in future work. For instance, the establishment of a unified UML notation to aspect-oriented modeling and extension of UML diagram that have not been explored in aspect-orientation domain, such as Timing Diagram.
Regarding limitation of this work, other categories could have beeb established and, as a consequence, related maps could have been designed. In another perspective, other research questions could be established, considering specific topics of research. Moreover, it is worth highlighting that systematic mapping conduction is not a trivial task because the amount of papers that need to be manipulated. Besides that, both paper reading and category analysis are manually conducted. Many of the studies provided none substantial information in the abstract or representative keywords to facilitate the analysis phase of the mapping. In those cases, it was also necessary to read the introduction and conclusion sections and, sometimes, the entire text of the primary study to determine the context and contributions of the study. Sometimes it was necessary to infer a conclusion to make some decisions. Besides that, during the conduction of our systematic mapping, more specifically after the primary studies had already been selected for our mapping, IEEE Xplore changed its search engine. Thus, the results presented here might be different from those obtained if a new search is conducted in that database.
5 CONCLUSIONS
The main contribution of this work was to present an overview about UML extensions to represent aspect-oriented software systems. To establish this overview, it was essential to systematically apply the set of steps provided by systematic mapping. As results, we found that there are several initiatives being proposed aiming at extending UML for the aspect-orientation approach. It is also important to notice that most studies were published in the last four years. In spite of that, there is a lack of consensus about which extensions should be disseminated and more widely used. Thus, we believe that this overview can contribute to the aspect-oriented software development area, getting new lines of research that are open yet. Besides that, in the same perspective, other mappings must be conduced, what could contribute to the establishment of a unified solution to the aspect-oriented modeling.
Acknowledgments This work is supported by Brazilian funding agencies: FAPESP, CAPES, and CNPq.
References
[1] R. Afzal, W.; Torkar and R. Feldt, "A systematic mapping study on non-functional search-based software testing,"� in Proceedings of the 20 International Conference on Software Engineering and Knowledge Engineering (SEKE 2008), San Francisco, USA, 2008, pp. 1-6.
[2] E. Baniassad, P. C. Clements, J. Araujo, A. Moreira, A. Rashid, and B. Tekinerdogan, "Discovering early aspects,"� IEEE Software, vol. 23, no. 1, pp. 61-70, 2006.
[3] P. Brereton, B. A. Kitchenham, D. Budgen, M. Turner, and M. Khalil, "Lessons from applying the systematic literature review process within the software engineering domain,"� Journal of Systems and Software, vol. 80, no. 4, pp. 571-583, 2007.
[4] M. B. P. Budgen, D.; Turner and B. Kitchenham, "Using mapping studies in software engineering,"� in Proceedings of the 20 Annual Meeting of the Psychology of Programming Interest Group (PPIG 2008), Lancaster, United Kingdom, 2008, pp. 195-204.
[5] S. Clarke and E. Baniassad, Aspect-Oriented Analysis and Design: The Theme Approach, ser. Object Technology, 2005.
[6] N. Condori-Fernandez, M. Daneva, K. Sikkel, R. Wieringa, O. Dieste, and O. Pastor, "A systematic mapping study on empirical evaluation of software requirements specifications techniques,"� in Proceedings of the 3 International Symposium on Empirical Software Engineering and Measurement (ESEM 2009), Lake Buena Vista, USA, 2009, pp. 502-505.
[7] W. L. L. X. Cui, Z. and D. Xu, "Modeling and integrating aspects with UML activity diagrams,"� in Proceedings of the 2009 ACM Symposium on Applied Computing (SAC 2009), New York, USA, 2009, pp. 403-437.
[8] O. Dieste, A. Grimán, and N. Juristo, "Developing search strategies for detecting relevant experiments,"� Empirical Software Engineering, vol. 14, no. 5, pp. 513-539, 2009.
[9] T. Dybå, B. Kitchenham, and M. Jorgensen, "Evidence-based software engineering for practitioners,"� IEEE Software, vol. 22, no. 1, pp. 58-65, 2005.
[10] T. Dybå, T. Dingsoyr, and G. K. Hanssen, "Applying systematic reviews to diverse study types: An experience report,"� in Proceedings of the 1 International Symposium on Empirical Software Engineering and Measurement (ESEM 2007), Los Alamitos, USA, 2007, pp. 225-234.
[11] M. Guessi, L. B. R. Oliveira, and E. Y. Nakagawa, "Modeling Aspect-oriented Software Systems Using UML: A Systematic Mapping,"� in Proceedings of the 36 Latin American Conference of Informatics (CLEI 2010), Asuncion, Paraguay, 2010, pp. 1-14.
[12] J. Ivers, P. Clements, D. Garlan, R. Nord, B. Schmerl, and J. R. O. Silva, "Documenting component and connector views with UML 2.0,"� Tech. Rep., 2004, cMU/SEI-2004-TR-008.
[13] S. A. Khan and A. Nadeem, "UML Extensions for Modeling Aspect Oriented Software: A Survey,"� in Proceedings of the National Software Engineering Conference (NSEC 2010), Rawalpindi, Pakistan, 2010, pp. 1-6.
[14] G. Kiczales, J. Irwin, J. Lamping, J. Loingtier, C. Lopes, C. Maeda, and A. Menhdhekar, "Aspect-oriented programming,"� in Proceedings of the 11 European Conference on Object-Oriented Programming (ECOOP 1997), Jyväskylä, Finland, 1997, pp. 220-242.
[15] B. Kitchenham, "Procedures for performing systematic reviews,"� Keele University and National ICT Australia Ltd, Tech. Rep. TR/SE-0401 and NICTA Technical Report 0400011T.1, 2004.
[16] B. Kitchenham and S. Charters, "Guidelines for performing systematic literature reviews in software engineering,"� Keele University and Durham University Joint Report, Tech. Rep. EBSE 2007-001, 2007. [Online]. Available: http://www.dur.ac.uk/ebse/resources/Systematic-reviews-5-8.pdf
[17] R. Laddad, "Aspect-oriented programming will improve quality,"� IEEE Software, vol. 20, no. 6, pp. 90-91, 2003.
[18] Y. Lau, W. Zhao, X. Peng, Y. Chen, and Z. Jiang, "A unified formal model for supporting aspect-oriented dynamic software architecture,"� in Proceedings of the International Conference on Convergence Information Technology (ICCIT 2007), Los Alamitos, USA, 2007, pp. 450-455.
[19] E. Navarro, P. Letelier, and I. Ramos, "Requirements and scenarios: Running aspect-oriented software architectures,"� in Proceedings of the 6 Working IEEE/IFIP Conference on Software Architecture (WICSA 2007), Mumbai, India, 2007, p. 23.
[20] OMG, "Unified modeling language version 2.2,"� [Online], 2009, Available:http://www.omg.org/spec/UML/2.2/.
[21] V. Paula and T. Batista, "Revisiting a formal framework for modeling aspects in the design phase,"� in Proceedings of the Early Aspects at ICSE: Workshops in Aspect-Oriented Requirements Engineering and Architecture Design, Washington, DC, USA, 2007, p. 6.
[22] K. Petersen, R. Feldt, M. Shahid, and M. Mattsson, "Systematic mapping studies in software engineering,"� in Proceedings of the 5 IEEE Workshop on Engineering of Autonomic and Autonomous Systems (EASe 2008), Belfast, Northern Ireland, 2008, pp. 1-10.
[23] M. Pinto, N. Gamez, and L. Fuentes, "Towards the architectural definition of the health watcher system with AO-ADL,"� in Proceedings of the Early Aspects at ICSE: Workshops in Aspect-Oriented Requirements Engineering and Architecture Design, Washington, DC, USA, 2007, p. 5.
Appendix A
Table 6 presents the complete reference of each primary study included in the systematic mapping.
Appendix B
This section presents the meaning of the abbreviations found in the map to the category "Main Events and Journals"� (in Figure 6). Table 7 lists the journals and Table 8 lists the events where the primary studies were published.
Appendix C
Table 9 presents the complete list of primary studies classified in each category established for the map "UML Diagrams to Represent Aspect-oriented Systems"�. Table 10 presents the complete list of primary studies classified in each category established for the map "Main Keywords"�.