3rd International Workshop on                                            February 24, 2010
 Social Software Engineering
                    g      g                                            Paderborn, Germany
                                                                                 ,        y




             Adding Semantics to
         Social Software Engineering:
                                                    d

(Re-)Using Ontologies in a Community-oriented
    Requirements Engineering Environment


             Steffen Lohmann                                     Thomas Riechert
                DEI Laboratory                      Agile Knowledge Engineering and Semantic Web
       Computer Science Department                         Department of Computer Science
    Carlos III University of Madrid, Spain                   University of Leipzig, Germany




                 Steffen Lohmann, Thomas Riechert
Contents

1. Social Software Engineering

2. Ontologies in Software Engineering

3.
3 Reusing basic ontologies from the Semantic Web

4. SWORE upper ontologie for community-oriented RE




           Steffen Lohmann, Thomas Riechert
Social Software Engineering

    ‘social aspects’ are key to successful SE
    ‘social aspe ts’ e ei e ene ed
    ‘so ial aspects’ receive renewed attention these days
                                                     da s
    (Social Software, Social Web, …)


    Social Software Engineering (SSE) is about…
     1. social interaction in software communities

     2. sharing knowledge in online environments*




*   The online environment’s architecture can be centralized (e.g., community
    website) or decentralized (e.g., integrated in IDE).
                              (e g                 IDE)


               Steffen Lohmann, Thomas Riechert
Social Software Engineering

  Social Software Engineering

  Social Software vs. Software Engineering

Social Software:                                    Software Engineering:
• ad-hoc collaboration                              • structured processes
• weakly structured contents                  vs.   • well-defined artifacts
                                                             f         f
• low formal semantics                              • high formal semantics




           Steffen Lohmann, Thomas Riechert
Ontologies in Software Engineering

   General solution approach:
     - applying ontologies* to SSE
          l i       l i *


   Reusing ontologies to represent…
     - collaboratively created artifacts
     - involved participants
     - (self )organizing structures
       (self-)organizing
   …that emerge in online environments for SSE


* An ontology is a “specification of a conceptualization”
           gy        p                      p               (
                                                            (Gruber 1993)
                                                                        )



               Steffen Lohmann, Thomas Riechert
Ontologies in Software Engineering

     Popular examples:
       - O t l
         Ontology D fi iti
                  Definition M t
                             Metamodel (ODM) of OMG
                                   d l        f

       - Ontology Driven Architecture (ODA) of W3C


     Applications of Ontologies in SE




                                                                     Happ & Seedor 2006
     OED particularly relevant for SSE




                                                                                 rf
     Promising: Semantic Wikis*




                                                                        pel
*   “Semantic Wikis try to combine the strengths of Semantic
    Web (machine processable, data integration, complex queries)
    and Wiki (easy to use and contribute, strongly interconnected,
                               contribute          interconnected
    collaborativeness) technologies” (semwiki.org)


                    Steffen Lohmann, Thomas Riechert
Ontologies in Software Engineering

  Existing approaches:
   - define own ontologies

   - reuse software-related ontologies
                                  g

   - support ontology development


  many activities and artifacts are not SE-specific


  Reusing basic ontologies from the Semantic Web




          Steffen Lohmann, Thomas Riechert
Reusing basic ontologies from the Semantic Web

 Web environment for community-oriented Requirements Engineering




Based on the Semantic Wiki OntoWiki and integrating several ontologies




            Steffen Lohmann, Thomas Riechert
Reusing basic ontologies from the Semantic Web

                                             DC   (+TAGS)                                                          DC + SIOC + FOAF

                                              dc:title     dc:description       dc:subject    tags:taggedWithTag    dc:creator   dc:contributor   dc:source
                                                                                                                                                  foaf:Agent

                                                                                                                                                  sioc:User



 SKOS

 skos:Concept

 skos:broader
 skos:narrower

 skos:definition
 skos definition


    tags:Tag
   tags:name

 skos:definition


 TAGS    (+SKOS)

     class
         <vocabulary>:<Class name>
                                               sioc:Item    sioc:Post       sioctypes:Poll   sioctypes:Comment
     property
       <vocabulary>:<Property name>          SIOC




                            Steffen Lohmann, Thomas Riechert
Reusing basic ontologies from the Semantic Web

  Dublin Core (DC) for requirement metadata
   - DC defines general properties for information resources:
     title, description, creator, contributor, subject, and source…


  SKOS and TAGS for classification
   - SKOS for taxonomy: broader, narrower, definition…
   - TAGS for folksonomy: Tag as subclass of Concept


  FOAF and SIOC for stakeholders and discussions
         d      f    t k h ld      d di     i
   - FOAF for stakeholders: Person, Group, Organization…
   - SIOC for discussions: Post Poll
                           Post, Poll…




          Steffen Lohmann, Thomas Riechert
