Presentation is loading. Please wait.

Presentation is loading. Please wait.

Brief developed by Paul Gustavson (SimVentions) – 1 Base Object Model (BOM) Overview Summer 2008.

Similar presentations


Presentation on theme: "Brief developed by Paul Gustavson (SimVentions) – 1 Base Object Model (BOM) Overview Summer 2008."— Presentation transcript:

1 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 1 Base Object Model (BOM) Overview Summer 2008

2 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 2 Topics What is a BOM? BOM History Building and Using BOMs

3 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 3 Federate (SOM) BOM Assembly BOM 1 BOM 3 BOM n Composite Interface Composition Sim / System A Representation Federation (FOM / LROM) Federate B Federate X Federate A Aggregation Model #1 Model #2 Model #3 Model #n - or - Theater Warfare Representation BOM 2 BOM Palette -x Choose what fits conceptual model? A B C X State Machines Pattern of Interplay Events User Requirements Simulation Components Simulation Systems foms federates BOM – A piece part of a conceptual model, simulation object model, or federation object model, which can be used as a building block in the development and/or extension of a simulation or federation. Weapons Effect Radio Comms Repair Resupply Detect / Jam DefinitionConceptStandards Illustration Base Object Model (BOM) Overview Standardized 2006 What is a BOM?BOM HistoryBuilding / Using BOMs

4 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 4 BOMs are about… Facilitating Composability COMPOSABILITY - “The ability to rapidly select and assemble components to construct meaningful simulation systems to satisfy specific user requirements. Composability includes the framework, body of knowledge, tools, techniques, and standards necessary to enable effective integration, interoperability, and reuse.” - (DoD M&S Master Plan) What is a BOM?BOM HistoryBuilding / Using BOMs BOMs are intended to be composed into larger grain models…

5 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 5 BOMs are about… Facilitating Composability Supporting a Process System Composability Plug & Play Systems Model Composability Reusable Piece Parts 6 5 43 1 Perform Conceptual Analysis 2 Analyze Data and Evaluate Results 7 Define Objectives Design Develop Plan, Integrate, and Test Federation Execute Federation & Prepare Outputs FEDEP What is a BOM?BOM HistoryBuilding / Using BOMs BOMs are enabler early in the process helping facilitate model composability

6 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 6 BOMs are about… Facilitating Composability Supporting a Process Defining / Exploiting Conceptual Models System Composability Plug & Play Systems Model Composability Reusable Piece Parts 6 5 43 1 Perform Conceptual Analysis 2 Analyze Data and Evaluate Results 7 Define Objectives Design Develop Plan, Integrate, and Test Federation Execute Federation & Prepare Outputs FEDEP What is a BOM?BOM HistoryBuilding / Using BOMs Identifying “conceptual entities / events” Identifying common “behavioral patterns” (i.e., activity relationships) Results in a collection of conceptual models -ordered in terms of interest and detail & -provides basis for designing / using reusable software, & system components CONCEPTUAL MODEL – Describes what is to be represented, the assumptions limiting those representations, and other capabilities needed to satisfy the user’s requirements.”

7 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 7 “Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice.” - Christopher Alexander BOMs are about… Facilitating Composability Supporting a Process Defining / Exploiting Conceptual Models Discovering Reusable Patterns Pattern of Interplay pattern actions What is a BOM?BOM HistoryBuilding / Using BOMs Weapons Effect Example – common in most platform simultions

8 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 8 BOMs are about… Facilitating Composability Supporting a Process Defining / Exploiting Conceptual Models Discovering Reusable Patterns Jammer (Originator) Radar Threat Detected in Range (Msg) Threat / Target Emits Reflects Detect Jam Detection Jamming What is a BOM?BOM HistoryBuilding / Using BOMs Here’s an real example of two patterns that were identified and then captured as BOMs, which can then be coupled to create a larger BOM set. “It’s often said that patterns are discovered rather than invented”* - Martin Fowler

9 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 9 BOMs are about… Facilitating Composability Supporting a Process Defining / Exploiting Conceptual Models Discovering Reusable Patterns Making Resources More Easily Discoverable and Understandable via Metadata Metadata - “structured, encoded data that describe characteristics of information-bearing entities to aid in the identification, discovery, assessment, and management of the described entities [2].” What is a BOM?BOM HistoryBuilding / Using BOMs It also allows use history pertaining to a BOM to be collected and presented to others (much like Amazon.com). BOMs are tagged with core metadata allowing models to be cataloged in a way so that they are easily discoverable.

10 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 10 BOMs are about… Facilitating Composability Supporting a Process Defining / Exploiting Conceptual Models Discovering Reusable Patterns Making Resources More Easily Discoverable and Understandable via Metadata Defining Neutral Interfaces (i.e. Classes) “…it is essential for the software industry's health that key interfaces be well-specified and publicly available.” - Bjarne Stroustrup What is a BOM?BOM HistoryBuilding / Using BOMs An Interface is often described in terms of class structures that collectively define the inherent capabilities of an application, component or service Interfaces provide a framework to resulting implementations (i.e., software, simulation or system components) that support what’s described by a pattern

