Modeling for Semantic Interoperability - PowerPoint PPT Presentation

1 / 34
About This Presentation
Title:

Modeling for Semantic Interoperability

Description:

Constraint 6: Association End Navigability. Direction of association must be ... Association end navigability. Each class and attribute must have a description ... – PowerPoint PPT presentation

Number of Views:17
Avg rating:3.0/5.0
Slides: 35
Provided by: cabigN
Category:

less

Transcript and Presenter's Notes

Title: Modeling for Semantic Interoperability


1
Modeling for Semantic Interoperability
  • Vocabularies and Common Data ElementsCross-cuttin
    g WorkspaceFace-to-Face Meeting
  • June 16-17, 2005
  • Nafis Zebarjadi zebarjadin_at_saic.com

2
Agenda
  • Creating the Logical Model
  • Naming Best Practices
  • Semantic Connector

3
Learning Objectives
  • Upon completion of this session, you will be able
    to
  • Explain modeling constraints imposed by caCORE
    SDK tools
  • Analyze a UML model and correct potential
    problems
  • Apply best practices for naming domain
    objects/attributes
  • Generate a valid XMI file for use by SDK tools
  • Describe the semantic connector workflow
  • Discuss the various parts of a semantic connector
    report

4
Creating the Logical Model
5
Creating the Logical Model
  • Class diagram models target domain
  • Logical model is basis for semantic integration
  • Also used to generate caCORE-like system
  • Focus on attributes and relationships of domain
    objects

6
Creating the Logical Model
  • caCORE framework does NOT constrain domain
    modeling
  • Constraints are imposed by SDK transformation
    tools
  • User must specify desired packages for code
    generation
  • Provides flexibility in modeling
  • Enables evolutionary development
  • Constraints ensure
  • Completeness of model
  • Correct code generation
  • Ability to perform semantic integration

7
Creating the Logical Model
  • Constraint 1 Allowable UML Elements
  • Model can contain any element, BUT
  • Only class elements recognized by SDK tools
  • Classes may contain both attributes and
    operations
  • Operations will be disregarded
  • Attributes should be typed

8
Creating the Logical Model
  • Constraint 2 Allowable Relationships
  • UML Loader registers
  • association relationships
  • inheritance relationships (generalizations)
  • Aggregations and compositions
  • allowed in model
  • treated same as simple associations

9
Creating the Logical Model
  • Constraint 3 Attribute Types
  • Attribute types must be Java primitive data types
  • Complex types should be modeled as associations
  • Enumerated lists not supported by UML Loader
  • Recommendation
  • Define Java primitives in model
  • Note enumerated value domains

10
Creating the Logical Model
  • Constraint 3 Attribute Types (continued)

11
Creating the Logical Model
  • Constraint 4 Association End Role Names
  • Association ends must be given a role name
  • Indicates role of objects on either end
  • Also used to generate method names by SDK
  • Naming convention
  • Use associated class name
  • If multiplicity gt 1, append Collection
  • What is best practice?

12
Creating the Logical Model
  • Constraint 5 Association End Multiplicity
  • Multiplicity must be explicitly defined
  • Determines use of collections as necessary
  • Constraint 6 Association End Navigability
  • Direction of association must be explicitly
    defined
  • Determines visibility of related objects

13
Creating the Logical Model
  • Example Associations (Constraints 4, 5, 6)

14
Creating the Logical Model
  • Constraint 7 Description
  • ALL classes and attributes need description
  • Good practice
  • Required for semantic interoperability
  • Method of description varies with modeling tool

15
Creating the Logical Model
  • Constraint 8 Logical Model Package
  • Elements must reside in Logical Model package
  • Semantic Connector will ignore all other packages

16
Creating the Logical Model
  • Review SDK Modeling Constraints
  • Only UML class
  • Associations generalizations
  • Attribute types must be Java primitive data types
  • Each association end must be given a name
  • Association end multiplicity
  • Association end navigability
  • Each class and attribute must have a description
  • Model must exist in Logical Model
  • Review SDK Modeling Constraints
  • Only UML ____ elements are recognized
  • __________ and ____________ are registered by
    UML Loader
  • Attribute types must be ____________________
  • Each association end must be given a _____
  • Association end ________ must be specified
  • Association end _________ must be specified
  • Each class and attribute must have a _________
  • Model must exist in ____________ package

17
Naming Best Practices
18
Naming Best Practices
  • Be Consistent!
  • Choose a convention and use it throughout your
    models and, if possible, across the entire
    organization.

19
Naming Best Practices
  • Adopt a case convention
  • For example
  • UpperCamelCase for ClassNamelowerCamelCase for
    attributeNameUNDERLINED_CAPS for CONSTANT_NAME

20
Naming Best Practices
  • Avoid using class identifiers in attribute names
  • Use id, name instead of geneId, chromosomeName

21
Naming Best Practices
  • Avoid using abbreviations and acronyms
  • Use DatabaseReference instead of DbRef
  • BUT its okay to use id instead of
    identifier,SNP instead of SingleNucleotidePolymor
    phism
  • (Be smart!)

22
Naming Best Practices
  • Avoid technical jargon
  • Use Microarray instead of Chip

23
Naming Best Practices
  • Use Singular/Plural Names as Appropriate
  • Class and attribute names are ALWAYS
    singularGene instead of Genes, location instead
    of locations
  • Add Collection to association end names when
    multiplicity gt 10..1 location, gene0..
    taxonCollection

24
Naming Best Practices
  • Review
  • ___________
  • Adopt a ____ convention
  • Avoid using ____ identifiers in attribute ______
  • ___________ and ________ should be avoided
  • Avoid technical _____
  • _____ pluralize class and attribute names
  • Add _________ to association ends with
    multiplicity gt 1
  • Review
  • Be consistent!
  • Adopt a case
  • Avoid using class
    names
  • Abbreviations acronyms
  • Avoid technical jargon
  • Never
  • Add Collection

25
Semantic Connection
26
Running the Semantic Connector
  • Submit the annotated XMI file to NCICB
  • To NCICB_at_pop.nci.nih.gov
  • Include For semantic connection in the subject
    line
  • Your model will be run through the Semantic
    Connector
  • A semantic connector report will be generated
  • Comma-separated file (CSV)
  • Relates terms from diagram to EVS concepts
  • Report will be curated, verified and sent to you
    for approval and submission for loading

27
Semantic Connector Workflow
?
?
?
?
28
Generating XMI for Semantic Interoperability
  • Requirements for XMI file
  • XMI 1.1
  • UML 1.3
  • Unisys/Rose extensions
  • Export tagged values
  • Include Logical Model package
  • Exclude diagrams

29
Semantic Connector Workflow
?
?
?
?
30
Semantic Connector Report
  • Semantic Connector Report BEFORE Human
    Verification

31
Semantic Connector Report
  • Semantic Connector Report AFTER Human
    Verification

32
Annotated Model
33
Questions?
34
Further Reading
  • caCORE SDK Programmers Guide
  • ftp//ftp1.nci.nih.gov/pub/cacore/SDK/caCORE_SDK1.
    0_Programmers_Guide.pdf
  • Chapter 5 Generating a caCORE-like System
  • XMI Page at Object Management Group (OMG)
  • http//www.omg.org/technology/documents/formal/xmi
    .htm
  • Introduction to XMI
  • Official specifications
Write a Comment
User Comments (0)
About PowerShow.com