Reusing basic ontologies from the Semantic Web

  Benefits of cross-domain ontology reuse:
   - interoperability – extended tool range (
           p        y                     g (non-CASE tools) )
   - new opportunities to utilize, enhance, and analyze artifacts
        • refinement of classification structure
        • social network analysis
              i l   t    k    l i
        • reasoning and consistency checking
        • …
   - shared understanding between participants
   - common practices on elaborated knowledge
   - no redundant modeling effort
   - fewer misconceptions

  not all aspects covered by available ontologies
  additional modeling required
                     g q

          Steffen Lohmann, Thomas Riechert
req:Title                req:Description



req:details; req:isDetailedBy; req:dependsOn;
      reg:invalidates; req:isInvalidFor;
                                                             dc:description

                                                      dc:title                     req:isCommentedBy                       SWORE Upper
                                                                                                                              Ontology
         req:entails; req:isSimilarTo;
                t il      i Si il T

                                                   req:Requirement                     dc:source
                 req:isReferredBy



                                    req:refersTo
                                                                                              req:Source
                                                                        dc:creator
                 req:ReferencePoint                                     dc:contributor
                                                dc:subject

                                                                                   req:Stakeholder           req:Document

req:ApplicationState         req:ApplicationPointer


                                                                                               FOAF
                                                                                foaf:Agent
                                                                                                            foaf:Organization
                                                                  foaf:holdsAccount

              skos:Concept                                                                                foaf:Person
                                                                                          foaf:Group
             skos:broader              tags:taggedWithTag
            skos:narrower                                                                                                            sioc:about


         SKOS                                   tags:Tag                                 sioc:account_of
                                                                                         sioc:account of                    sioc:Item



                                            TAGS                                                   sioc:has_modifier                        SIOC
                                                                                             sioc:modifier_of
                                                                                                                                        sioc:Post
                                                                              sioc:User
class:
                                                                                                         sioctypes#Poll
    <vacabulary>:<Class name>
                                                                                                                                   sioctypes#Comment
property:                           subClassOf property:                req:Vote

<vocabulary>:<property name>        subPropertyOf property:                            req:QualityRating               req:PriorityRating




                             Steffen Lohmann, Thomas Riechert
Conclusions & Future Work
Conclusions:
  many domain-independent aspects of SE are already described
      y           p         p                     y
  by ontologies
  reusing these ontologies can be valuable (interoperability)
  in particular in SSE (Semantic Wiki)
            l


Limitations:
  not all aspects represented (additional modeling)
  performance and scalability (Semantic Web technologies)


Future Work:
  integration of further features and ontologies
  extension of SWORE upper ontology


           Steffen Lohmann, Thomas Riechert
Thank
Th k you f your attention.
         for     tt ti




Steffen Lohmann, Thomas Riechert