11 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 11 Example Pattern of Interplay: Specific type of pattern characterized by a sequence of pattern actions involving one or more conceptual entities. Pattern Action: A single step in a pattern of interplay that may result in a state change of a conceptual entity. A pattern action can be represented by either a defined event within the BOM or by another BOM. Weapon Fire What is a BOM?BOM HistoryBuilding / Using BOMs

12 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 12 BOMs Base Object Models LocateComposeCreate Federation Simulation Exchange Data Models Patterns / States Activity Relationship Conceptual Entities Behavioral States Events FEDEP 6 5 43 1 Perform Conceptual Analysis 2 Analyze Data and Evaluate Results 7 Define Federation Objectives Design Federation Develop Federation Plan, Integrate, and Test Federation Execute Federation & Prepare Outputs Conceptual Models Model ComposabilitySystem Composability Plug & Play SystemsReusable Piece-Parts Federation Exchange Agreement (e.g., FOM Level Support) Simulation Capability (e.g., SOM Level Support) How BOMs Fit the Development Process What is a BOM?BOM HistoryBuilding / Using BOMs

13 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 13 200+ users representing 12+ countries BOM Early Adopters & Others… What is a BOM?BOM HistoryBuilding / Using BOMs

14 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 14 Reference FOM Study Group BOM Methodology Strawman Rapidly composable and scalable M&S BOM Study Group RPR FOM HLA 1516 FOM “piece parts” (FEDEP, OMT) BOM PDG HLA 1516 Evolve DIS HLA FEDEP 1516 C M S E XML Schemas FOM Modules 199820022000 2003 2001199620101999 2004 2006 … 1990 20052007 SISO-STD-003-2006 BOM Spec Guidance Doc RPR BOMs Protocol OrientedObject-Based OrientedComponent/Service Oriented DMSO Support CMSE Research & Support Effort Early 2003 Focus on open M&S composability standard via community consensus The overall effort involved brokering, defining and leading the development of a consensus-based BOM standard within the M&S community. Grass Roots Movement Capitalizing on Piece-Part concept Started in 1998 within SISO Focus towards an open standard SISO Standard XML-based Adopted March 2006 Facilitates composability, conceptual modeling BOM Development History What is a BOM?BOM HistoryBuilding / Using BOMs

15 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 15 BOM Community Involvement 162 38 What is a BOM?BOM HistoryBuilding / Using BOMs

16 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 16 US DoD –ARMY –NAVY –AIR FORCE –DMSO Defense Research & Development Canada Ministry of Defense UK IEEE Academia –University of Texas - Applied Research Lab –John Hopkins University - Applied Physics Lab –University of Pennsylvania –Carnegie Mellon University - System Engineering Institute –Naval Postgraduate School –Old Dominion University Host of Large & Small Business Boeing SAIC Raytheon GD-AIS BAE BMH AEgis SimVentions SRI TAC-Eng PiTCH Preforce Consultants USA United Kingdom Sweden Germany Canada France Organizations Companies Countries Overall SISO PDG Was Even More Diverse! Overall SISO PDG Was Even More Diverse! 2006 SISO Ballot Pool What is a BOM?BOM HistoryBuilding / Using BOMs

17 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 17 The Journey: BOM Definition Evolution A single aspect of federation interplay that can be used as a building block of FOMs and SOMs. BOMs are distinguished by one or more object classes, interactions and associated attributes (in accordance with the OMT). - Spring 1998 A single aspect of simulation interplay that can be used as a building block in the construction of interoperable environments. BOMs are distinguished by one or more object classes, interactions and associated attributes (in accordance with the OMT). - Fall 2000 A reusable package of information representing an independent aspect of simulation interplay that can be used as a building block in the development and extension of a simulation and/or interoperable environments. - July 2003 A reusable package of information used to represent an independent pattern of simulation interplay that can be used as a building block in the development and extension of a simulation and/or interoperable environments. - Nov 2003 A reusable package of information used as a building block for composing HLA object models, federate capabilities, and / or federation agreements. A BOM can be used to represent or support a discrete pattern of interplay within or among simulations. - Feb 2005 A piece part of a conceptual model composed of a group of interrelated elements, which can be used as a building block in the development and extension of a federation, individual federate, FOM or SOM. BOM elements include object classes, interaction classes, patterns of interplay, state machines, and events. - April 2005 A piece part of a conceptual model, simulation object model, or federation object model, which can be used as a building block in the development and/or extension of a simulation or federation. - Jan 2006 Binding to HLA is gone / Coupling to Conceptual Model is provided What is a BOM?BOM HistoryBuilding / Using BOMs

18 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 18 Key Concepts to Building and Using BOMs #1 - Understand Composability –Ability to assemble things from components “Modularity is necessary when dealing with complex systems, and some degree of composability is surely possible and desirable.” - Paul Davis (RAND) Creating a simulation requires breaking the problem into parts that can be addressed separately –To reduce the effects of interruption –To permit specialization –To facilitate computing alternative ways of handling a given component –To maintain the software over time –To reduce risk by relying upon previously proven components where possible Understanding complex systems requires decomposition. –No one can comprehend the whole’s details Testing systems is simplified if done module by module then at the system level Controlling costs / economic incentives –Costs are correlated with the amount of new code writing Maintaining and modifying is easier / safer –Individual modules can be substantively modified or updated as software as necessary, without endangering the overall system. UNDERSTANDING COMPOSABILITY What is a BOM?BOM HistoryBuilding / Using BOMs

