1 / 33

TopQuadrant Metrics and QA Support

TopQuadrant Metrics and QA Support TopBraid Suite Supporting the Complete Semantic Application Lifecycle. Metrics Agenda. Kinds of Metrics Approach to Metrics Model Metrics Class Metrics Property Metrics Other QA Support Conclusion. Kinds of Metrics. Models. Coupling Compliance

Download Presentation

TopQuadrant Metrics and QA Support

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. TopQuadrant Metrics and QA Support TopBraid Suite Supporting the Complete Semantic Application Lifecycle

  2. Metrics Agenda • Kinds of Metrics • Approach to Metrics • Model Metrics • Class Metrics • Property Metrics • Other QA Support • Conclusion

  3. Kinds of Metrics Models Coupling Compliance Complexity Correctness Cohesion Consistency Classes of Properties Axioms

  4. Models and Namespaces:NASA Ontologies • Enterprise • Information • Technology • Structure, • Electrical, • Hydraulic, • Thermal, • … • Lifecycle • Social • Competencies • Critical Skills • Human Organizational Risks

  5. Translation of NIEM XML Schemas to OWL NIEM XSD Schemas NIEM OWL Ontologies Import into TopBraid Composer

  6. NIEM Person (Proto) OWL Model To address reusability, the NIEM Person was re-factored into individual ‘Details’ classes.

  7. Metrics on the NIEM OWL Model SELECT ?class ?restrictionCount WHERE { ?class a owl:Class . LET ( ?restrictionCount := smf:countResults( "SELECT DISTINCT ?property WHERE { ?class rdfs:subClassOf ?restriction . ?restriction a owl:Restriction . ?restriction owl:onProperty ?property }" )) }

  8. Refactoring of NIEM Person into an OWL Model with reusable Concepts (person:Details) Depending on the context of use, concepts describing different details about a person can be selected

  9. Approach to Metrics • User-Definable • Extensible • Flexible Reporting • Model-Based • Rule-Based

  10. Model Metrics - 1 • Namespaces versus Named Graphs • Model-Based • Rule-Based • Flexible Reporting

  11. NASA CxDA:Importance of Data Architecture

  12. Model Metrics - 2 • Class Metrics for Number of: • Classes (NoC) • Leaf Classes (NoLC) • Root Classes (NoRC) • Superclasses (NoSpC) • Subclasses (NoSbC) • Classes with Equivalent Class Expressions (NoEqC) • Classes with ‘HasValue’ restriction Axioms (NoHvR) • Average Depth of Inheritance (AvDoI) • Max Depth of Inheritance (MxDoI)

  13. Metrics for Individual Models OARS - Ontology Architecture Requirements Specification Ontology UC - Use Case Ontology

  14. Model Metrics - 3 • Property Metrics for Number of: • Datatype Properties (NoDtP) • Object Properties (NoOP) • Annotation Properties (NoAP) • Ratio Metrics for • Specialization Ratio (=NoSbC/NoSpC) • Reuse Ratio (=NoSbC/NoC)

  15. Model Metrics Examples - 1 A C B F G E D I H

  16. TopBraid Metrics Approach is Model-Based SPIN Construct Rules are used to generate Metric Triples for the Metrics Model – an ontology called ‘oqa.owl’

  17. TopBraid OQA:Namespace Metrics ‘oqa:NamespaceMetricRow’ holds metrics for a given namespace

  18. TopBraid Metrics Approach is Model-Based SPIN Construct Rules are used to generate Metric Triples for the Metrics Model – an ontology called ‘oqa.owl’

  19. SPIN Functions enable Reusable Model Rules SPIN Construct Rules are used to generate Metric Triples for the Metrics Model – an ontology called ‘oqa.owl’

  20. Class Metrics • Property Metrics for Number of: • Datatype Properties (NoDtP) • Object Properties (NoOP) • Annotation Properties (NoAP) • Axiom Metrics for Number of: • Equivalent Class • Has Value Restrictions

  21. TopBraid Class Metrics SPIN Construct Rules are used to generate Metric Triples for the Metrics Model – an ontology called ‘oqa.owl’

  22. SPARQLMotion Script for Metrics Generation Import the OARS Ontology to run metrics over it. Import System ontology Get the JSP Script for the report Run the SPIN Engine Run the JSP Script Export the HTML Report

  23. Class Metrics Example: OARSOntology Architecture Requirements Specification

  24. JSP Metrics Report Sample • <body> • <h2>Ontology Models Report</h2> • <table class="metricTable" width="800" align="center"> • <tr><td class="cellHead">NoC</td><td class="cellHead">NoEqC</td><td class="cellHead">NoHvR</td><td class="cellHead">NoDtP</td><td class="cellHead">NoOP</td> • <td class="cellHead">NoAP</td><td class="cellHead">NoRC</td><td class="cellHead">NoLC</td> • <td class="cellHead">NoSbC</td><td class="cellHead">NoSpC</td><td class="cellHead">RaSp</td></tr> • <sparql:select var="mReport"> • SELECT * • WHERE { • ?report a oqa:ModelMetricsReport . • OPTIONAL {?report oqa:classes ?classes } . • OPTIONAL {?report oqa:annotationProperties ?aprops } . • OPTIONAL {?report oqa:objectProperties ?oprops } . • OPTIONAL {?report oqa:datatypeProperties ?dprops } . • OPTIONAL {?report oqa:rootclasses ?rootclasses } . • OPTIONAL {?report oqa:leafclasses ?leafclasses } . • OPTIONAL {?report oqa:subclasses ?subclasses } . • OPTIONAL {?report oqa:superclasses ?superclasses } . • OPTIONAL {?report oqa:specializationRatio ?ratioraw . • LET (?decimal := smf:indexOf(?ratioraw, ".")) . • LET (?ratio := smf:subString(?ratioraw, 0, (?decimal+4)))} . • OPTIONAL {?report oqa:classesWithEquivalentClassExpressions ?equivClass} . • OPTIONAL {?report oqa:classesWithHasValueRestrictions ?clsHasValue } . • } • </sparql:select> • <c:forEach items="${mReport.rows}" var="modelRow"> • <tr> • <td class="cell"><sparql:out node="${modelRow.classes}" /></td> • <td class="cell"><sparql:out node="${modelRow.equivClass}" /></td> • <td class="cell"><sparql:out node="${modelRow.clsHasValue}" /></td> • <td class="cell"><sparql:out node="${modelRow.dprops}" /></td> • <td class="cell"><sparql:out node="${modelRow.oprops}" /></td> • <td class="cell"><sparql:out node="${modelRow.aprops}" /></td> • <td class="cell"><sparql:out node="${modelRow.rootclasses}" /></td> • <td class="cell"><sparql:out node="${modelRow.leafclasses}" /></td> • <td class="cell"><sparql:out node="${modelRow.subclasses}" /></td> • <td class="cell"><sparql:out node="${modelRow.superclasses}" /></td> • <td class="cell"><sparql:out node="${modelRow.ratio}" /></td> • </tr> • </c:forEach> • </table> Embedded SPARQL query Embedded SPARQL query

  25. Property Metrics • Semantic Weight • Occurrences of properties on Classes

  26. Other QA Capabilities • Model Integrity • Missing Constructs • Model Dependencies • Differences across Versions

  27. Demos

  28. Thank You Ralph Hodgson E-mail: rhodgson@topquadrant.com

  29. Backup

  30. Refactoring of NIEM Person into a Model with reusable Concepts (person:AppearanceDetails) A Person’s ‘Appearance Details’ will be needed for criminal investigations.

  31. Refactoring of NIEM Person into a Model with reusable Concepts (person:ConditionDetails) A Person’s ‘Condition Details’ will be needed for both driving incidents and criminal investigations.

  32. Refactoring of NIEM Person into a Model with reusable Concepts (person:SocialDetails) A Person’s ‘Social Details’ will be needed for change of status, such as naturalization.

  33. Refactoring of NIEM Driving Incident into a Model showing reusable Concepts The NIEM Driving Incident concept is also being re-factored. The use of ‘Augmentation’ classes simplifies the construction of UBL documents.

More Related