260 likes | 399 Views
Linked Open Architectures for Open Government. Integrated knowledge for and about the enterprise. EKB. Cory Casanave, President Model Driven Solutions Cory-c (at) ModelDriven (dot) com DC Semantic Web Meetup - July 2009. Government Domain Task Force Open Government Workgroup Gov.omg.org.
E N D
Linked Open Architectures for Open Government Integrated knowledge for and about the enterprise EKB Cory Casanave, President Model Driven Solutions Cory-c (at) ModelDriven (dot) com DC Semantic Web Meetup - July 2009
Government Domain Task Force Open Government Workgroup Gov.omg.org Enabling Open Government
Architectures as Data • Architectures are critical government data assets • Business models, process models, service models, information models, rules, metadata, ontologies, technology models, schema • There is an enormous asset in this existing architectural data • Architectures describe government, how it works, its resources and services • Architectures make other data more valuable – describing data or how it was produced • The most valuable architectures are models with a formal meta model or schema • Currently – most models are not web data accessible, they are trapped in tools and files. Models are not linkable. • Viewed another way, architecture models are just data – data to be federated, analyzed, queried, linked and mashed up – data to be published as LOD
Architectures Models Are Trapped in Stovepipes Architecture Models hold our enterprise Architectures, business processes and services, technology models, SOA architectures, data schema and more But, model files are not web assets and hard to connect Information is unconnected, redundant and not usable outside its source
Architectures Published into the Data Cloud Visible architectures have more value!
Data Policies Processes Services Goal: Linked Open Architectures Federated Architectures Promotes Collaboration and Shared Resources
High level plan • Publish architecture models as LOD, in their original vocabulary • Develop well defined semantic hub models, vocabularies of “shared concepts”, and map the raw architecture data to these hubs • Develop various tools and techniques for querying, viewing, federating and analyzing the data for various stakeholders to enable visibility and collaboration • Provide for external comment and input for participation – federated architectures become read/write
Architecture Model Standards • Object Management Group (OMG) has adopted many of the architecture modeling standards • XML Model Interchange (XMI) – Data Interchange for models (E.G. Eclipse EMF) • Unified Modeling Language (UML) • Business Process Modeling Notation (BPMN) • Service Oriented Modeling Language (SoaML) • Etc… • There is an enormous asset in these modeling concepts • All OMG and many other model tools interchange via XMI • Goal 1 – Publish any/all XMI based models as web Linked Open Data • All UML, BPMN, SoaML models become linked open data assets
UML Model as Data (In XMI) XMI for Person (In terms of UML) <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>
UML Model as Data (In RDF) XMI for Person expressed in UML terms <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> RDF-XML 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>
Structurally Mapping XMI and RDF • What is does • There is a very direct structural mapping between the XMI and RDF representation of a model • This mapping is isomorphic (no information loss in either direction) • Any XMI model (UML, BPMN, Etc) can be automatically and isomorphic mapped to RDF as Open Linked Data • Models become part of the open linked data cloud • Everything is mapped, not a subset • What it doesn’t do • The vocabulary and meta model of the source is retained, this publishes the model data as LOD, it does not do a semantic mapping • Semantic mapping is a separate step
Publishing Architecture Models into the Data Cloud Open Government Data Cloud Stakeholder Viewpoint (E.G. DRM) SPARQL Endpoint RDF-LOD Resource Enterprise Knowledge Base (EKB) XMI Based Models Check In (Subversion) (UML, BPMN, Etc) RDF Repository (E.G. Anzo)
Enterprise Knowledge Base (EKB) • Based on work for the GSA • Open Source eGov Reference Architecture (OSERA) • George Thomas & Rick Murphy • Continuing work under ModelDriven.org • Being completed for open source release (August 2009) • A public model server will also be deployed • Check in any model, published as LOD-RDF • Underlying Technologies • Anzo RDF Repository • Eclipse & Eclipse EMF • OMG XMI & UML • XSLT
Demo • Start with UML Model • XMI Representation out of UML tool • RDF-XML Representation after transform • View in RDF Repository • View as Data Reference Model (DRM)
Mapping Meta Levels & Ontologies Linked Open RDF Representation MOF “Meta Meta Model” MOF “Meta RDF Schema” OMG Standard XMI Representation Uses Vocabulary Uses Vocabulary UML “Meta Model” UML “RDF Schema” Uses Vocabulary Uses Vocabulary UML Models (I.E. CRR) UML RDF Models (I.E. CRR) Models Models The World (Business & Technical Systems)
Still to do for open source release • Resolve some issues with dereferenceable URLs and logical namespaces • Complete connection with Subversion • General cleanup • Deploy model server
Roadmap Semantic Integration and Transformation
Enterprise Knowledge Integration Business Analysts And Stakeholders Data Cloud Governance Models Federated Enterprise Viewpoints Services Models Information Models Systems Architects And Developers Rules Models Process Models Software Artifacts And Execution {BPM, SOA, Rules, DBMS…}
Federating Models & Data with Hub Ontologies & Mapping (Bridge Ontologies) MOF “Meta RDF Schema” MOF “Meta RDF Schema” Uses Vocabulary Uses Vocabulary Shared Concept Meta Ontology UML “RDF Schema” BPMN “RDF Schema” Uses Vocabulary Shared Concept Hub Ontology Uses Vocabulary Uses Vocabulary UML RDF Models BPMN RDF Models Uses Vocabulary Federated Models Federated Data Models Models Models The World (Business & Technical Systems)
Ways To Specify Things UML Joint Behavior Part Of Shared Core XML Describes Describes Describes Library of common concepts Can grow over time Integration Via Semantic Hubs Dis-Integrated Information Is Mapped Shared Concepts Semantic Hub Concepts We Specify Part Of Buy Monetary Trade Reference Ontologies Purchase Mapping is not “one-one”
Shared Concept Hubs Integrate Architectures EKB UML Concepts OWL Concepts Shared Concept Shared Concept Shared Concept Shared Concept Shared Concept Shared Concept Shared Concept XML Concepts Shared Concept Shared Concept Shared Concept Shared Concept Shared Concept Shared Concept Shared Concept Shared Concept • Library of Concepts • Growing based on need • Modular, not monolithic • A construction set for languages • A lattice of interoperable concepts Shared Concept Shared Concept
Transformation Example (BPMN/UML) Enterprise Knowledge Base Eclipse IDE Eclipse EMF Interface* Semantic Web Interface Knowledge Base Web-UI User Views Forms Browse Query File Get/Put XML “Rest” Interface Transformation BPMN Model Process Model UML Model Inference & Rules Shared Concepts Sesame RDF KB Orbeon XForms Server Artifact / KB Integration Artifact Repository Subversion Interface BPMN Configuration Mgmt Eclipse Tortoise UML Subversion
Tool & Standard Support Roadmap • XSD • Specific Tools (E.G. System Architect) • Can currently support MagicDraw & SPARX • DoDAF
Thank You! • 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 http://www.modeldriven.com This Document: http://lib.modeldriven.org/MDLibrary/trunk/Pub/Presentations/OpenGovernmentArchitectures.ppt