19 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 19 System Composability Plug & Play Systems Model Composability Reusable Piece Parts 6 5 43 1 Perform Conceptual Analysis 2 Analyze Data and Evaluate Results 7 Define Federation Objectives Design Federation Develop Federation Plan, Integrate, and Test Federation Execute Federation & Prepare Outputs FEDEP Search for BOMs here Understand how it fits to the Process Decompose FOM / SOM Build from Scratch Decompose Existing Models Break problem domain down into manageable parts Identify what needs to be represented / conceptual model aspects to be searched Results in candidate or newly built models to be reused Break existing model down into well understood parts Discover common entities, relationships, patterns Results in multiple models that can be reused What is a BOM?BOM HistoryBuilding / Using BOMs

20 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 20 Model Identification (Metadata) Notes Lexicon (definitions) Object Model Definition Object Classes Interaction Classes Data Types Conceptual Model Pattern Of Interplay State Machine Entity Type Event Type Model Mapping Entity Type Mapping Event Type Mapping BOM Under The Hood Current / Future Applications of BOMs to support conceptual modeling and help facilitate communication among stakeholders to outline scenarios and battle management profiles to define neutral interfaces among diverse simulations / simulation components to support the cataloging and integration of LVC assets Essential metadata needed so that the BOM can be described, discovered and properly reused Conceptual entities, the events which occur among entities, the states attainable by those entities, the patterns of behavior Mapping of conceptual entities and events to object model object and interaction classes. Notes and definitions supporting above mentioned elements Interfaces identifying Object classes, interaction classes, and datatypes that can fulfill behavior described in the conceptual model. Not all these pieces are required for defining a single BOM… What is a BOM?BOM HistoryBuilding / Using BOMs

21 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 21 You Can Use BOMs in Multiple Ways! Model Identification (Metadata) Lexicon (definitions) Conceptual Model Definition Pattern of Interplay State Machine Entity Type Event Type Model Identification (Metadata) Notes) Conceptual Model Definition Pattern of Interplay State Machine Entity Type Event Type Conceptual Model Definition Pattern of Interplay State Machine Entity Type Event Type Lexicon (definitions) Model Identification (Metadata) Notes Lexicon (definitions) Model Mapping Entity Type Mapping Event Type Mapping Model Identification (Metadata) Notes Lexicon (definitions) Model Mapping Entity Type Mapping Event Type Mapping Model Mapping Entity Type Mapping Event Type Mapping Mappings Notes Lexicon (definitions) HLA Interaction Class Parameters HLA Data Types Model Identification (Metadata) Notes Lexicon (definitions) Object Model Definition HLA Data Types Object Classes Interaction Classes Data Types Conceptual (Behavioral) Interface (Class Structures) What is a BOM?BOM HistoryBuilding / Using BOMs Here’s a BOM with just metadata and conceptual model info Here’s a BOM with identifying a mappings between two other BOMs (a concceptual model and an interface) Here’s a BOM simply documenting the interface via a set of classes.

22 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 22 We also found a logical connection between the “patterns of interplay” being represented by the RPR FOM (going back to DIS PDU families) and the “HLA Interaction classes” that were defined. So we decided to keep the interaction classes with the conceptual model This is what we did with the RPR BOMs… Behavior Representations Weapon Effects Repair Resupply Collision Transfer Control Simulation Management Radio Communications Entity/Object Management Minefield Synthetic Environment Behavior Representations Weapon Effects Repair Resupply Collision Transfer Control Simulation Management Radio Communications Entity/Object Management Minefield Synthetic Environment Object Representations Entity Object Types Env Object Types Minefield Object Types Signal Object Types Object Representations Entity Object Types Env Object Types Minefield Object Types Signal Object Types We found the easy thing to do was pull out the HLA object classes into object groupings. Remember this is just one way!!! What is a BOM?BOM HistoryBuilding / Using BOMs

23 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 23 BOM Assemblies Profile BOMs BOM 1 BOM 2 BOM n Conceptual Model View Object Model View Weapons Effect Detect / Jam Radio Comms BOM z Sup plier BOM b BOM a Platform Human BOM c BOM d Radar Munition Logistics CAP Support Collision BOM Assembly Composite Interface Composition Theater Warfare Representation Homeland Defense Training FOM Operation Freedom Training FOM Behavior (Conceptual) BOMs These can be swapped out as modules Federate Sim / System A Representation Federation Federate B Federate X Federate A Aggregation Model #1 Model #2 Model #3 Model #n - or - New “Assemblies” can be “composed” and (for HLA) turned into FOMs BOMs selected which fulfill the relationship of activities among conceptual entities to be represented by a federate, federation or aggregation Object (Class Structure) BOMs Could also be used to generate TENA LROMs What is a BOM?BOM HistoryBuilding / Using BOMs

