semantic web enabled software engineering, ld2sd … web enabled... · semantic web enabled...

46
Samad Paydar [email protected] WTLab Research Group Ferdowsi University of Mashhad Semantic Web Enabled Software Engineering, LD2SD as a Case Study 13 th June 2010

Upload: nguyencong

Post on 21-Apr-2018

226 views

Category:

Documents


4 download

TRANSCRIPT

Samad Paydar

[email protected]

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