Supporting distributed software development through context awareness on software artifacts: the DiSEN-CollaborAR approach
1. Supporting distributed software
development through context
awareness on software artifacts:
the DiSEN-CollaborAR approach
Rafael Leonardo Vivian ( rlvivian.uem@gmail.com ) – State University of Maringá
Elisa Hatsue Moriya Huzita ( ehmhuzita@uem.br ) – State University of Maringá
Gislaine Camila Lapasini Leal ( gclleal@uem.br ) – State University of Maringá
SAC 2013 – 28th Symposium On Applied Computing
COSYS – Cooperative Systems
Coimbra, Portugal
2. Agenda
●
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
3. Introduction
●
●
●
●
●
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
4. Introduction
●
●
●
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
5. Challenges for context awareness
on software artifacts
●
●
●
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
6. Related works
●
●
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
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.
Supporting distributed software development through context awareness on software artifacts: the DiSEN-CollaborAR approach
06
7. DiSEN-CollaborAR approach
Figure 1. Conceptual model of DiSEN-CollaborAR
Supporting distributed software development through context awareness on software artifacts: the DiSEN-CollaborAR approach
07
8. 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
Category
Element
Specific issue-based software artifacts
Presence
How
When
Who did produce or change this artifact?
What were changes made on the artifact?
Intention
What was the goal of the changes made on the artifact?
Artifact
Where
Who is the participant that produced or modified this artifact?
Action
What
Identity
Author
Who
Who did access this artifact?
What was the artifact changed?
Location
Where is the artifact?
Action history
How did the actions happen on the artifact?
Artifact history
How was the artifact changed?
Event history
When was the artifact changed?
Supporting distributed software development through context awareness on software artifacts: the DiSEN-CollaborAR approach
08
9. 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
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
Supporting distributed software development through context awareness on software artifacts: the DiSEN-CollaborAR approach
09
10. DiSEN-CollaborAR approach
Figure 2: Linking instances from classes of ontology
in the class diagram and source code
Supporting distributed software development through context awareness on software artifacts: the DiSEN-CollaborAR approach
10
11. Implementation
●
●
●
●
●
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
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.
Supporting distributed software development through context awareness on software artifacts: the DiSEN-CollaborAR approach
11
12. Implementation
Figure 3. User interface in ACAS
Supporting distributed software development through context awareness on software artifacts: the DiSEN-CollaborAR approach
12
13. Conclusion and future work
●
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
14. Conclusion and future work
●
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
15. Questions...
Send to this e-mail:
rlvivian.uem@gmail.com
Rafael Leonardo Vivian ( rlvivian.uem@gmail.com ) – State University of Maringá
Elisa Hatsue Moriya Huzita ( ehmhuzita@uem.br ) – State University of Maringá
Gislaine Camila Lapasini Leal ( gclleal@uem.br ) – State University of Maringá
SAC 2013 – 28th Symposium On Applied Computing
COSYS – Cooperative Systems
Coimbra, Portugal
16. Supporting distributed software
development through context
awareness on software artifacts:
the DiSEN-CollaborAR approach
Rafael Leonardo Vivian ( rlvivian.uem@gmail.com ) – State University of Maringá
Elisa Hatsue Moriya Huzita ( ehmhuzita@uem.br ) – State University of Maringá
Gislaine Camila Lapasini Leal ( gclleal@uem.br ) – State University of Maringá
SAC 2013 – 28th Symposium On Applied Computing
COSYS – Cooperative Systems
Coimbra, Portugal