24 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 24 Guidance - Defining BOM Metadata Model Identification (metadata) Type = BOM Name Version Mod Date Description Use Limitation Use History Keyword Security Class POC Release Restriction Reference Purpose Other Application Domain Glyph * * * * * Document a model in such a way that it’s –Purpose is clear –Limitations are identified –Application Domain is understood –Multiple POCs are known Feed integration experience feedback into Use History Use mechanisms to manage and control the model –Version –Security Class –Release Restriction Take advantage of References to other information Use the fields –Because a field is doesn’t mean it should be ignored Descriptive yet concise data allows candidate models to more easily found and reused. What is a BOM?BOM HistoryBuilding / Using BOMs

25 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 25 Entity is anything that can be identified with behavior Model Identification (Metadata) Object Model Interface Object Classes HLA Object Class Attributes HLA Object Classes Interaction Classes HLA Interaction Class Parameters HLA Interaction Classes HLA Data Types Conceptual Model Definition Pattern of Interplay State Machine Entity Type Event Type Model Mapping Entity Type Mapping Event Type Mapping Guidance - Conceptual Model Decomposition Process –Examine Interaction Classes –Identify Events –Consider how Events are related Pattern of Interplay Associated Actions –Identify Entities –Determine States What is a BOM?BOM HistoryBuilding / Using BOMs

26 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 26 BOM Assemblies - How it works Model Identification (Metadata) Notes Lexicon (definitions) Object Model Interface Object Classes HLA Attributes HLA Object Classes Data Types EntityObjects BOM WeaponsFire BOM Model Identification (Metadata) Notes Lexicon (definitions) Object Model Definition Interaction Classes HLA Parameters HLA Interaction Classes Data Types Conceptual Model Pattern Of Interplay State Machine Entity Type Event Type Model Mapping Entity Type Mapping Event Type Mapping Repair BOM Model Identification (Metadata) Notes Lexicon (definitions) Object Model Interface Interaction Classes HLA Parameters HLA Interaction Classes Data Types Conceptual Model Definition Pattern Of Interplay State Machine Entity Type Event Type Model Mapping Entity Type Mapping Event Type Mapping Model Identification (Metadata) Conceptual Model Definition Pattern Of Interplay State Machine Entity Type Event Type BOM Assembly Notes Lexicon (definitions) A composition of BOMs that can result in a Federation Object Model (FOM), Simulation Object Model (SOM), or pattern which encompasses a larger scope. What is a BOM?BOM HistoryBuilding / Using BOMs

27 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 27 Exporting a FOM Model Identification (Metadata) Notes Lexicon (definitions) Object Model Interface Object Classes HLA Object Class Attributes HLA Object Classes Interaction Classes HLA Interaction Class Parameters HLA Interaction Classes HLA Data Types Conceptual Model Definition Pattern Of Interplay State Machine Entity Type Event Type Model Mapping Entity Type Mapping Event Type Mapping XSLT/ Method of choice BOM Assembly Model Identification (Metadata) Notes Lexicon (definitions) HLA Object Classes HLA Object Class Attributes HLA Object Classes HLA Interaction Classes HLA Interaction Class Parameters HLA Interaction Classes HLA Data Types HLA Dimensions HLA Time HLA Tags HLA Synchronizations HLA Transportations HLA Switches FOM What is a BOM?BOM HistoryBuilding / Using BOMs

28 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 28 BOM to FOM: Major Steps Create a BOM Assembly –Independent BOMs identified in Pattern Description Atomize BOM-Assembly –Model Definition only carries one level of object classes / interaction classes –Pattern Descriptions link BOMs Transform to FOM (HLA) –Recommend use of XSLT Pattern Action n BOM (Another Pattern) 1 BOM Assembly SOM FOM BOMs BOM Assembly n Aggregate Model Xformation What is a BOM?BOM HistoryBuilding / Using BOMs

29 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 29 How Can BOMs Be Used… Functionally? Federate Simulation integrates & executes BCIs Run-time Support Sim / System Model Representation Implementation (Components)Conceptual / Interface (Profile) CODECODE RTI C++, ActiveX OneSAF JB BCI Joint Training Federation Theater Warfare Exercise FOM FOMFOM FOMFOM FOMFOM Theater Warfare FOM BOMs BOM 1 BOM 2 BOM n Conceptual Model View Object Model View Weapons Effect Detect / Jam Radio Comms BOM z Sup plier BOM b BOM a Observer Air Support BOM c BOM d Radar Artillery Logistics CAP Support Collision Operation Freedom Training FOM Homeland Defense Training FOM Operation Freedom Training Exercise Homeland Defense Training Exercise BOMs aide in defining reusable software components What is a BOM?BOM HistoryBuilding / Using BOMs

