A Study on the Application of the PREViA Approach in Modeling Education Marcelo Schots, Claudia Susie C. Rodrigues and Cláudia Werner System Engineering and Computer Science COPPE/UFRJ Rio de Janeiro, Brazil {schots, susie, werner}@cos.ufrj.br Leonardo Murta Instituto de Computação Universidade Federal Fluminense (UFF) Rio de Janeiro, Brazil leomurta@ic.uff.br Abstract—Creation, interpretation, and evolution of models and diagrams are activities commonly performed in software projects, and their teaching is fundamental for the student education. However, it is difficult to see the changes made in model corrections, evolutions, or maintenance done by the student, as well as by the teacher, comparing templates and different solutions. In this regard, this paper presents the use of the PREViA approach, which aims at visualizing software architecture models. This work focuses on supporting teaching and learning in the modeling education context. A feasibility study was conducted and its results provided positive evidences of the use of the approach in the correction of diagrams. Keywords-Software Architecture/Modeling Education, Software Visualization I. INTRODUCTION Our society is increasingly supported by a software based technology, with a great demand for quality. As systems become more sophisticated and larger, software engineering (SE), as well as its teaching, becomes vital. This is part of the pressure experienced by professionals of SE education, which over the years has mobilized the community to meet these demands. Software architecture (including its models and architectural views) has received special attention from the software engineering (SE) academic community [1]. The study of the possible achieved benefits and the direct consequences of its application have leveraged software architecture to the status of discipline, becoming one of the main topics of SE [2] [3]. As software-based systems reach a larger scope and complexity, the importance of specification and design increases. Aiming at systematizing the software design process, the architecture provides a solid basis for reuse, allowing a greater standardization of structural systems representations. The Unified Modeling Language (UML) provides a standard way for the creation, visualization and documentation of architectural design [4], including conceptual aspects (e.g., business processes and system functions) and concrete items (e.g., classes, database schemas and reusable components) [5]. In this sense, UML class diagrams can be considered one of the architectural views of a system [6]. A systematic literature review of the initiatives undertaken in teaching Software Architecture [7] has reaffirmed the needs for an education program that allows practical experience and attempts to deepen the understanding of skills in the formation of a good software architect. Visual communication is a key factor in the teaching and learning process of software architecture and systems modeling [8] [9]. Understanding architectures is not a trivial activity, which consumes time and effort, due to factors such as [10]: (i) the high complexity of systems, (ii) the large amount of data, and (iii) the high number of dependencies among their architectural elements. For these reasons, the process of acquiring knowledge should be supported by visualization approaches and tools to reduce the effort of understanding by improving awareness of the behavior, structure, and evolution of the system. In this sense, software visualization can be benefited from and applied to many different areas. In education, students can use visualization to facilitate the understanding and learning of new concepts in software development. Considering this scenario, this paper presents the first results of a feasibility study regarding the use of PREViA approach to support activities related to model differencing, aiming at improving comprehension in learning. The study has provided positive evidences of the use of the approach in the context of diagram correction. Besides this introductory section, this paper is divided as follows: Section II describes the PREViA approach; Section III presents the use of PREViA in the context of modeling education. Section IV describes the evaluation of the approach in this context. Section V details some related work and Section VI presents the conclusions, some limitations, and future work. II. THE PREVIA APPROACH Software architectures evolve over time due to several reasons, and it is important to keep the consistency between the developed applications (represented by emerging architectures) and their conceptual architecture anytime in the software development lifecycle. The PREViA approach (P rocedure for R epresenting the E volution through Vi sualization of A rchitectures) aims at visualizing the evolution of software architectural models via the comparison of model versions (stored in version control systems). This is done by using concepts and techniques of software visualization to improve comprehension and perception of the evolution [11].