16
Supporting distributed software development through context awareness on software artifacts: the DiSEN-CollaborAR approach Rafael Leonardo Vivian ( [email protected] ) – State University of Maringá Elisa Hatsue Moriya Huzita ( [email protected] ) – State University of Maringá Gislaine Camila Lapasini Leal ( [email protected] ) – State University of Maringá SAC 2013 – 28th Symposium On Applied Computing COSYS – Cooperative Systems Coimbra, Portugal

Supporting distributed software development through context awareness on software artifacts: the DiSEN-CollaborAR approach

Embed Size (px)

DESCRIPTION

SAC 2013 – 28th Symposium On Applied Computing COSYS – Cooperative Systems Coimbra, Portugal

Citation preview

Page 1: Supporting distributed software development through context awareness on software artifacts: the DiSEN-CollaborAR approach

Supporting distributed software development through context awareness on software artifacts: the DiSEN-CollaborAR approach

Rafael Leonardo Vivian ( [email protected] ) – State University of MaringáElisa Hatsue Moriya Huzita ( [email protected] ) – State University of MaringáGislaine Camila Lapasini Leal ( [email protected] ) – State University of MaringáSAC 2013 – 28th Symposium On Applied ComputingCOSYS – Cooperative SystemsCoimbra, Portugal

Page 2: Supporting distributed software development through context awareness on software artifacts: the DiSEN-CollaborAR approach

● Introduction● Challenges for context awareness on software artifacts● Related works● DiSEN-CollaborAR approach● Implementation● Conclusion and future work

Supporting distributed software development through context awareness on software artifacts: the DiSEN-CollaborAR approach 02

Agenda

Page 3: Supporting distributed software development through context awareness on software artifacts: the DiSEN-CollaborAR approach

● Temporal and geographical distances among the teams● Communication channels are reduced, affecting the

productivity and quality of software development● Software developers need to appropriate tools to support

their work: Version Control System and UML CASE Tools● VCS and UML CASE Tool do not have mechanisms to associate

the software artifacts of different types according to their internal structure

● The circumstances involved in the production or modification of a software artifact

Supporting distributed software development through context awareness on software artifacts: the DiSEN-CollaborAR approach 03

Introduction

Page 4: Supporting distributed software development through context awareness on software artifacts: the DiSEN-CollaborAR approach

● The lack of context awareness on the software artifacts can produce ambiguities during collaborative software development and consequently to faults or uncertainties

● This scenario motivates the development of an infrastructure able to support the dissemination of information about software artifacts

● An approach that provides support for context awareness on software artifacts such as source code and class diagram from collaborative work performed by distributed teams

Supporting distributed software development through context awareness on software artifacts: the DiSEN-CollaborAR approach 04

Introduction

Page 5: Supporting distributed software development through context awareness on software artifacts: the DiSEN-CollaborAR approach

● Challenge #1: Acquire contextual information about the creation and updating of software artifacts from several sources

● Challenge #2: Provide contextual elements, awareness elements and properties of software artifacts that are important to increase the awareness of distributed teams members

● Challenge #3: Present contextual information about the creation and updating of software artifacts through visual resources

Supporting distributed software development through context awareness on software artifacts: the DiSEN-CollaborAR approach 05

Challenges for context awarenesson software artifacts

Page 6: Supporting distributed software development through context awareness on software artifacts: the DiSEN-CollaborAR approach

● ADAMS (de Lucia et al., 2005) is a tool for managing changes to artifacts during the iterative and incremental software development

● EvolTrack (Cepêda et al., 2010) is an approach that supports the awareness on the evolution of software during the development cycle

Supporting distributed software development through context awareness on software artifacts: the DiSEN-CollaborAR approach 06

Related works

de Lucia, A.; Fasano, F.; Francese, R.; Oliveto, R. Traceability management in ADAMS. In: Proceedings of the 1st International Workshop on Distributed Software Development, 2005, p. 135–149.

Cepêda, R. S. V.; Magdaleno, A. M.; Murta, L. G. P.; Werner, C. M. L. Evoltrack: improving design evolution awareness in Software Development. Journal of the Brazilian Computer Society, v. 16, n. 2, p. 117–131, 2010.

Page 7: Supporting distributed software development through context awareness on software artifacts: the DiSEN-CollaborAR approach

Supporting distributed software development through context awareness on software artifacts: the DiSEN-CollaborAR approach 07

DiSEN-CollaborAR approach

Figure 1. Conceptual model of DiSEN-CollaborAR

Page 8: Supporting distributed software development through context awareness on software artifacts: the DiSEN-CollaborAR approach

● Awareness Elements are information that individuals need to monitor, learn and understand the changes that occurred on software artifacts over time in a collaborative project

Supporting distributed software development through context awareness on software artifacts: the DiSEN-CollaborAR approach 08

DiSEN-CollaborAR approach

Category Element Specific issue-based software artifacts

Who

Presence Who did access this artifact?