30 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 30 BOMs Base Object Models LocateComposeCreate Federation Implementations Interfaces Activity Relationship Conceptual Entities Behavioral States Events System Composability Plug & Play Systems Model Composability Reusable Piece Parts Summary 6 5 43 1 Perform Conceptual Analysis 2 Analyze Data and Evaluate Results 7 Define Federation Objectives Design Federation Develop Federation Plan, Integrate, and Test Federation Execute Federation & Prepare Outputs FEDEP A standards-based mechanism for supporting composability Provides a common approach for defining conceptual models Metadata support, conceptual model & interface focus useful in tying to implementations (mappings) supporting refactoring! protecting investments Offers a unified approach for object modeling (HLA, TENA, others) Flexible in supporting needs of the M&S community training, testing and acquisition community LVC systems/simulations

31 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 31 Backup Slides

32 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 32 BOM Status Two SISO “Standards” products –BOM Template Specification –Guide for BOM Use and Implementation Tools: Conceptualworks TM / BOMworks™ –Environment for conceptual model / simulation data exchange model development and application BOM Website (www.boms.info) –Provides access to all BOM products

33 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 33 BOM Experiences To date BOMs developed for the Army, Navy, Air Force, Missile Defense Agency, and general simulation community Example: –Real-time Platform Reference (RPR) BOMs - SISO –Airborne Electronic Attack (AEA) BOMs - JHU/APL BOMs developed from the collection of DoDAF views. Conceptual Scenario Mapping of the AEA conceptual space provided by BOMs can be made to the software constructs representing simulation –Mid-Range Ballistic Attack Munitions (MR-BAM) BOMs - Navy BOMs used to rapidly prototype and explore potential Mid-Range Ballistic Attack Munitions (MR- BAM) concepts. BOMs provided the framework for a resulting prototype software model and simulation developed and demonstrated within a very short period of time.

34 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 34 Applications / Use of BOMs What It Is –essential elements provided by a component or piece-part Conceptual Model –Patterns of Interplay –State Machines –Entities –Events Interface –HLA Object Classes / Attributes –HLA Interactions Classes / Parameters Model Mappings –Can be combined into Assemblies –Not only for HLA! –language neutral notation (XML) What It Isn’t –Implementation / Code representing –Functional components containing independent executable piece-parts –Examples… Source code / federate code, Interpreted code –SRML / JavaScript Byte Code (java) Binary Object –Windows DLL, –COM (ActiveX), –Unix DSO, or Uses –conceptual modeling / mapping / object model interfaces –representing aggregates / compositions –enabling architecture interoperability –defining reusable software components –framework for defining transformation components BOMBCI What It Isn’t –Implementation / Code representing –Transformation components providing system interoperability –Examples… XSLT / Xpath Code Gateways BTM

35 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 35 What is meant by BASE in BOM? 1.Serves as an interface for “Base-level” components. –Foundational pieces of an object model / interfaces –Building blocks –Flexible component approach 2.Offers the “basic” elements needed for object modeling. –Implementation independent descriptions –Facilitates syntactic interoperability (common data structures) 3.Describes “fundamental patterns of interplay.” –Patterns provide the basis for fulfilling overall objectives –Allows coupling / aggregation to form much richer model set What is a BOM?BOM HistoryBuilding / Using BOMs

36 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 36 Model Identification (Metadata) Object Model Interface Object Classes HLA Object Class Attributes HLA Object Classes Interaction Classes HLA Interaction Class Parameters HLA Interaction Classes HLA Data Types Conceptual Model Definition Pattern of Interplay State Machine Entity Type Event Type Model Mapping Entity Type Mapping Event Type Mapping CONCEPTUAL MODEL – Describes what is to be represented, the assumptions limiting those representations, and other capabilities needed to satisfy the user’s requirements.” PATTERN OF INTERPLAY – a behavior pattern characterized by a sequence of pattern actions involving one or more conceptual entities STATE MACHINE - A description of the various states or conditions of a conceptual entity, and how the pattern actions associated with one or more patterns of interplay may affect these conditions over the conceptual entity’s life. CONCEPTUAL ENTITY - An abstract representation of a real world entity, phenomenon, process, or system.. CONCEPTUAL EVENT - A representation of a transient action that occurs among conceptual entities that may affect the state of one or more of the conceptual entities. PATTERN ACTION - A single step in a pattern of interplay. Can be supported by a defined event or by another BOM. May result in a state change of a conceptual entity. BOM Conceptual Model

37 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 37 Levels of Interoperability Level 6 – achieved when the anticipated capability that is to be provided by the models and simulations to be used are fully understood and agreed upon by all the stakeholders. At this level of interoperability there is no ambiguity in what is expected to be shared. Level 5 – achieved when systems are able to come “on- line” and begin to exchange and reflect data with other systems. Such systems are “able to comprehend the state changes that occur in the assumptions and constraints that each is making over time, and they are able to take advantage of those changes.”[7] Level 4 - achieved when the systems, simulations or applications involved in the exchange of data are aware of the specific methods and/or procedures that a calling system is requesting. Level 3 - achieved when a common reference model (i.e., definition set) is used to perpetuate the understanding of the level 2 data being shared. Level 2 - achieved using technology such as XML, which offers a means to define and use a common data structure among the systems established in a network. Level 1 - requires an agreed upon communication technology infrastructure and protocols such as UDP or TCP/IP to support the handshaking among networked systems. Achieving Level 6 Conceptual Interoperability Ensures greater likelihood of success for other levels of interoperability. Requires a “fully specified, but implementation independent model.” – Paul Davis BOMs

