C2 Core Tutorial Mr. Frank W. Klucznik Data and Services Division United States Joint Forces Command Content C2 Core’s Objective Historical Context C2 Core Overview C2 Core Developer Support Network (C2CDSN) Overview Objective - Shard Understanding Shared Operational Picture Shared Tactical Picture Commander Staff / Watch Officers Staff / Watch Officers Net-Centric Information Sharing Community Common Information Semantics Sharing Community Capability Commander Common Semantics Community Capability Collaboration & Coordination Shared Understanding 3 Historical Context Message Format / Information Exchange Specification / Document Schema IES defines System Data Source IEP System Message / Info Exchange Package / Document Data Consumer 4 Process Producer Vocabulary If these aren’t compatible Consumer Vocabulary This won’t work System Data Source XML (probably) Message / Info Exchange Package / Document System Data Consumer 5 Pairwise Solution Shared knowledge is embedded in translation software… very hard to get the knowledge back out for software maintenance, or for connecting with other partners negotiate application Data Source negotiate Vocabulary TRANS IEP Community of Two TRANS Message / Info Exchange Package / Document application Data Consumer 6 Pairwise Solution The N2 problem 15 applications 210 negotiations Total level of effort is O(n2) Does not scale in a large enterprise 1 15 2 3 14 13 4 5 12 11 6 10 7 9 8 7 Community of Everyone 1 15 2 3 14 13 4 Vocabulary for Everything 12 5 11 6 10 7 9 8 8 Community of Everyone Too much knowledge must be learned by too many people 1 15 A top-down approach ignores knowledge people already have 2 3 14 13 4 Vocabulary for Everything 12 5 11 This learning is expensive, and takes a long time 6 10 7 9 8 The mission of everyone changes much faster than the vocabulary can change 9 Communities of Interest COI X COI Y COI Z Vocabulary X Vocabulary Y Vocabulary Z If you can’t have one universal vocabulary understood by everyone, then you must have several vocabularies, each understood by some group 10 Communities of Interest COI X COI Y X&Y Vocabulary X translate COI Z Y&Z Vocabulary Y Vocabulary Z translate When COIs must exchange data, we must translate between vocabularies (This by itself is an improvement: N2 is not so bad when N is small) 11 Optimizing COI Vocabularies • Analysis indicates the best possible arrangement of COIs and vocabularies: – A small number of broad, shallow vocabularies: few definitions, understood by many people – A larger number of narrow, deep vocabularies: many definitions, understood by few people – Arranged in a rough hierarchy; deep vocabularies adopt and extend the shallow broad and shallow vocabulary narrow and deep vocabulary # definitions in vocabulary narrow and deep vocabulary specialized, extended vocabularies # people in community 12 Optimizing COI Vocabularies • Partitioning knowledge between communities: – Achieve some of the most valuable interoperability – While retaining agility / flexibility in face of changing needs – Reducing cost and time to implement • Universal and common core vocabularies improve interoperability while retaining agility and local autonomy Universal Core Common Core #1 Common Core #2 C2 Core C2 COI #1 C2 COI #2 Resulting Data Architecture Universal Core C2 Core COI COI COI Common Core COI COI COI Common Core COI COI COI COI What is C2 Core? Open (XML based) Data Exchange Standard First major implementation of UCore v2.0 Composition • Vocabulary and data model • Architectural Framework • Reusable XML Components An evolving open standard built by the C2 Community for the C2 Community Relationship to Others UCore v2.0 • ULEX Message Framework • 4Ws (who, what, when, where) • 5 methods of extension C2 Core • C2 Vocabulary • Specs for Payload Extension • XML Naming & Design Rules • Info Exchange Specification COI / POR Relationship analogous to Federal – State – City regulatory governance construct C2 Core Architecture IES C2 – Command and Control COI – Communities of Interest POR – Programs of Record IES – Information Exchange Specification IEP – Information Exchange Package Technical Architecture Maturation 2008 2009 ULEX/UCore ULEX/UCore/C2 Core Digest Focused Approach Payload Focused Approach 2010 Implementation Options Support broad range of exchange environments C2 Core Today V1.0 Content (ready for piloting) • Semantic Overlaps Across C2 • Conceptual Data Model V1.0 Technical Specifications • • • • Development Concept & FAQ Naming and Design Rules Conformance Specification IES Specification Technical Analysis • XML Compression Analysis • Implementation Patterns Analysis • C2 Core Usage Patterns Developer Tools & Support Guidance and Misc Documentation • • • • Implementation Guidance Value Proposition IES Development Guide C2 Core Version Architecture Governance • • • • C2 CPM DSSC Configuration Control Board & Charter C2 Core Work Group Technical Evaluation Teams Community Outreach & Training • C2 Core Training & Familiarization • C2 Core Developer Support Network • New content development (e.g. GFMDI, ASW COI, et al) • Schema Subset Generation Tool • Conformance Tool • Training (Levels I, II, III, IV) • Conferences (e.g. DON IT, DoD Enterprise Architecture, et al) Plans & Processes • Configuration Management Plan • Change Request Process • Technical Exchange (e.g. UCore) Experimental Products • C2 Core-UCore Binding Specification • C2 Core Genericode Specification Key Training Components 48 Lessons covering 270+ topics Lessons • C2 Core Level I, II, III Material • IES Development Guide • Data Modelers Guide Topics • C2 Core NDR Guide • Schema Writers Guide • XML Tutorial • Tool User Guides Designed to support roles of: • Manager • Data Architect • Developer Training Sample IES Package Content Subset c2core 1.0: C2 Core Subset Schema appinfo: Metadata for C2 Core conformant objects 1.0 - c2core.xsd appinfo - appinfo.xsd structures - structures.xsd external - ic-ism-v2.1.xsd proxy - xsd-proxy.xsd adapters - tspi-adapter.xsd ucore - ucore.owl - ucore.xsd - et al ucore schema - coi-extension.xsd ies-extension.xsd exchange.xsd wantlist.xml structures: Defines how c2core objects are structured external: External standards proxy: Wraps XML simple types (e.g. int, bool, etc.) in a complex type to comply w/ C2 Core NDR adapters: C2 Core objects pointing to external standards ucore: UCore digest content *-extension.xsd: C2 Core conformant COI extensions to C2 Core objects & community defined data components. Non-conformant content may be imported in to a separate XSD for legacy support Wantlist.xml: Defines root element of the exchange NOTE: Black generated by SSGT Green added manually Red added manually END