1 / 21

Using the Semantic Web to Construct an Ontology-Based Repository for Software Patterns

This overview discusses the use of Semantic Web concepts to organize software patterns and create a collective knowledge structure for developers. It also explores the challenges and approaches to delivering and tailoring patterns in the software development process.

pcuevas
Download Presentation

Using the Semantic Web to Construct an Ontology-Based Repository for Software Patterns

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Using the Semantic Web to Construct an Ontology-Based Repository for Software Patterns Scott Henninger Computer Science and Engineering University of Nebraska-Lincoln

  2. Overview • Patterns as a knowledge representation and dissemination medium • problem: very informal • problem: no formal way to represent between patterns • pattern language is lacking • using Semantic Web concepts to organize patterns • Combining rule-based and semantic web representations • rules used to choose appropriate patterns • pattern relationships make inferences on related patterns, other artifacts developer may need/want • Community-based ontology construction • building collective knowledge structures ASE PC Workshop

  3. Pattern Proliferation • Many different types of patterns • design patterns (well beyond original GOF) • usability patterns (growing following) • organizational patterns (projects, etc.) • Alexander would be pleased • original vision was that patterns are combined to construct a complete solution • hence a pattern “language” • Which one to use when? ASE PC Workshop

  4. Our Approach • Many researchers have created usability patterns, few focus on how to make patterns usable • …for software developers • generalized for repeatability, reaching a widespread audience • do abstract patterns really help? • an unexplored empirical question • Weak vs. Strong Methods [Vessey, Glass, CACM, 98] • specific examples shown to be most useful for Guideline usability • General hypothesis: Need to support a range of conceptual levels • brings a new set of challenges • How do we keep track of all those patterns? • How do we find the “right” one (or more)? • How do we know what the software developer’s needs are? ASE PC Workshop

  5. Our Approach (con’t) • Knowledge delivery (part 1) • developers don’t always know an applicable pattern exists • create “applicability rules” for patterns • integrate with a workflow/software process tool • related to agent-based approaches • Knowledge Delivery (part 2) • patterns are delivered to user • use semantic relationships to suggest/require other patterns • where implementations exist, use them • Capture experience-based knowledge • capture the context in which resources are applicable • part of the design and development process ASE PC Workshop

  6. BORE • Building an Organizational Repository of Experiences • rule-based tailoring of software development activities • deliver knowledge through process ASE PC Workshop

  7. Tailoring Rules • Add tasks resources to project, including patterns ASE PC Workshop

  8. resource modification resource modification rule modification rule modification external sources of modification Situated Process Evolution ASE PC Workshop

  9. Displaying Patterns ASE PC Workshop

  10. Patterns Trigger Semantic Web • Search for related patterns ASE PC Workshop

  11. Semantic Web • Really a concept • machine interpretable representations • define “semantic” content • many competing languages, techniques • mostly in the research stage • in terms of both ontology languages and agents Semantic Web architecture ASE PC Workshop

  12. Agents Annotated Web Pages Web Page Rendering Meta-Data (RDFS) Decision Support System XSL File Operational View of Semantic Web Ontology Construction Tool Ontologies ASE PC Workshop

  13. RDF and RDFS • RDF (Resource Description Framework) • based on XML • model for representing things (objects) on the Web • RDF description is a list of triples consisting of • an object (resource in RDF terminology) • an attribute (property in RDF terminology) • a value (a resource or text) • RDFS (RDF Schema) • defines meta-data primitives for creating ontologies • concepts and relationships between them • allows creation of a hierarchy of classes • allows multiple inheritance • instances of classes are placed on the Web ASE PC Workshop

  14. Example RDF File ASE PC Workshop

  15. Ontology Meta-Data (RDFS) ASE PC Workshop

  16. Instances (RDF) ASE PC Workshop

  17. Knowledge Representation • Using Semantic Web to create ontologies • Web-based languages for describing taxonomies, relationships • people choose the appropriate class for their pattern • use “semantic” tags to markup the pattern • agents are created to make inferences about patterns • our agent is BORE – you can create your own • technology still a bit immature • but usable with some effort • Use the Web as a dissemination medium • world-wide accessibility can facilitate group discussion • especially when geographically dispersed (such as this group) • open source frameworks • “drawing on collective intelligence” ASE PC Workshop

  18. Adding New Instances • Flyover shows RDFS attributes ASE PC Workshop

  19. Assign Values to Attributes • Based on schema values • interface to avoid RDF syntax… ASE PC Workshop

  20. Current Status • Still in early phases of development • technology and tools are not mature • Beta version by end of summer • seed with some existing patterns on Web • author permission or pointer to book/paper • invite people to add/modify patterns • establish a community of usability pattern developers • …that start using the Semantic Web • proof-of-concept prototype for researching pattern issues • analyze what patterns are needed for better coverage, etc. • broaden to other pattern communities • http://cse-ferg41.unl.edu/bore.html ASE PC Workshop

  21. Next Steps • DAML+OIL will replace RDF • using Protégé – an ontology building tool • plug-in for many languages, including RDF and DAML • Construct a validation process • experts in usability areas validate structure and instances • ala Answer Garden, Experts Exchange, etc. • mechanisms for argumentation and consensus • argumentation: defines context • Darwinian natural selection (use in project activities) ASE PC Workshop

More Related