38 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 38 Interoperability Through Composability System Composability Plug & Play Systems Model Composability Reusable Piece Parts Conceptual Space Interoperable Space Implementation Space M1 M2 M3 Realizable Ideas (conceptual models describing patterns, states, entities, events w/ well described metadata) Interfaces (implementatable classes, aggregated software components, object models) Interfaces (exposed interfaces, system APIs, object models) Levels of Interoperability (technical, syntactic, semantic, pragmatic, dynamic, conceptual) I4 I1 I2 I3 I6 I5 Mappings Interoperate S2 S1 S3 Integration (aggregate, system coupling, assembly) A1 BOMs FEDEP BOMs help to focus on: what needs to be shared conceptually within an C2 / M&S environment, how the intended “components” are to perform pragmatically, how qualifying interfaces are semantically defined, and how such components are syntactically structured complement the use of other interoperability standards in an independent way (e.g., BPEL, DDMS, HLA / TENA) Implementations (software, simulation, system components) The clarity provided by a conceptual model is what helps bring a concept to implementation to a potential state of interoperability. Achieving Level 6 Conceptual Interoperability Ensures greater likelihood of success for other levels of interoperability. Requires a “fully specified, but implementation independent model.” – Paul Davis

39 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 39 Using BOMs for Supporting Aggregation Model AggregationEntity Instance Aggregation Aggregation Types 1 st Level2nd t Level Aggregation Levels BOMs can be used to represent aggregated and non-aggregated models and entities BOMs can be used to represent aggregates / compositions What is a BOM?BOM HistoryBuilding / Using BOMs

40 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 40 BOMworks™ Create BOMs Edit BOMs –Grid/XML/UML –Cut/Copy/ Paste Validate BOMs Source Code Generation Import FOMs Built on Galileo Framework - extensible and customizable Free download is available

41 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 41 Comparing FOMs to BOMs Model Identification (Metadata) Notes Lexicon (definitions) HLA Object Classes HLA Object Class Attributes HLA Object Classes HLA Interaction Classes HLA Interaction Class Parameters HLA Interaction Classes HLA Data Types HLA Dimensions HLA Time HLA Tags HLA Synchronizations HLA Transportations HLA Switches Model Identification (Metadata) Notes Lexicon (definitions) Object Model Interface Object Classes HLA Object Class Attributes HLA Object Classes Interaction Classes HLA Interaction Class Parameters HLA Interaction Classes Data Types (HLA Data Types) Conceptual Model Definition Pattern Of Interplay State Machine Entity Type Event Type Model Mapping Entity Type Mapping Event Type Mapping FOM BOM

42 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 42 Guidance - Some Basic Principles  Recommend Iterative / Incremental Approach  “Consider what should be variable in your design”… and “encapsulate the concept that varies.” (GoF - p. 29)  “Favor object composition over class inheritance.” (GoF - p. 20)  “Design to an interface, not an implementation.” (GoF - p 18) 6 5 43 1 Perform Conceptual Analysis 2 Analyze Data and Evaluate Results 7 Define Objectives Design Develop Plan, Integrate, and Test Federation Execute Federation & Prepare Outputs FEDEP What is a BOM?BOM HistoryBuilding / Using BOMs

43 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 43 BOM Capability Mapping w/ MDA Objectives Define a model that specifies your system and its behavior without providing the details of how the computational infrastructure will support it –The role of abstractions Model should describe the system from several perspectives –Structure, collaboration, activity, sequence, state –UML with executable extensions Model should provide increased portability through abstraction Model should provide sufficient detail –Completely specify behavior with action specification Use of ASL, state charts, sequence charts –Satisfy mission requirements Transform the system model to executable code with model compiler tools tailored for target environment –Possibly several build stages: compile to lower level language, then object code, then binary Rebuild as needed from the system model –Requirements changes –Different or updated environments BOM These are the defined MDA objectives outlined by the OMG

44 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 44 BOM Transformation Mappings (BTMs) Provide model-to-model transformations among BOMs Enable adaptability among disparate federates and federate models. How it works –BOMs (and FOMs) have an interface (identified as the Object Model Definition), –This “interface” can be used by federates to represent the data exchange interface for a system, simulation or model. –Specific mappings can be made across disparate “interfaces” <- BTMs –BTMs captured using an XSLT (and XPath) convention. –BTMs in connection with the BOM interface allows federates to adapt and interact with different federations Different BOMs, BOM Assemblies Different HLA FOMs DIS Mappings to occur across different levels of fidelity and abstraction is possible –E.g., groupings of models such as shipboard systems can map to higher order models such as an Aegis cruiser. Advantages –minimizes the effort typically spent in re-tooling federates associated to complying with a specific FOM –mappings can be stored across distributed repositories, accessible thru the web service based repositories.

45 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 45 Examples What is a BOM?BOM HistoryBuilding / Using BOMs

