linked open architectures for open government integrated knowledge for and about the enterprise cory...
TRANSCRIPT
Linked Open Architectures for Linked Open Architectures for Open GovernmentOpen Government
Integrated knowledge for and Integrated knowledge for and about the enterpriseabout the enterprise
Cory Casanave, PresidentModel Driven Solutions
Cory-c (at) ModelDriven (dot) comDC Semantic Web Meetup November 2009
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
Fragmented KnowledgeFragmented Knowledge
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
One Unified Knowledge One Unified Knowledge BaseBase
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
Integrated as Part of the Global Integrated as Part of the Global Linked Open Data CloudLinked Open Data Cloud
Linked and Connected Knowledge has more valueTo your organization, to your supply chain and stakeholders
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
Why Linked Open Data Why Linked Open Data (LoD)? (LoD)?
Semantic Web and LoD CapabilitiesSemantic Web and LoD Capabilities A standards based “internet data model” using “RDF” & XMLA standards based “internet data model” using “RDF” & XML
Machine usable data, not just web pagesMachine usable data, not just web pages Anyone can say anything about anything, anywhereAnyone can say anything about anything, anywhere
Data usages that the data providers never anticipatedData usages that the data providers never anticipated Connect the dots between data setsConnect the dots between data sets
Existing standards (W3C, Etc), tools and communities Existing standards (W3C, Etc), tools and communities Flexible enough to adapt to almost any form of dataFlexible enough to adapt to almost any form of data Information remains managed at its sourceInformation remains managed at its source Queries and other analysis can combine arbitrary sets of data, Queries and other analysis can combine arbitrary sets of data,
anywhere and owned by anyone (with appropriate rights)anywhere and owned by anyone (with appropriate rights) Common and diverse vocabularies can be used together and Common and diverse vocabularies can be used together and
relatedrelated It isn’t perfect but;It isn’t perfect but;
What else do we have today with this capability set?What else do we have today with this capability set?
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
Architectures as DataArchitectures as Data
Architectures are critical government data assetsArchitectures are critical government data assets Business models, process models, service models, information Business models, process models, service models, information
models, rules, metadata, ontologies, technology models, models, rules, metadata, ontologies, technology models, schemaschema
There is an enormous asset in this existing architectural dataThere is an enormous asset in this existing architectural data Architectures describe government, how it works, its Architectures describe government, how it works, its
resources and servicesresources and services Architectures make other data more valuable – describing Architectures make other data more valuable – describing
data or how it was produceddata or how it was produced The most valuable architectures are models with a formal The most valuable architectures are models with a formal
meta model or schemameta model or schema Currently – most models are not web data accessible, they Currently – most models are not web data accessible, they
are trapped in tools and files. Models are not linkable.are trapped in tools and files. Models are not linkable. Viewed another way, Viewed another way, architecture models are just dataarchitecture models are just data – –
data to be federated, analyzed, queried, linked and mashed data to be federated, analyzed, queried, linked and mashed up – data to be published as LoDup – data to be published as LoD
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
What do we mean by What do we mean by Architectures?Architectures?
Anything that describes how things were, are our should be in a Anything that describes how things were, are our should be in a structured vocabulary, e.g.,structured vocabulary, e.g.,
Unified Model Language (UML)Unified Model Language (UML) Web Ontology Language (OWL)Web Ontology Language (OWL) Business Process Modeling Language (BPMN)Business Process Modeling Language (BPMN) DoD Architecture Framework (DoDAF)DoD Architecture Framework (DoDAF) Federal Enterprise Architecture (FEA)Federal Enterprise Architecture (FEA) Systems Engineering (SySML)Systems Engineering (SySML) Value ChainsValue Chains Business PlansBusiness Plans Business Rules (SBVR)Business Rules (SBVR) Entity Relational Models (E/R)Entity Relational Models (E/R) SQL Schema (SQL)SQL Schema (SQL) XML Schema (XSD)XML Schema (XSD) Web Services Descriptions (WSDL)Web Services Descriptions (WSDL) Common Logic (CL)Common Logic (CL) Java or C APIsJava or C APIs Etc, Etc. Etc.Etc, Etc. Etc.
All of these forms of expression are used to describe related aspects of our enterprise, information and systems.Up to now we have not had a good way to look at them together.
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
Stakeholders deal with a plethora Stakeholders deal with a plethora of data, systems, policies and of data, systems, policies and
guidance guidance
DoD Example
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
Open Architectures Open Architectures for Open Governmentfor Open Government
TransparencyTransparency Transparency means visibility of information, this information Transparency means visibility of information, this information
includes the processes, resources, services, data descriptions includes the processes, resources, services, data descriptions and policies of government. This information is captured in and policies of government. This information is captured in various kinds of architecture, the most useful being various kinds of architecture, the most useful being architectures as modelsarchitectures as models
CollaborationCollaboration Collaboration requires an understanding between independent Collaboration requires an understanding between independent
parties, we have to understand what each has to offer in a parties, we have to understand what each has to offer in a common vocabulary and the rules of engagement – again, common vocabulary and the rules of engagement – again, captured in architecturescaptured in architectures
ParticipationParticipation Participation is transparency with collaboration. Moving Participation is transparency with collaboration. Moving
beyond human to human networking will require architectural beyond human to human networking will require architectural data about how to participatedata about how to participate
You can only leverage what you understand!
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
Current State: Architectures Current State: Architectures Models Are Trapped in Models Are Trapped in
StovepipesStovepipes
Information is unconnected, redundant and not usable outside its source
But, model files are not web assets and hard to connect
Architecture Models hold our enterprise Architectures, business processes and services, technology models,
SOA architectures, data schema and more
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
Architectures Published into Architectures Published into the Data Cloudthe Data Cloud
Visible architectures have more value!
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
Goal: Linked Open Goal: Linked Open ArchitecturesArchitectures
Federated Architectures Promotes Collaboration and Shared Resources
ServicesProcesses Data Policies
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
Semantically Federating Semantically Federating Multiple Viewpoints and Multiple Viewpoints and
StandardsStandards
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
Stakeholder ViewpointsStakeholder Viewpoints
Different stakeholders need
different views of the same information
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
Driven by BusinessDriven by Business
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
Driving Executable SystemsDriving Executable Systems
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
High Level PlanHigh Level Plan
Publish architecture models as LoD, in their Publish architecture models as LoD, in their original vocabulariesoriginal vocabularies
Provide Basic Capabilities to Query, Link and View Provide Basic Capabilities to Query, Link and View these Modelsthese Models
Roadmap to enhance valueRoadmap to enhance value Adopt & develop well defined “semantic hub” models, Adopt & develop well defined “semantic hub” models,
vocabularies of “shared concepts”, and use RULES to map vocabularies of “shared concepts”, and use RULES to map the raw architecture data to these hubs as “pivot points”the raw architecture data to these hubs as “pivot points”
Define viewpoints tuned to stakeholder needsDefine viewpoints tuned to stakeholder needs Develop various tools and techniques for querying, Develop various tools and techniques for querying,
viewing, federating and analyzing the data for various viewing, federating and analyzing the data for various stakeholders to enable visibility and collaborationstakeholders to enable visibility and collaboration
Provide for external comment and input for participationProvide for external comment and input for participation
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
Open Government Open Government StandardsStandards
Government Domain Task Force
Open Government Workgroup
http://gov.omg.org/gov-wg-opengov.htm
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
Architecture Model Architecture Model StandardsStandards
Object Management Group (OMG) has adopted many of the Object Management Group (OMG) has adopted many of the architecture modeling standardsarchitecture modeling standards XML Model Interchange (XML Model Interchange (XMIXMI) – Data Interchange for models ) – Data Interchange for models
(E.G. Eclipse EMF)(E.G. Eclipse EMF) Unified Modeling Language (UML)Unified Modeling Language (UML) Business Process Modeling Notation (BPMN)Business Process Modeling Notation (BPMN) Service Oriented Modeling Language (SoaML)Service Oriented Modeling Language (SoaML) Etc…Etc…
There is an enormous asset in these modeling conceptsThere is an enormous asset in these modeling concepts All OMG and many other model tools interchange via All OMG and many other model tools interchange via XMIXMI
Goal 1 – Publish any/all XMI based models as web Linked Goal 1 – Publish any/all XMI based models as web Linked Open DataOpen Data All UML, BPMN, SoaML models become linked open data assetsAll UML, BPMN, SoaML models become linked open data assets
Architecture Publishing Architecture Publishing ExampleExample
UML Models as LoDUML Models as LoD
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
UML Model as DiagramsUML Model as Diagrams
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
UML Model as Data (In XMI)UML Model as Data (In XMI)
<packagedElement xmi:type="uml:Class" xmi:id="_16_0_20ea04e0_1233085008046_755909_1129" name="Person"><ownedAttribute xmi:id="_16_0_20ea04e0_1233086797281_712895_1295" name="SSN" visibility="public"> <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/> <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_16_0_20ea04e0_1233086815703_436260_1298" name="" value="1"/> <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_16_0_20ea04e0_1233086815703_523919_1297" name=""/> </ownedAttribute> <ownedAttribute xmi:id="_16_0_20ea04e0_1233085716656_902161_1238" name="birth date" visibility="public" redefinedProperty="_16_0_20ea04e0_1233085218109_95685_1220"> <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/> </ownedAttribute> </packagedElement>
XMI for Person (In terms of UML)
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
UML Model as Data (In RDF)UML Model as Data (In RDF)
<packagedElement xmi:type="uml:Class" xmi:id="_16_0_20ea04e0_1233085008046_755909_1129" name="Person"><ownedAttribute xmi:id="_16_0_20ea04e0_1233086797281_712895_1295" name="SSN" visibility="public"> <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/> <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_16_0_20ea04e0_1233086815703_436260_1298" name="" value="1"/> <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_16_0_20ea04e0_1233086815703_523919_1297" name=""/> </ownedAttribute> <ownedAttribute xmi:id="_16_0_20ea04e0_1233085716656_902161_1238" name="birth date" visibility="public" redefinedProperty="_16_0_20ea04e0_1233085218109_95685_1220"> <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/> </ownedAttribute> </packagedElement>
XMI for Person expressed in UML terms
<umlrdf:Package.packagedElement> <umlrdf:Class rdf:about="#_16_0_20ea04e0_1233085008046_755909_1129"> <rdfs:label>Person</rdfs:label>
<umlrdf:StructuredClassifier.ownedAttribute> <umlrdf:Property rdf:about="#_16_0_20ea04e0_1233086797281_712895_1295"> <rdfs:label>SSN</rdfs:label> <umlrdf:NamedElement.visibility>public</umlrdf:NamedElement.visibility> <umlrdf:TypedElement.type rdf:resource="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/> <umlrdf:MultiplicityElement.upperValue> <umlrdf:LiteralUnlimitedNatural rdf:about="#_16_0_20ea04e0_1233086815703_436260_1298"> <rdfs:label/> <umlrdf:LiteralUnlimitedNatural.value>1</umlrdf:LiteralUnlimitedNatural.value> <umlrdf:Element.owner xmlns:ecorerdf="http://www.eclipse.org/emf/2002/Ecore#" rdf:resource="#_16_0_20ea04e0_1233086797281_712895_1295"/> </umlrdf:LiteralUnlimitedNatural> </umlrdf:MultiplicityElement.upperValue> <umlrdf:MultiplicityElement.lowerValue> <umlrdf:LiteralInteger rdf:about="#_16_0_20ea04e0_1233086815703_523919_1297"> <rdfs:label/> <umlrdf:Element.owner xmlns:ecorerdf="http://www.eclipse.org/emf/2002/Ecore#" rdf:resource="#_16_0_20ea04e0_1233086797281_712895_1295"/> </umlrdf:LiteralInteger> </umlrdf:MultiplicityElement.lowerValue> <umlrdf:Element.owner xmlns:ecorerdf="http://www.eclipse.org/emf/2002/Ecore#" rdf:resource="#_16_0_20ea04e0_1233085008046_755909_1129"/> </umlrdf:Property> </umlrdf:StructuredClassifier.ownedAttribute> <umlrdf:StructuredClassifier.ownedAttribute> <umlrdf:Property rdf:about="#_16_0_20ea04e0_1233085716656_902161_1238"> <rdfs:label>birth date</rdfs:label> <umlrdf:NamedElement.visibility>public</umlrdf:NamedElement.visibility> <umlrdf:Property.redefinedProperty rdf:resource="#_16_0_20ea04e0_1233085218109_95685_1220"/> <umlrdf:TypedElement.type rdf:resource="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/> <umlrdf:Element.owner xmlns:ecorerdf="http://www.eclipse.org/emf/2002/Ecore#" rdf:resource="#_16_0_20ea04e0_1233085008046_755909_1129"/> </umlrdf:Property> </umlrdf:StructuredClassifier.ownedAttribute> <umlrdf:Element.owner xmlns:ecorerdf="http://www.eclipse.org/emf/2002/Ecore#" rdf:resource="#_16_0_20ea04e0_1233083439203_181145_396"/> </umlrdf:Class> </umlrdf:Package.packagedElement>
RDF-XML for Person expressed in UML terms
Not intended to be read
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
RDF Repository (E.G. Anzo)
Publishing Architecture Models Publishing Architecture Models into the Data Cloudinto the Data Cloud
XMI BasedModels
Enterprise Knowledge Base(EKB)
Check In
(Subversion)
SPARQLEndpoint
RDF-LODResource
Open GovernmentData Cloud
StakeholderViewpoint(E.G. DRM)
(UML, BPMN, Etc)
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
Structural & Semantic Structural & Semantic MappingMapping
Structural MappingStructural Mapping Converts the data from source forms to an isomorphic representation Converts the data from source forms to an isomorphic representation
in RDFin RDF The original vocabulary and semantics are retainedThe original vocabulary and semantics are retained There is no data loss or interpretation, can be bi-directionalThere is no data loss or interpretation, can be bi-directional Simpler to build adapters - fully automatedSimpler to build adapters - fully automated But, data sources in different vocabularies is not integratedBut, data sources in different vocabularies is not integrated Consistent with LOD theme – just get the raw data, nowConsistent with LOD theme – just get the raw data, now
Semantic Mapping & LinkingSemantic Mapping & Linking Representations are linked between conceptual systems using different Representations are linked between conceptual systems using different
semantics and vocabulariessemantics and vocabularies Integrating information from multiple sourcesIntegrating information from multiple sources Requires an “interpretation” of the meaning of the semantics and there Requires an “interpretation” of the meaning of the semantics and there
can be data losscan be data loss Building adapters requires work for each kind of model or dataBuilding adapters requires work for each kind of model or data May be point-point or via shared concept “hubs”May be point-point or via shared concept “hubs” Hubs can be OWL, DoDAF or shared concept ontologiesHubs can be OWL, DoDAF or shared concept ontologies
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
Enterprise Knowledge BaseRDF Linked Open Data
Models in RDF using original vocabulary
EKB Structural & Semantic EKB Structural & Semantic MappingMapping
DoDAF-1 DoDAF-2
UML
XMLSchema
SQLSchema
WSDL
BPMN
E/R
DoDAF-1 DoDAF-2
UML
XMLSchema
SQLSchema
WSDL
BPMN
E/R
Models in their Native formats
Shared Concept
Hubs
Process
Services
Information
Rules
Goals
StructuralMapping
SemanticLinking
Both the isomorphic structural mappings and the normalizedshared concepts are maintained in the knowledge base
Architecture Data Architecture Data Integration ExamplesIntegration Examples
How linking architectures with How linking architectures with each other and with external each other and with external
data solves problemsdata solves problems
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
Different models may represent the Different models may represent the same enterprise – even the same same enterprise – even the same
informationinformationBut there are
usually structural
differences
How do we link these concepts?
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
Two ways to say the same Two ways to say the same thingthing
UML uses an arrow to say that a branch is a rental organization unit
E/R Uses “Nesting” to say that a branch is a rental organization unit
How do we know these both say
the same thing?
How do we know these both say
the same thing?
This becomes a “shared concept”
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
Federating Models & Data with Hub Federating Models & Data with Hub Ontologies & Mapping (Bridge Ontologies & Mapping (Bridge
Ontologies)Ontologies)
The World (Business & Technical Systems)
E/R RDF Models
E/R “RDF Schema”
MOF “Meta RDF Schema”
Uses Vocabulary
Uses Vocabulary
Models
UMLRDF Models
UML “RDF Schema”
MOF “Meta RDF Schema”
Uses Vocabulary
Uses Vocabulary
Models
Federated ModelsFederated Data
Shared ConceptHub Ontology
Shared ConceptMeta Ontology
Uses Vocabulary
Models
Uses Vocabulary
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
Enterprise Knowledge Base
Configuration MgmtEclipseTortoise
Web-UIUser Views
FormsBrowseQuery
File Get/Put
Eclipse IDE
Sub
vers
ion
Inte
rfac
e Artifact Repository
Web UI Server
Transformation Example Transformation Example ((BPMN/UMLBPMN/UML))
Artifact / KB Integration
XM
L “R
est”
In
terf
ace
Knowledge Base
RDF KB
Inference & Rules
Transformation
Eclipse EMF Interface* Semantic Web Interface
BPMN
ProcessModel
BPMNModel
UMLModel
UML
Shared Concepts
Subversion
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
What You Can Do NowWhat You Can Do Now
Join the Open Source EKB ProjectJoin the Open Source EKB Project http://portal.modeldriven.org/project/EKBhttp://portal.modeldriven.org/project/EKB
Locate and Publish Your Architectures or Those of Locate and Publish Your Architectures or Those of Clients (With permission, of course)Clients (With permission, of course) Anything in XMI: UML, BPMN, XSD, FEA, UPDM, SysML, Anything in XMI: UML, BPMN, XSD, FEA, UPDM, SysML,
WSDL, Etc.WSDL, Etc. Note: There may be issues we will need to work throughNote: There may be issues we will need to work through
Create cool clients for the exposed Linked Open Create cool clients for the exposed Linked Open Data – consider making open source on Data – consider making open source on ModelDriven.orgModelDriven.org
Work with the community to link these models, in Work with the community to link these models, in various forms, to shared concept hub ontologiesvarious forms, to shared concept hub ontologies
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
DemoDemo
Using the “Enterprise Knowledge Base”Using the “Enterprise Knowledge Base” Based on open source development by the GSA Based on open source development by the GSA
under the “OsERA” programunder the “OsERA” program Note that this is a proof of concept, not a Note that this is a proof of concept, not a
pretty demopretty demo http://http://portal.modeldriven.orgportal.modeldriven.org/project/EKB/project/EKB
Start with UML ModelStart with UML Model RDF-XML Representation after publicationRDF-XML Representation after publication Browse in RDF RepositoryBrowse in RDF Repository View as Data Reference Model (DRM)View as Data Reference Model (DRM)
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
Summary of Publishing Summary of Publishing ModelsModels
Join Join http://portal.modeldriven.org/project/EKBhttp://portal.modeldriven.org/project/EKB On the demonstration server:On the demonstration server:
http://ekb.modeldriven.org/index.htmlhttp://ekb.modeldriven.org/index.html Request a contributor registrationRequest a contributor registration
Install a “Subversion” clientInstall a “Subversion” client http://tortoisesvn.net/http://tortoisesvn.net/
Based on the URL in the email from registration, do an SVN Based on the URL in the email from registration, do an SVN checkout to an empty directorycheckout to an empty directory
Copy model file(s) into the directoryCopy model file(s) into the directory Do an SVN checkinDo an SVN checkin Look for your model as LOD on the EKB model browserLook for your model as LOD on the EKB model browser
http://ekb.modeldriven.org/modelPro/modelBrowser?http://ekb.modeldriven.org/modelPro/modelBrowser?report=index.htmlreport=index.html
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
ResourcesResources
Open Linked DataOpen Linked Data http://linkeddata.org/http://linkeddata.org/
Semantic Web @ W3CSemantic Web @ W3C http://www.w3.org/2001/sw/http://www.w3.org/2001/sw/
OMG Open Government Working GroupOMG Open Government Working Group http://gov.omg.org/gov-wg-opengov.htmhttp://gov.omg.org/gov-wg-opengov.htm
Wiki for data.gov data in RDF (Jim Hendler)Wiki for data.gov data in RDF (Jim Hendler) http://data-gov.tw.rpi.edu/wiki/Main_Pagehttp://data-gov.tw.rpi.edu/wiki/Main_Page
GAIN Initiative (Open Government, Open Linked Data and Architecture) GAIN Initiative (Open Government, Open Linked Data and Architecture) http://portal.modeldriven.org/project/GAINhttp://portal.modeldriven.org/project/GAIN
Linked Open Architectures DemoLinked Open Architectures Demo http://portal.modeldriven.org/project/EKBhttp://portal.modeldriven.org/project/EKB
Cory Casanave (Presenter)Cory Casanave (Presenter) Cory-c (at) modeldriven (dot com)Cory-c (at) modeldriven (dot com)
Tom Digre (Presenter)Tom Digre (Presenter) Tom-d (at) modeldriven (dot com)Tom-d (at) modeldriven (dot com)
This PresentationThis Presentation http://lib.modeldriven.org/MDLibrary/trunk/Pub/Presentations/MEETUP_OpenGovernmentArchitectures.ppt
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
Open Modeling Community•EKB•ModelPro•GAIN Initiative•fUML
Architecture Services•Service Oriented Architecture•Business Process Modeling•Semantic Web•Enterprise Architecture•Business Architecture•Systems Architecture•Model Driven Architecture
Thank You!Thank You!
http://www.modeldriven.com
Cory CasanaveTom Digre
More DetailsMore Details
Backup SlidesBackup Slides
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
Enterprise Knowledge Base Enterprise Knowledge Base (EKB)(EKB)
Based on work for the GSABased on work for the GSA Open Source eGov Reference Architecture (OSERA)Open Source eGov Reference Architecture (OSERA)
George Thomas & Rick MurphyGeorge Thomas & Rick Murphy Continuing work under ModelDriven.orgContinuing work under ModelDriven.org
Being completed for open source release (In limited alpha Being completed for open source release (In limited alpha release)release)
A public model server is be deployedA public model server is be deployed Check in any model, published as LOD-RDFCheck in any model, published as LOD-RDF
Underlying TechnologiesUnderlying Technologies Anzo RDF RepositoryAnzo RDF Repository Eclipse & Eclipse EMFEclipse & Eclipse EMF OMG XMI & UMLOMG XMI & UML XSLTXSLT
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
OM
G S
tand
ard
XM
I R
epre
sent
atio
n
Mapping Meta Levels & Mapping Meta Levels & OntologiesOntologies
UML Models(I.E. CRR)
The World (Business & Technical Systems)
UML “Meta Model”
MOF “Meta Meta Model”
Uses Vocabulary
Uses Vocabulary
Models
Link
ed O
pen
RD
F R
epre
sent
atio
n
UML RDF Models(I.E. CRR)
UML “RDF Schema”
MOF “Meta RDF Schema”
Uses Vocabulary
Uses Vocabulary
Models
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
Federating Models & Data with Hub Federating Models & Data with Hub Ontologies & Mapping (Bridge Ontologies & Mapping (Bridge
Ontologies)Ontologies)
The World (Business & Technical Systems)
E/R RDF Models
E/R “RDF Schema”
MOF “Meta RDF Schema”
Uses Vocabulary
Uses Vocabulary
Models
UMLRDF Models
UML “RDF Schema”
MOF “Meta RDF Schema”
Uses Vocabulary
Uses Vocabulary
Models
Federated ModelsFederated Data
Shared ConceptHub Ontology
Shared ConceptMeta Ontology
Uses Vocabulary
Models
Uses Vocabulary
Roadmap &Roadmap &Wish ListWish List
The Following are Ideas for Expanding on the The Following are Ideas for Expanding on the Basic EKB, Some are in Process, Some are just Basic EKB, Some are in Process, Some are just
ideasideas
Thoughts on Priority and Approach Is SolicitedThoughts on Priority and Approach Is Solicited
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
Where we are…Where we are…Publishing Models In LoD/RDFPublishing Models In LoD/RDF
What is doesWhat is does There is a very direct structural mapping between the OMG Standard for model There is a very direct structural mapping between the OMG Standard for model
interchange (XMI) and RDF representation of a modelinterchange (XMI) and RDF representation of a model This mapping is isomorphic (no information loss in either direction)This mapping is isomorphic (no information loss in either direction) Any XMI model (UML, BPMN, Etc) can be automatically and isomorphic mapped Any XMI model (UML, BPMN, Etc) can be automatically and isomorphic mapped
to RDF as Linked Open Datato RDF as Linked Open Data Models become part of the open linked data cloudModels become part of the open linked data cloud Everything is mapped, not a subsetEverything is mapped, not a subset
What it doesn’t doWhat it doesn’t do The vocabulary and meta model of the source is retained, this publishes the The vocabulary and meta model of the source is retained, this publishes the
model data as LOD, it does not do a semantic mappingmodel data as LOD, it does not do a semantic mapping Semantic mapping is a separate step – but a step we know how to doSemantic mapping is a separate step – but a step we know how to do It also doesn’t provide cool user interfaces tuned to the stakeholders needs with It also doesn’t provide cool user interfaces tuned to the stakeholders needs with
viewpointsviewpoints It doesn’t provide for provenance or versioning, however some of this is in the It doesn’t provide for provenance or versioning, however some of this is in the
infrastructure capabilityinfrastructure capability It doesn’t provide for an easy to use “information appliance”It doesn’t provide for an easy to use “information appliance”
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
Semantic Mapping & LinkingSemantic Mapping & Linking
GoalGoal Provide the core capability to map between different ontologies Provide the core capability to map between different ontologies
representing the same things using different vocabularies and structuresrepresenting the same things using different vocabularies and structures Provide the capability to project “views” and “viewpoints” of these Provide the capability to project “views” and “viewpoints” of these
vocabularies based on the needs and preference of particular kinds of vocabularies based on the needs and preference of particular kinds of stakeholders. Be able to map to different terminology, data structures stakeholders. Be able to map to different terminology, data structures and visualizationsand visualizations
Provide the capability to make links between architectures “sourced” Provide the capability to make links between architectures “sourced” from these different vocabularies and query/analyze across the entire KB from these different vocabularies and query/analyze across the entire KB in any viewpointin any viewpoint
CapabilityCapability Define how various forms of expression, configurations, shared concept Define how various forms of expression, configurations, shared concept
ontologies and resources are related using mapping and linkingontologies and resources are related using mapping and linking Provide mapping technology, probably built on rules, capable of providing Provide mapping technology, probably built on rules, capable of providing
the connections between these different forms of expression, viewpoints, the connections between these different forms of expression, viewpoints, configurations and shared concept ontologiesconfigurations and shared concept ontologies
Make concept mapping something anyone can doMake concept mapping something anyone can do Integrate mapping, configurations, shared concepts and mapping into the Integrate mapping, configurations, shared concepts and mapping into the
EKB server environmentEKB server environment
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
Views and ViewpointsViews and Viewpoints
Define the concepts of views and viewpointsDefine the concepts of views and viewpoints Define how data structures in support of viewpoints relates Define how data structures in support of viewpoints relates
to ontologies without specific structureto ontologies without specific structure Support structural views that map to “traditional” XMLSupport structural views that map to “traditional” XML Create tooling that provides a simple to use web based Create tooling that provides a simple to use web based
interface for a view with various options to visualize the interface for a view with various options to visualize the view dataview data
Provide “default” user interfaces based on a simple Provide “default” user interfaces based on a simple structural definition of a viewpoint. Allow the user interface structural definition of a viewpoint. Allow the user interface to then be customized based on the users configuration. to then be customized based on the users configuration. Provide for “plugins” that enhance the users experienceProvide for “plugins” that enhance the users experience
Make the UI cool, effective and fun to useMake the UI cool, effective and fun to use
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
Categorization and ContextCategorization and Context
Be able to categorize and understand the Be able to categorize and understand the context of information in the EKBcontext of information in the EKB
Be able to categorize or contextualize Be able to categorize or contextualize anything across any number of dimensionsanything across any number of dimensions
Be able to relate categories and context to Be able to relate categories and context to configurations and viewpointsconfigurations and viewpoints
Use the “publisher’s” resource ID and Use the “publisher’s” resource ID and storage hierarchy as one context, but not storage hierarchy as one context, but not the only onethe only one
Be able to browse resources by categories Be able to browse resources by categories and contextand context
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
Shared Concept OntologiesShared Concept Ontologies
To avoid point-point mapping, provide “hub” ontologies that normalize like To avoid point-point mapping, provide “hub” ontologies that normalize like concepts between different vocabularies and data structures represented in concepts between different vocabularies and data structures represented in RDFRDF
Provide LOD links between the shared concept and external vocabulary Provide LOD links between the shared concept and external vocabulary specific representations of the same concepts. Be able to understand when specific representations of the same concepts. Be able to understand when different resources represent the same thing in different ways.different resources represent the same thing in different ways.
Build tooling to map external (non normalized) models into and out of these Build tooling to map external (non normalized) models into and out of these hubshubs
Provide tools that are able to browse, search and analyze models that have Provide tools that are able to browse, search and analyze models that have been combined in a configuration through the shared concept hubsbeen combined in a configuration through the shared concept hubs
Include concepts forInclude concepts for Information, Services, Processes, Rules, Goals, Resources, Context, Security, Information, Services, Processes, Rules, Goals, Resources, Context, Security,
Metadata, Etc.Metadata, Etc. Consider existing ontologies (such as SKOS) as candidates for hubs. Consider existing ontologies (such as SKOS) as candidates for hubs. Understand where there will be different representations of information about Understand where there will be different representations of information about
the same real-world thing that may be in different forms of expression and the same real-world thing that may be in different forms of expression and sourced from different authorities. Be able to manage and analyze these sourced from different authorities. Be able to manage and analyze these differing opinions about the same thing in a configuration.differing opinions about the same thing in a configuration.
Define a UML profile in which do manage the shared conceptsDefine a UML profile in which do manage the shared concepts
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
Grounding in VocabulariesGrounding in Vocabularies
GoalGoal To be able to use existing resources that define terms and To be able to use existing resources that define terms and
concepts as the “grounding point” for modelsconcepts as the “grounding point” for models Be able to relate independently conceived models using these Be able to relate independently conceived models using these
grounding pointsgrounding points Use these as or to define shared conceptsUse these as or to define shared concepts
CapabilityCapability Be able to use Wordnet, DBPedia and similar resources as Be able to use Wordnet, DBPedia and similar resources as
existing shared concept grounding pointsexisting shared concept grounding points Instead of “typing labels” make it possible to use these Instead of “typing labels” make it possible to use these
existing identified concepts as the names of elementsexisting identified concepts as the names of elements Provide the capability to register and share new identified Provide the capability to register and share new identified
conceptsconcepts Provide the capability to make composite concepts, essentially Provide the capability to make composite concepts, essentially
phrases, out of simpler onesphrases, out of simpler ones
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
Provenance and VersioningProvenance and Versioning
Track the provenance of all information in the EKBTrack the provenance of all information in the EKB Track the versions of all information in the EKB and be able to relate Track the versions of all information in the EKB and be able to relate
versions to specific change made for specific reasons by specific peopleversions to specific change made for specific reasons by specific people For each “fact” (triple or small set of triples), be able to understand the For each “fact” (triple or small set of triples), be able to understand the
history and provenience of that fact even as the facts are seen through history and provenience of that fact even as the facts are seen through various queries, configurations, views and context.various queries, configurations, views and context.
Differentiate information for which the EKB is the system of record and Differentiate information for which the EKB is the system of record and information “owned” elsewhereinformation “owned” elsewhere
Initially, allow for information edits where the EKB is the system of recordInitially, allow for information edits where the EKB is the system of record Ultimately, be able to modify external information and synchronize it Ultimately, be able to modify external information and synchronize it
back to the external system of record automatically and with change back to the external system of record automatically and with change controlcontrol
Be able to accept and understand where different authorities will have Be able to accept and understand where different authorities will have different and sometimes conflicting information about the same thing. different and sometimes conflicting information about the same thing. Be able to analyze these differences and similarities.Be able to analyze these differences and similarities.
Provide correlation of statements in the model with external structured Provide correlation of statements in the model with external structured and unstructured resourcesand unstructured resources
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
Information UpdateInformation Update
Provide the capability to update the knowledge Provide the capability to update the knowledge base from web based viewsbase from web based views
Make sure that the updated information is Make sure that the updated information is compliant with the constraints of the defined compliant with the constraints of the defined knowledge baseknowledge base
Update information in resources based on the Update information in resources based on the users configurationusers configuration
Manage information where the EKB is the system Manage information where the EKB is the system of record for the dataof record for the data
Where the WKB is not the system of record, Where the WKB is not the system of record, synchronize data back into the source artifactssynchronize data back into the source artifacts
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
Information ApplianceInformation Appliance
Make it very easy to create new data formats in Make it very easy to create new data formats in the EKB. It should easier than creating a spread the EKB. It should easier than creating a spread sheetsheet
Be able to use a default UI or enhanced UI to Be able to use a default UI or enhanced UI to manage both tables and forms using this manage both tables and forms using this informationinformation
Provide the capability to “ground” the information Provide the capability to “ground” the information in shared concepts so that is linkable with other in shared concepts so that is linkable with other data in the EKBdata in the EKB
Provide simple query and reporting for the Provide simple query and reporting for the information appliance that can access both the information appliance that can access both the users data as well as any data in the EKBusers data as well as any data in the EKB
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
Social ArchitectureSocial Architecture
Create a wiki-like environment where stakeholders can work as a Create a wiki-like environment where stakeholders can work as a community to define their architecturescommunity to define their architectures
Provide for “approved” spaces as well as those that are more openProvide for “approved” spaces as well as those that are more open Make it easy to find and understand an architectural concept. Make it easy to find and understand an architectural concept.
Show information about that concept that is a projection of the Show information about that concept that is a projection of the underlying conceptsunderlying concepts
Make it easy to comment on as well as update the architectural Make it easy to comment on as well as update the architectural content. content.
Use the architectural wiki as a basis for a community of interest to Use the architectural wiki as a basis for a community of interest to define common concepts, terms, data, processes, etc.define common concepts, terms, data, processes, etc.
Provide for authorities that can approve content for publication Provide for authorities that can approve content for publication under that authorityunder that authority
Integrate well with other social mediaIntegrate well with other social media Make it natural to use bits and pieces of other architectures when Make it natural to use bits and pieces of other architectures when
building a new onebuilding a new one
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
Format AdaptersFormat Adapters
Provide import/export capability for more Provide import/export capability for more data formats, includingdata formats, including DoDAFDoDAF FEA / Federal Segment ArchitecturesFEA / Federal Segment Architectures SQLSQL Language Interfaces and Data StructuresLanguage Interfaces and Data Structures Knowledge Discovery Model (KDM)Knowledge Discovery Model (KDM) ExcelExcel Etc…Etc…
Integrate the formats with shared Integrate the formats with shared conceptsconcepts
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
Architecture ValidationArchitecture Validation
Provide the capability to express a Provide the capability to express a set of rules to validate a complex set of rules to validate a complex architectural configurationarchitectural configuration
Provide tooling that evaluates a Provide tooling that evaluates a configuration for compliance with configuration for compliance with this set of rulesthis set of rules
Provide tools that are able to query, Provide tools that are able to query, track and report on compliance track and report on compliance levelslevels
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
Model ServerModel Server
Besides the current “file oriented” SVN Besides the current “file oriented” SVN interface to populate the EKB, provide an API interface to populate the EKB, provide an API for managing models that is practical as the for managing models that is practical as the back end to viewpoint specific tooling, such back end to viewpoint specific tooling, such as UML, BPMN or OWL toolsas UML, BPMN or OWL tools
Provide versions of that API for various Provide versions of that API for various technologies, including Java, PHP and Python.technologies, including Java, PHP and Python.
Support the Eclipse EMF API such that Support the Eclipse EMF API such that existing eclipse tooling can utilize the EKB existing eclipse tooling can utilize the EKB without changewithout change
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
Executable ModelsExecutable Models
Where models represent executable systems, provide Where models represent executable systems, provide a dynamic engine that is able to execute the models a dynamic engine that is able to execute the models as represented in shared conceptsas represented in shared concepts
Provide external integration into the runtime system Provide external integration into the runtime system by way of standard WSDL and REST interfaces as well by way of standard WSDL and REST interfaces as well as data query. Provide for plug-in capabilities such as data query. Provide for plug-in capabilities such that anything expressible in external languages, such that anything expressible in external languages, such as Java, can be added to the runtime system and as Java, can be added to the runtime system and called from the executing modelscalled from the executing models
Utilize process/workflow models to direct the Utilize process/workflow models to direct the workflow though the system and system user workflow though the system and system user interfaceinterface
Copyright © 2009, Model Driven Solutions, Inc. / ModelDriven.org
Model ConversionModel Conversion
Provide the capability to map between external Provide the capability to map between external standards and file formatsstandards and file formats
Use a sync/merge method to be able to either create Use a sync/merge method to be able to either create or update artifacts in these external formsor update artifacts in these external forms
Allow for modeling styles to effect how concepts are Allow for modeling styles to effect how concepts are “lifted” from shared concepts to viewpoint specific “lifted” from shared concepts to viewpoint specific onesones
Track the versions of each artifact Track the versions of each artifact Optionally, create default diagrams and other Optionally, create default diagrams and other
derivative information when creating or updating derivative information when creating or updating external formatsexternal formats
ExamplesExamples UML<>BPMN, UML<>OWL, BPMN<>SBVR, UML<>ER, UML<>BPMN, UML<>OWL, BPMN<>SBVR, UML<>ER,
OWL<>EROWL<>ER