Identity Who is the participant that produced or modified this artifact?

Author Who did produce or change this artifact?

What

Action What were changes made on the artifact?

Intention What was the goal of the changes made on the artifact?

Artifact What was the artifact changed?

Where Location Where is the artifact?

HowAction history How did the actions happen on the artifact?

Artifact history How was the artifact changed?

When Event history When was the artifact changed?

Page 9: Supporting distributed software development through context awareness on software artifacts: the DiSEN-CollaborAR approach

● Artifact Context is a set of information, consisting of several contextual elements that characterize the artifact and supporting the individual in performing the tasks

Supporting distributed software development through context awareness on software artifacts: the DiSEN-CollaborAR approach 09

DiSEN-CollaborAR approach

Contextual element Description

File File of the artifact generated by the system

Team Team which the participant is part

Tool Tool used to generate the artifact

Host Repository of the artifact

Location Physical location where the team is

Participant User who manipulated the artifact

Artifact type Indicates the category of artifact

Version Version of the file which corresponds to the artifact

Page 10: Supporting distributed software development through context awareness on software artifacts: the DiSEN-CollaborAR approach

Supporting distributed software development through context awareness on software artifacts: the DiSEN-CollaborAR approach 10

DiSEN-CollaborAR approach

Figure 2: Linking instances from classes of ontologyin the class diagram and source code

Page 11: Supporting distributed software development through context awareness on software artifacts: the DiSEN-CollaborAR approach

● The prototype ACAS (Artifact Collaborative Awareness System) has integration with Mercurial (Version Control System) and with ArgoUML (UML CASE Tool)

● The parser in the source code, in Java format, is performed through Eclipse JDT Core API

● The parser in the code that represents the class diagram, in XMI format, is performed through SAX API

● The DiSEN Agency framework (Monte-Alto et al., 2012) provides support for processing contextual information in the ACAS

● For the manipulation of graphs in the ACAS, it was used the JUNG – Java Universal Network/Graph framework

Supporting distributed software development through context awareness on software artifacts: the DiSEN-CollaborAR approach 11

Implementation

Monte-Alto, H. H. L. C.; Biasao, A. B.; Teixeira, L. O.; Huzita, E. H. M. Multi-agent applications in a context-aware global software development environment. In: Proceedings of the 9th International Symposium on Distributed Computing and Artificial Intelligence (DCAI12), Springer, 2012, p. 265–272.

Page 12: Supporting distributed software development through context awareness on software artifacts: the DiSEN-CollaborAR approach

Supporting distributed software development through context awareness on software artifacts: the DiSEN-CollaborAR approach 12

Implementation

Figure 3. User interface in ACAS

Page 13: Supporting distributed software development through context awareness on software artifacts: the DiSEN-CollaborAR approach

● DiSEN-CollaborAR: - An approach to deal with context awareness on software artifacts for distributed teams

● Motivation for its development:- The reduction of communication about the software artifacts that are produced or updated during collaborative development

● The main contribution: - To provide an approach with resource to capture, represent, storage, process and present contextual information about software artifacts

Supporting distributed software development through context awareness on software artifacts: the DiSEN-CollaborAR approach 13

Conclusion and future work

Page 14: Supporting distributed software development through context awareness on software artifacts: the DiSEN-CollaborAR approach

● This approach:(1) offers awareness elements and artifact context that increase the understanding on the software artifacts, (2) enables the semantic representation from contextual information about software artifacts through an ontology, (3) establishes relationships of dependencies among software artifacts based on ontology, (4) generates links of traceability among software artifacts and (5) presents contextual information through graphs that allow visual awareness

● Future works:(1) explore other information sources such as email, discussion forum and wiki and (2) identify socio-technical networks that can reveal patterns of collaboration that influence the individuals awareness

Supporting distributed software development through context awareness on software artifacts: the DiSEN-CollaborAR approach 14

Conclusion and future work

Page 15: Supporting distributed software development through context awareness on software artifacts: the DiSEN-CollaborAR approach

Questions...Send to this e-mail:[email protected]

Rafael Leonardo Vivian ( [email protected] ) – State University of MaringáElisa Hatsue Moriya Huzita ( [email protected] ) – State University of MaringáGislaine Camila Lapasini Leal ( [email protected] ) – State University of MaringáSAC 2013 – 28th Symposium On Applied ComputingCOSYS – Cooperative SystemsCoimbra, Portugal

Page 16: Supporting distributed software development through context awareness on software artifacts: the DiSEN-CollaborAR approach

Supporting distributed software development through context awareness on software artifacts: the DiSEN-CollaborAR approach

Rafael Leonardo Vivian ( [email protected] ) – State University of MaringáElisa Hatsue Moriya Huzita ( [email protected] ) – State University of MaringáGislaine Camila Lapasini Leal ( [email protected] ) – State University of MaringáSAC 2013 – 28th Symposium On Applied ComputingCOSYS – Cooperative SystemsCoimbra, Portugal