46 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 46 Weapons Effect Collision Ent/Obj Mngmnt Minefield Synthetic Env SIMAN Logistics RadioComms Transfer Cntrol Paul Gustavson RPR BOMs RPR FOM 2.0 Repair Resupply Entity Creation Entity Reconst’n Entity Removal Action Request Post Comment Post Event Behavior Rep Object Rep EntityObjects EnvObjects MinefieldObjects SignalObjects Includes Model Mapping Behavior Representations Weapon Effects Repair Resupply Collision Transfer Control Simulation Management Radio Communications Entity/Object Management Minefield Synthetic Environment Behavior Representations Weapon Effects Repair Resupply Collision Transfer Control Simulation Management Radio Communications Entity/Object Management Minefield Synthetic Environment Object Representations Entity Object Types Env Object Types Minefield Object Types Signal Object Types Object Representations Entity Object Types Env Object Types Minefield Object Types Signal Object Types These BOMS are made up of just Model ID, Object Classes And Data Types These BOMS are made up of Model ID and Conceptual Model Def (patterns, events). Model Mappings, and HLA Interaction Classes The mappings reference Object classes, attributes in external BOMs. What is a BOM?BOM HistoryBuilding / Using BOMs

47 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 47 Example - Model Identification This is the metadata Leveraged elements from HLA OMT, Dublin Core, DDMS, VV&A RPG Helps make components/piece-parts meaningful! CategoryInformation NameWeaponsEffect TypeBOM Version1.0 Modification Date2005-9-19 Security ClassificationUnclassified Release RestrictionNot for release outside the I/ITSEC community PurposeWarfighter Training, Testing Application DomainRealtime Platform Testing/Training Simulation DescriptionThis is an example BOM Use LimitationsNone Use HistoryInitial release Keyword TaxonomyMilitary Warfare Keyword ValueEngagement POC POC Type Primary author POC Name P. Gustavson POC Organization SimVentions POC Telephone 540 372-7727 Reference Ref Type Glossary Identification ISBN 12345678901 Reference Ref Type Conceptual Model Identification http://boms.info/ Other na Glyph Image Alt WeaponEffectPicture1 Height 32 Width 32 What is a BOM?BOM HistoryBuilding / Using BOMs

48 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 48 Example – Pattern Description Composed of a collection of actions –Describe the activities which transpire among the conceptual entities being modeled –Each action supported by events or other BOMs Includes support for variations and exceptions Action Sequence1 NameWeaponFireAction EventWeaponFire SenderFiringEntity ReceiverTargetEntity BOMNA Action Sequence2 NameMunitionDetonationAction EventMunitionDetonation SenderFiringEntity ReceiverTargetEntity BOMNA Action Sequence3 NameDamageStateUpdateAction Event DamageStateUpdate SenderTargetEntity ReceiverFiringEntity BOM NA What is a BOM?BOM HistoryBuilding / Using BOMs

49 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 49 Example – State Machine “The use of interaction classes involves a detailed understanding of the state transitions and timing between events.” - RPR FOM GRIM NameTargetStates ObjectEntityClassTargetEntity State NameReady ExitActionWeaponFireAction NextStateUnderFire Notes State NameUnderFire ExitActionMunitionDetonationAction NextStateMunitionFlight Notes State NameImpactDenotation ExitActionDamageStateUpdateAction NextStateReady Notes NameShooterStates Conceptual EntitiesFiringEntity State NameReady ExitActionCommandToFire NextStateFire Notes State NameFire ExitActionWeaponFireAction NextStateMunitionFlight Notes State NameMunitionFlight ExitAction MunitionDetonationAc tion NextStateReady Notes What is a BOM?BOM HistoryBuilding / Using BOMs

50 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 50 Example - Entities Entity Type NameDescriptionCharacteristicsDescription FiringEntity Thing that fires a weapon at a target IDUnique id for entity LocationPhysical position of the entity TargetEntity Thing that is the intended target of a weapon fire IDUnique id for entity LocationPhysical position of the entity VelocityVelocity for the entity NOTE: FiringEntity and TargetEntity could be supported by the same EntityType What is a BOM?BOM HistoryBuilding / Using BOMs

51 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 51 EVENT TYPES Messages –Event directed to a specific receiver(s). –Send / Receive Type Model –Specifies an Intended Target Triggers –Event NOT directed to a specific receiver(s). –Publish / Subscribe Type Model –Species Condition of potential interest Content defines the information exchanged in the course of the event. trigger condition indicates the condition under which this event could be invoked. Source and Target specify the ”direction” of events. Example - Events What is a BOM?BOM HistoryBuilding / Using BOMs

52 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 52 What is a BOM?BOM HistoryBuilding / Using BOMs Entity Type Description State Machines Pattern of Interplay pattern actions Weapons Effect states Federation ActivitiesFederate Capability Event Type Description Pattern Description WeaponFire State Machine MunitionFlight Fire 2. MunitionDetonationAction 3. DamageStateUpdateAction WeaponsEffect ShooterStates MunitionFlight Ready TargetEntity FiringEntity WeaponFireAction 1. WeaponFireAction FiringEntity_identifer TargetEntity_identifer Munition_identifier na FiringEntity Identification State Machines Pattern of Interplay pattern actions Weapons Effect states Federation Activities Federate Capability Location BOM Conceptual Model - Relationship