Adding Semantics to Social Software Engineering (by Steffen Lohmann & Thomas Riechert)

  • 1.
    3rd International Workshopon February 24, 2010 Social Software Engineering g g Paderborn, Germany , y Adding Semantics to Social Software Engineering: d (Re-)Using Ontologies in a Community-oriented Requirements Engineering Environment Steffen Lohmann Thomas Riechert DEI Laboratory Agile Knowledge Engineering and Semantic Web Computer Science Department Department of Computer Science Carlos III University of Madrid, Spain University of Leipzig, Germany Steffen Lohmann, Thomas Riechert
  • 2.
    Contents 1. Social SoftwareEngineering 2. Ontologies in Software Engineering 3. 3 Reusing basic ontologies from the Semantic Web 4. SWORE upper ontologie for community-oriented RE Steffen Lohmann, Thomas Riechert
  • 3.
    Social Software Engineering ‘social aspects’ are key to successful SE ‘social aspe ts’ e ei e ene ed ‘so ial aspects’ receive renewed attention these days da s (Social Software, Social Web, …) Social Software Engineering (SSE) is about… 1. social interaction in software communities 2. sharing knowledge in online environments* * The online environment’s architecture can be centralized (e.g., community website) or decentralized (e.g., integrated in IDE). (e g IDE) Steffen Lohmann, Thomas Riechert
  • 4.
    Social Software Engineering Social Software Engineering Social Software vs. Software Engineering Social Software: Software Engineering: • ad-hoc collaboration • structured processes • weakly structured contents vs. • well-defined artifacts f f • low formal semantics • high formal semantics Steffen Lohmann, Thomas Riechert
  • 5.
    Ontologies in SoftwareEngineering General solution approach: - applying ontologies* to SSE l i l i * Reusing ontologies to represent… - collaboratively created artifacts - involved participants - (self )organizing structures (self-)organizing …that emerge in online environments for SSE * An ontology is a “specification of a conceptualization” gy p p ( (Gruber 1993) ) Steffen Lohmann, Thomas Riechert
  • 6.
    Ontologies in SoftwareEngineering Popular examples: - O t l Ontology D fi iti Definition M t Metamodel (ODM) of OMG d l f - Ontology Driven Architecture (ODA) of W3C Applications of Ontologies in SE Happ & Seedor 2006 OED particularly relevant for SSE rf Promising: Semantic Wikis* pel * “Semantic Wikis try to combine the strengths of Semantic Web (machine processable, data integration, complex queries) and Wiki (easy to use and contribute, strongly interconnected, contribute interconnected collaborativeness) technologies” (semwiki.org) Steffen Lohmann, Thomas Riechert
  • 7.
    Ontologies in SoftwareEngineering Existing approaches: - define own ontologies - reuse software-related ontologies g - support ontology development many activities and artifacts are not SE-specific Reusing basic ontologies from the Semantic Web Steffen Lohmann, Thomas Riechert
  • 8.
    Reusing basic ontologiesfrom the Semantic Web Web environment for community-oriented Requirements Engineering Based on the Semantic Wiki OntoWiki and integrating several ontologies Steffen Lohmann, Thomas Riechert
  • 9.
    Reusing basic ontologiesfrom the Semantic Web DC (+TAGS) DC + SIOC + FOAF dc:title dc:description dc:subject tags:taggedWithTag dc:creator dc:contributor dc:source foaf:Agent sioc:User SKOS skos:Concept skos:broader skos:narrower skos:definition skos definition tags:Tag tags:name skos:definition TAGS (+SKOS) class <vocabulary>:<Class name> sioc:Item sioc:Post sioctypes:Poll sioctypes:Comment property <vocabulary>:<Property name> SIOC Steffen Lohmann, Thomas Riechert
  • 10.
    Reusing basic ontologiesfrom the Semantic Web Dublin Core (DC) for requirement metadata - DC defines general properties for information resources: title, description, creator, contributor, subject, and source… SKOS and TAGS for classification - SKOS for taxonomy: broader, narrower, definition… - TAGS for folksonomy: Tag as subclass of Concept FOAF and SIOC for stakeholders and discussions d f t k h ld d di i - FOAF for stakeholders: Person, Group, Organization… - SIOC for discussions: Post Poll Post, Poll… Steffen Lohmann, Thomas Riechert
  • 11.
    Reusing basic ontologiesfrom the Semantic Web Benefits of cross-domain ontology reuse: - interoperability – extended tool range ( p y g (non-CASE tools) ) - new opportunities to utilize, enhance, and analyze artifacts • refinement of classification structure • social network analysis i l t k l i • reasoning and consistency checking • … - shared understanding between participants - common practices on elaborated knowledge - no redundant modeling effort - fewer misconceptions not all aspects covered by available ontologies additional modeling required g q Steffen Lohmann, Thomas Riechert
  • 12.
    req:Title req:Description req:details; req:isDetailedBy; req:dependsOn; reg:invalidates; req:isInvalidFor; dc:description dc:title req:isCommentedBy SWORE Upper Ontology req:entails; req:isSimilarTo; t il i Si il T req:Requirement dc:source req:isReferredBy req:refersTo req:Source dc:creator req:ReferencePoint dc:contributor dc:subject req:Stakeholder req:Document req:ApplicationState req:ApplicationPointer FOAF foaf:Agent foaf:Organization foaf:holdsAccount skos:Concept foaf:Person foaf:Group skos:broader tags:taggedWithTag skos:narrower sioc:about SKOS tags:Tag sioc:account_of sioc:account of sioc:Item TAGS sioc:has_modifier SIOC sioc:modifier_of sioc:Post sioc:User class: sioctypes#Poll <vacabulary>:<Class name> sioctypes#Comment property: subClassOf property: req:Vote <vocabulary>:<property name> subPropertyOf property: req:QualityRating req:PriorityRating Steffen Lohmann, Thomas Riechert
  • 13.
    Conclusions & FutureWork Conclusions: many domain-independent aspects of SE are already described y p p y by ontologies reusing these ontologies can be valuable (interoperability) in particular in SSE (Semantic Wiki) l Limitations: not all aspects represented (additional modeling) performance and scalability (Semantic Web technologies) Future Work: integration of further features and ontologies extension of SWORE upper ontology Steffen Lohmann, Thomas Riechert
  • 14.
    Thank Th k youf your attention. for tt ti Steffen Lohmann, Thomas Riechert