Semantic Web Enabled Software Engineering, …wtlab.um.ac.ir/images/seminars/docs/Semantic Web...
Transcript of Semantic Web Enabled Software Engineering, …wtlab.um.ac.ir/images/seminars/docs/Semantic Web...
Samad Paydar
WTLab Research Group
Ferdowsi University of Mashhad
Semantic Web Enabled Software Engineering, LD2SD as a Case Study
13th June 2010
Outline
Introduction
Some Themes
Case Study: LD2SD
2
Introduction
3
Motivations
4
Software engineering is a knowledge-intensive activity
Semantic Technologies (e.g. RDF & Ontology) are the
silver bullet for knowledge management
Semantic technologies enables machines to capture,
understand and utilize knowledge of software
Hence they can help software engineers by automating
different activities involved in software engineering
Motivations
software is becoming more complex day-to-day
E.g. move from traditional software to Web applications
Move from Web applications to Web 2.0 applications
Social Web
Move from Web 2.0 to Web 3.0 applications
Semantic Web
Semantic technologies provide machine support to tackle
these complexities
5
Motivations
New paradigms are evolving in software area
Service-oriented architecture
Mashup-oriented programming
Collaborative programming
Ubiquitous computing
Grid computing
6
Motivations
These paradigms require software agents to have specific
capabilities like
Interoperability
Negotiation
Collaboration
Dynamic discovery
Data Integration & Data Exchange
Reusability and extensibility of data models
Handling loosely-coupledness
Semantic technologies are great for these needs
7
Some Themes
8
Some Themes
9
Using SW technologies in different SDLC steps
Requirement engineering [1, 2]
Software testing [3]
Automatic component selection in Component-based
development [4]
MDSD: Automatic model creation from textual
specifications using ontologies [5, 6, 7]
Design pattern specification, automatic detection and
selection [8, 9, 10, 11, 12]
Some Themes
10
Using SW technologies in different related activities
Configuration management [13]
Version control systems [14, 15]
Bug tracking and bug report quality assessment [16]
Variability management in Software Product Line
Engineering [17]
User interface design [21]
Some Themes
Using semantic model as data model
E.g. using RDF model instead of relational model [18, 19]
Increased flexibility and extendibility
Handling open-world data model
Inference capabilities over data
The main drawback is less scalability
11
Some Themes
New paradigms like
Agent-oriented software development
Service-oriented architecture and semantic web services
Ubiquitous computing
…
12
Some Themes
Using SW technologies to provide an integrated view over
the whole artifacts involved in software system life cycle
LD2SD is a good example [20]
13
Case Study: Linked Data Driven Software
Development
14
LOD Cloud : March 2009
15
Introduction
16
There are different software artifacts involved in software
development life cycle
Specifications
Test data
Source code
Bug reports
Feature requests
Discussion forums
Version control
Configuration management
Emails
….
17
Introduction
Therefore, information about a software project are stored
in number of heterogeneous, closely related and
interdependent datasets
These datasets are logically interconnected, but not
physically
Interconnection is implicit, not explicit
Valuable knowledge is hidden inside these datasets
18
Introduction
A thread in the discussion forum focuses on a special module
It leads to a feature request
Several emails are communicated between development staff
Modifications are made on current code
New Java classes are added
New unit tests
Several people might be involved
Documentation must be updated
Different people are involved
19
Introduction
It is required to make the links between software artifacts
and people explicit
Also to link them to data on the Web (e.g. discussion
forums)
20
LD2SD
LD2SD is:
a light-weight Semantic Web methodology for turning
software artifacts into linked data
This explicit representation makes new scenarios possible
21
LD2SD
Finding an expert
Jim is a software project manager. He needs to find a
developer in his team with a special expertise and
experience.
E.g. finding a developer with experience in parser
development which has been involved in the last year
projects and no bug is reported for code he has written
22
LD2SD
Bug tracking issues not fixed in due time
Jim wants to know if all the issues due yesterday have been
fixed and which packages are affected.
23
LD2SD
Find developer replacement
Jim needs to find a developer to be replaced with Mary.
He needs to analyze Mary’s expertise and latest activities:
Assigned bugs
Committed code
Mailing list and blog posts
And finally he wants to find a developer whose CV matches
Mary’s expertise
24
LD2SD
LD2SD methodology
Assign URIs to all entities in software artifacts and convert
to RDF representations based on the linked data principles,
yielding LD2SD datasets
Use semantic indexers, e.g. Sindice, to index the LD2SD
datasets
Use semantic pipes, e.g. DERI pipes, allowing to integrate,
align and filter the LD2SD datasets
Deliver information to end-users integrated in their preferred
environments
25
26
LD2SD
LD2SD datasets can be linked to LOD datasets such as
Dbpedia and Revyu
It enables the reuse of existing information in the software
development process
27
LD2SD Implementation
“Sindice software project” as the reference software
project
A list of candidate software artifacts
28
Data layer
RDFication and Interlinking
29
Data layer
30
Data layer
31
Data layer
32
Data layer
33
Integration Layer
DERI pipes are used to build RDF-based mashups. They allow to
fetch documents from different sources, merge them and operate on
them.
4 steps:
1. Fetch the RDF representation of the artifacts using the RDF
Fetch operator
2. Merge the datasets using a Simple Mix operator
3. Query the resulting, integrated dataset with SPARQL
4. Apply XQuery in order to sort and format the dta from the
previous step
The output of the implemented pipe is then accessible via an URI
34
Integration Layer
Integration Layer
35
Integration Layer
36
Interaction Layer
Handles the interaction
between the integrated
data and the end-users
such as developers
Semantic Widgets are
used
37
LD2SD Plug-in
A plug-in is implemented for Eclipse IDE
Enables developers to find related information about
software artifacts without leaving their development
environment
38
LD2SD Plug-in
39
Evaluation
12 participants with 1-5 years development experience
Were asked to carry out a set of tasks in two ways: Manual
Approach, and Plug-in Approach
Identify all blog posts that mention a specific Java class
Identify all bugs that have been fixed by modifying a
specific Java class
Identify all developers that are working on a Java package
Identify all blog posts that mentions a specific Java class
Identify all bugs that belong to a specific Java package
40
Evaluation Results
41
Conclusion
Introduced linked data approach in software development
paradigm
The idea is to make implicit links between software
artifacts explicit and expose them using RDF
Provide valuable information to end users by aggregating
information from different interconnected software
artifacts
42
References
1. S. J. Körner and T. Brumm, “Improving Natural Language Specifications with Ontologies,” in Proceedings of the
Twenty First International Conference on Software Engineering & Knowledge Engineering, Knowledge Systems
Institute, Ed., Jul 2009.
2. M. G. Ilieva, H. Boley, “Representing Textual Requirements As Graphical Natural Language For UML Diagram
Generation” in Proceedings of the Twentieth International Conference on Software Engineering & Knowledge
Engineering, Knowledge Systems Institute, Ed., Jul 2008.
3. S. Paydar, M. Kahani, “Ontology-Based Web Application Testing”. In: Tarek Sobh, Khaled Elleithy, Ausif
Mahmood, editors. Novel Algorithms and Techniques in Telecommunications and Networking, Springer, 2010, p.
23-27.
4. Olaf Hartig, Martin Kost, Johann-Christoph Freytag, “Automatic Component Selection with Semantic
Technologies” in Proceedings of the 4th International Workshop on Semantic Web Enabled Software Engineering
(SWESE) at ISWC, Karlsruhe, Germany, 2008.
5. A. Fatolahi, S. S. Some, T. C. Lethbridge, “A Model-Driven Approach for the Semi-Automated Generation of Web-
based Applications from Requirements” in Proceedings of the Twentieth International Conference on Software
Engineering & Knowledge Engineering, Knowledge Systems Institute, Ed., Jul 2008.
6. Y. Tian, F. Cheng, H. Yang, L. Landy, “An Ontology-based Model Driven Approach for a Music Learning System”
in Proceedings of the Twenty First International Conference on Software Engineering & Knowledge Engineering,
Knowledge Systems Institute, Ed., Jul 2009.
43
References
7. S. J. Korner, T. Gelhausen, “Improving Automatic Model Creation using Ontologies” in Proceedings of the
Twentieth International Conference on Software Engineering & Knowledge Engineering, Knowledge Systems
Institute, Ed., Jul 2008.
8. Jens Dietrich, Chris Elgar, "A Formal Description of Design Patterns Using OWL," aswec, pp.243-250, 2005
Australian Software Engineering Conference (ASWEC'05), 2005
9. Jens Dietrich, Chris Elgar, “An Ontology Based Representation of Software Design Patterns” in “Design Pattern
Formalization Techniques”, chapter 12, pages 258-279.
10. Holger Kampffmeyer and Steffen Zschaler: Finding the Pattern You Need: The Design Pattern Intent Ontology.
Model Driven Engineering Languages and Systems (Proc. MODELS 2007), pages 211--225, LNCS 4735, Springer,
2007.
11. Dietrich, J. and Elgar, C. 2005. A Formal Description of Design Patterns Using OWL. In Proceedings of the 2005
Australian Conference on Software Engineering (March 29 - April 01, 2005). ASWEC. IEEE Computer Society,
Washington, DC, 243-250. DOI= http://dx.doi.org/10.1109/ASWEC.2005.6
12. Jens Dietrich, Nathan Jones, "Using Social Networking and Semantic Web Technology in Software Engineering--
Use Cases, Patterns, and a Case Study," aswec, pp.129-136, 2007 Australian Software Engineering Conference
(ASWEC'07), 2007
44
References
13. Hamid Haidarian Shahri, James Hendler, Adam Porter, “Software Configuration Management Using Ontologies,”
Proceedings of the 3rd International Workshop on Semantic Web Enabled Software Engineering at the 4th European
Semantic Web Conference (ESWC’07), Innsbruck, Austria, June 6-7, 2007.
14. J. Kuriakose, “iLLumina - A DL knowledge base for Software Engineering” in Proceedings of the 4th International
Workshop on Semantic Web Enabled Software Engineering, in collaboration with ISWC 2008, Karlsruhe, Germany,
2008.
15. M. Quasthoff, C. Meinel, “Semantic Web Admission Free - Obtaining RDF and OWL Data from Application Source
Code” in Proceedings of the 4th International Workshop on Semantic Web Enabled Software Engineering, in
collaboration with ISWC 2008, Karlsruhe, Germany, 2008.
16. P. Schuegerl. J. Rilling, P. Charland, “Enriching SE Ontologies with Bug Report Quality” in Proceedings of the 4th
International Workshop on Semantic Web Enabled Software Engineering, in collaboration with ISWC 2008,
Karlsruhe, Germany, 2008.
17. N. Kaviani, B. Mohabbati, D. Gasevic, M. Finke, “Semantic Annotations of Feature Models for Dynamic Product
Configurations in Ubiquitous Environments” in Proceedings of the 4th International Workshop on Semantic Web
Enabled Software Engineering, in collaboration with ISWC 2008, Karlsruhe, Germany, 2008.
18. A. Jassal, D. Bell, “Fly-By-OWL A Framework for Ontology Driven E-commerce Websites” in Proceedings of the
5th International Workshop on Semantic Web Enabled Software Engineering, in collaboration with ISWC 2009,
Virginia, United States, 2009.
45
References
19. C. Nyulas, N. F. Noy, M. Dorf, N. Griffith, M. A. Musen, “Ontology-Driven Software What We Learned From
Using Ontologies As Infrastructure For Software” in Proceedings of the 5th International Workshop on Semantic
Web Enabled Software Engineering, in collaboration with ISWC 2009, Virginia, United States, 2009.
20. A. Iqbal, O. Ureche, M. Hausenblas, “Integrating Linked Data Driven Software Development Interaction into an
IDE” in Proceedings of the 5th International Workshop on Semantic Web Enabled Software Engineering, in
collaboration with ISWC 2009, Virginia, United States, 2009.
21. A. Stanciulescu, “A Methodology for Developing Multimodal User Interfaces of Information Systems”, Ph.D. thesis
in Management Sciences, Université catholique de Louvain, Belgium, 2008.
46