53 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 53 Object Model Interface Object Classes HLA Object Class Attributes HLA Object Classes Interaction Classes HLA Interaction Class Parameters HLA Interaction Classes HLA Data Types Conceptual Model Pattern Description State Machine Entity Type Event Type Model Mapping Entity Type Mapping Event Type Mapping BOM Model Mapping Model Identification (Metadata) Platforms Enviro Objects Minefield Objects What Object Model items will support my Conceptual Model? WeaponsEffect Entity TypesEvent Types WeaponFire Radios Sensors Munitions LifeformsDetonations Collisions Radio Signal Repair Resupply Ack Enviro Object Transactions maps the relationship between the elements in the Conceptual Model space and the interface description elements described in the Object Model Space What is a BOM?BOM HistoryBuilding / Using BOMs

54 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 54 Model Mappings Entity Type Mapping Table Entity TypeHLA Object/Interaction ClassCharacteristicsHLA Attributes/ParametersCondtn FiringEntity HLAobjectClassRoot.BaseEntity.Ph ysicalEntity.Lifeform.Human IDHuman.EntityIdentifierNA LocationHuman.Spatial.SpatialFP.WorldLocationNA TargetEntity HLAobjectClassRoot.BaseEntity.Ph ysicalEntity.Platform IDPlatform.EntityIdentifierNA LocationPlatform.Spatial.SpatialFP.WorldLocationNA VelocityPlatform.Spatial.SpatialFP.VelocityVectorNA What is a BOM?BOM HistoryBuilding / Using BOMs

55 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 55 Model Mappings Event Type Mapping Table Event TypeHLA Object/Interaction ClassCharacteristicsHLA Attributes/ParametersCondition Weapon Fire HLAinteractionRoot. WeaponFire FiringEntity_Identifier.FiringObjectIdentifierNA TargetEntity_Identifier.TargetObjectIdentifierNA MunitionEntity_Identifier.MunitionObjectIdentifierNA Munition Detonation HLAinteractionRoot. MunitionDetonation FiringEntity_IdentifierMunitionDetonation. FiringObjectIdentifier NA TargetEntity_IdentifierMunitionDetonation. TargetObjectIdentifier NA Damage StateUpdate HLAobjectClassRoot. BaseEntity.PhysicalEntity Damage sustained from weapon fire PhysicalEntity. DamageState.DamageState !=.previousDamageState What is a BOM?BOM HistoryBuilding / Using BOMs

56 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 56 Object Model Def – Attributes Examples HLA Attributes ObjectAttributeDatatype Update Type UpdateCo nd. Ownersh ipP/S Available DimensionsTransportationOrder HLAobjectRootHLApriviledgeT oDelete NA HLAreliableReceive BaseEntitySpatialSpatial Struct Conditio nal NANo Transfer PSNAHLAreliableReceive PhysicalEntityForce Identifier ForceIdentifier Enum8 Conditio nal OnChangeNo Transfer PSNAHLAreliableReceive PlatformHatchStateHatchStateEn um32 Conditio nal OnChangeNo Transfer PSNAHLAreliableReceive LifeformStanceCodeStanceCodeE num32 Conditio nal OnChangeNo Transfer PSNAHLAreliableReceive Object Model Def - HLA Object Class Examples HLA Object Classes HLAobjectRootBaseEntityPhysicalEntity Platform LifeformHuman What is a BOM?BOM HistoryBuilding / Using BOMs

57 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 57 Object Model Def - HLA Interaction Class Examples HLA Interaction Classes HLAinteractionRoot WeaponFire MunitionDetonation Object Model Def –Parameters Examples HLA Parameters InteractionParameterDatatype MunitionDetonationMunitionObjectIdentifierNA MunitionDetonationRateOfFireSpatialStruct MuntionDetonationMunitionTypeForceIdentifierEnum8 : WeaponFireTargetObjectIdentifierHatchStateEnum32 WeaponFireWarheadTypeStanceCodeEnum32 What is a BOM?BOM HistoryBuilding / Using BOMs

58 Brief developed by Paul Gustavson (SimVentions) – pgustavson@simventions.com 58 HLA Object Class / Attribute Values HLA Interaction Class / Parameter Values InteractionParameterDatatypeAvailable DimensionsTransportationOrder Available Values User defined Static, Periodic, Condition NA HLAreliable, HLAbesteffort NA Receive, Timestamp, NA Default Selection--NA Attribute Datatype Update Type Update Condition OwnershipP/S Available Dimensio ns TransportationOrder Available Values User defined Static, Periodic, Conditional, NA rate value, on change, condition value, NA D, A, N, DA, NA P, S, PS, N, NA NA HLAreliable, HLAbesteffort, NA Receive, Timestamp, NA Default Selection --NA Discovering and Creating BOMs Filling in the BOM “Object Model Def” Information Available Choices / Default Values What is a BOM?BOM HistoryBuilding / Using BOMs


Download ppt "Brief developed by Paul Gustavson (SimVentions) – 1 Base Object Model (BOM) Overview Summer 2008."

Similar presentations


Ads by Google