M&S Ontology Framework for Complex System Development and Testing Bernard P. Zeigler Arizona Center for Integrative Modeling and Simulation University of Arizona March 2008 Modeling and Simulation (M&S) Framework Experimental Frame Source System Simulator Simulation Relation Modeling Relation Model M&S Framework formulated within UML M&S Framework classes classes Source systems construction mechanisms ontologies relationships constraints simulators models Experimental & Pragmatic Frames create classes to satisfy use cases Use Cases M&S sensor collect data retrieve model memory UML store model construc t model retri eve real worlddata store data model generated run model controlsimulator simulate model apply pragmatic frame goalaction planning generator motor validate model model generator apply experimen tal frame model evaluator predictive -simulator objectives interpretation as software code (e.g. Java) DEVS – Formal Specification of a System A discrete event system specification (DEVS) is a structure M=<X,S,Y,int, ext, con, ,ta> where X is the set of input values, S is a set of states, Y is the set of output values, int :S->S is the internal transition function, ext,:QX->S is the external transition function, con,:QX->S is the confluent transition function, ta: S->R + 0,∞ Where Q={(s,e)|sS, 0 e ta(s) } is the total state set, e is the time elapsed since last transition, :S->Y is the output function and R + 0,∞ is the set of positive reals with 0 and DEVS Hierarchical Modular Models System Entity Structure SES DEVS Model Output port message coupling Input port DEVS Model Hierarchical Composition, Coupling and Variants are Represented in System Entity Structure Some Types of Models Represented in DEVS Coupled Models Atomic Models Ordinary Differential Equation Models Processing/ Queuing/ Coordinating Spiking Neuron Models can be components in a coupled model Petri Net Models Networks, Collaborations Processing Networks Physical Space Spiking Neuron Networks n-Dim Cell Space Discrete Time/ StateChart Models Stochastic Models Cellular Automata Quantized Integrator Models Fuzzy Logic Models Partial Differential Equations Reactive Agent Models Multi Agent Systems Self Organized Criticality Models Ontology: scheme for organizing data about a Possible states domain of interest allowed by ontology “slots” e.g. Cake Ontology – what defines a cake? -- distinguish cake from pie, bicycle, .. -- cover all varieties of acceptable cakes -- distinguish well cooked cakes from others Real world things testability – how to test whether the standard admits well-cooked cakes and no other things Possible world states allowed by ontology constraints System Entity Structure: Wine Ontology Example WineGrowing WineDec Wine specialization WineColorSpec entity aspect Regions WineTasteSpec Region MultiAsp Region RoseWineColor WhiteWineColor regionGrows multiple aspect regionGrowsMultiAsp wineCountry wineCountryDec RedWineColor Region Wine SES-based Approach to Ontology Development using SES to XML translation Implementation Formal Model (Ontology) System Entity Structure (SES) offers framework for constructing model for domain of interest evaluate testing capability iterate can be developed from formal model Pruning Creates Submodels and Instances Pruning based on pragmatic frame SES for Cake Use Aspects, Specializations, … and Pragmatic Frame to develop System Entity Structure SES for Birthday Cake Birthday Cake instance3 Birthday Cake instance2 Birthday Cake instance1 DEVS/SES Ontology for M&S ontology level System Entity Structures Pruned Entity Structures pruning Simulation Models (DEVS) transform implementation level XML Schemata XML instances System Entity Structure (SES) : SESBuilder System Entity Structure/Model Base Repository: Support Automated DEVS Generation and Reuse Model construction Model Repository SES Experimental Frame prune and transform Finite Deterministic DEVS : FD-DEVS FDDEVS = <incomingMessageSet, outgoingMessageSet, StateSet, TimeAdvanceTable, InternalTransitionTable, ExternalTransitionTable,OutputTable> where incomingMessageSet, outgoingMessageSet, StateSet are finite sets TimeAdvanceTable: StateSet → R0,∞+ (the positive reals with zero and infinity) InternalTransitionTable: StateSet → StateSet ExternalTransitionTable: StateSet × incomingMessageSet → StateSet, OutputTable: StateSet → the set of subsets of outgoingMsgSet Natural Language For FDDEVS • to start hold in PHASE for time SIGMA • when in PHASE and receive MSG go to PHASE’ <eventually> • hold in PHASE for time SIGMA • after PHASE then output MSG • from PHASE go to PHASE’ Semantics defined by mapping into DEVS FD-DEVS • • • • • • The “right” abstraction of DEVS – retains important timing properties Amenable to analysis Supports automation Maps to DEVSJAVA Supplies a skelton that can be extended to full DEVS Simple XML expression ReqForAck send First StartAck ∞ send Second 0.5 10 Ack waitFor Start ∞ ReqForAck Ack Received Ack 10 last Chance send Third Ack 10 ReqForAck Example of Natural Language Spec: 1. to start passivate in waitForStart 2. when in waitForStart and receive StartAck go to sendFirst 3. hold in sendFirst for time 0.5 then output ReqForAck and go to sendSecond 4. hold in ackReceived for time Infinity 5. … Overall Processing Augmented Test Models Automated FDDEVS atomic model manual SES SES/XML Of DSR texts Pruned ES FDDEVS test models Automated Analysis: Based on State Input Pairs Enables Automated Test Model Generation Terminal State-Input Pairs: awaitingAdv , ProdFeasibilityFalse Defined State-Input pairs: listen ,orderOffer awaitingAdv,ProdFeasibilityFalse awaitingAdv, ProdFeasibilityTrue waitForConfrm ,Confirm Awaiting Adv OrderOffer ProdFeasibilityTrue listen waitFor Confirm Dominant State-Input pair: listen ,orderOffer Confirm Dominant StateInput pair paths: 2 4 waitForConfrm , Confirm ProdFeasibilityFalse State-Input pair paths: 1= listen ,OrderOffer 2 = listen , OrderOffer, awaitingAdv ,ProdFeasibilityFalse 3= listen ,OrderOffer awaitingAdv ,ProdFeasibilityTrue 4= listen ,OrderOffer awaitingAdv ,ProdFeasibilityTrue waitForConfrm ,Confirm State-Input Pairs mapped To Terminal State-Input pairs: listen ,orderOffer -> awaitingAdv , ProdFeasibilityFalse awaitingAdv , ProdFeasibilityTrue -> waitForConfrm, Confirm Generated Test Models in DEVSJAVA SimView AckCheck Observe Outputs Send inputs Observ Pass/Fa Trigger next in Sequence upon pass Model Driven Architecture and Ontology Development Gašević, D., Djurić, D, Devedžić, V, Springer-Verlag, Berlin, 2006, MOF MetaObject Facility OUP Ontology UML Profile UML Tool XMI ODM Ontology Definition Metamodel XSLT Processor OWL In the SES/DEVS framework • pruning is a critical behavior feature and there is no equivalent concept to pruning of SES instances in the UML • DEVS is a formalism that intrinsically controls time advances in arbitrarily complex models. UML run time semantics explicitly state that UML does not dictate how time elapses between its events Global Information Grid/Service Oriented Architecture Net-centric Enterprise Services (NCES) Net-Enabled Command & Control NCES: Secure, agile, robust, dependable, interoperable data-sharing environment for DOD where warfighter, business, and intelligence users share knowledge on a global network. This, in turn, facilitates information superiority, accelerates decision-making, effective operations and net-centric transformation. Requirements for Testing and Data Collection Testing for Organization and Ontology quality Content/Service Content discovery accuracy and effectiveness Catalogs/Registries Verification/ Validation relative to service Search Post WSDL find_xxx save_xxx (Bind) Content/Service XML XML Schema Payload Content/Service Assessment of content for pragmatic, semantic, syntactic correctness Provider Consumer Client SOAP Access (& Use) Simple Object Application Protocol Service Measurement of timeliness of information exchange Agents for Mission Thread–Based Testing Observing Agent for Major Smith Observing Agent for Intell Cell 3. Intell Cell initiates high priority collection against objective, and collectors post raw output SOAP SOAP 1. MAJ Smith tasks Intell to reconnoiter objective area and provide threat estimate Observing Agent alerts other Agent 2. Posts taskings using Discovery and Storage 4. Intell posts products via Discovery and Storage notes time of posting 5. Intell Cell issues alert via messaging 6. MAJ Smith pulls estimate from Storage Computes Time for Task, Measure Performance NCES GIG/SOA sends time to other Agent Auto-Generation of Standalone Agent Operation Step 1 Web service description & client code generation Web Service with WSDL Step 2 DEVS Agent Model & Experimental Frame Step 3 Execution of DEVS Simulation Augmenting Client code with DEVS Hooks DEVS Performance Test Environment Auto-generation of web service client With AXIS 1.4 Generating a Coupled model including Atomic Agent, AgentTransducer, and AgentAcceptor DEVS Agent Model & Experimental Frame (Step 2) • DEVS models & GUI code • The Structure of DEVS Hooks Application Client TestService e.g. getInfoByCity("Tucson") USZipSoapStub DEVS Hook DEVS Hook DevsListenerContainer NExecutor * DevsServiceListenerNet DEVS Coupled model DevsServiceListenerNet.java * SimView.SimViewController * WSresultsFrame * DevsSoapConnector informDevsAgent() DEVS Atomic models DevsServiceListener agentAcceptor agentTransd Experimental Frame Output Levels of System of System Interoperability Linguistic Level Interoperability Demonstrated if: Example Pragmatic – How information in message is used The receiver reacts to the message in a manner that the sender intends A commander’s order is obeyed by the troops in the field as the commander intended. (This assumes semantic interoperability.) Semantic – Shared understanding of meaning of messages The receiver assigns the same meaning as the sender did to the message. An order from a commander to multi-national participants in a coalition operation is understood in the same manner despite translation into different languages. Syntactic – Common rules governing composition and transmitting of messages The consumer is able to receive and parse the sender’s message A common network protocol (e.g., IPv4) ensures that all nodes on the network can send and receive data bit arrays while adhering to a prescribed format. Mapping M&S Layers to Linguistic Levels Collaboration Layer Semantic Web, Composition, Orchestration Pragmatic Level Design and Test Development Layer SES, DoDAF, Integrated System Development and Testing Experimental Frame Layer . Observers and Agents for Net-Centric Key Performance Parameters Semantic Level Modeling Layer Ontologies, Formalisms, Model Dynamic Structure, Life Cycle Continuity, Model Abstraction Execution Layer Syntactic Level Abstract Simulators, Real time Execution, Animation Visualization Network Layer Distributed Grids, Service Oriented Architectures Linguistic Levels in Testing Pragmatic Level Highest layer agents collaborate to control and observe mission thread executions End-to-end Mission Layer Higher layer agents inform lower level agents of the objectives for health monitoring Middle layer alert higher layer agents of network conditions that invalidate test results Semantic Level Information Exchange Layer Middle layer agents activate probes at lower layer Probe Layer Syntactic Level Network probes return statistics and alarms to higher layer agents DEVS/SOA Infrastructure: Supports Deployment and Execution of DEVS Models on the Web WEB SERVICE CLIENT DEVS Agent (Observer) DEVS Agent ( Virtual User) DEVSJAVA DEVS Modeling Language (DEVML) WEB SERVICE CLIENT DEVS Simulator Services Middleware (SOAP, RMI etc) Net-centric infrastructure Run Example Analysis-Based Network Data Extraction pruning Network Data Collection SES for Network Data Use Aspects, Specializations, … and Pragmatic Frame to develop System Entity Structure SES for Throughput Analysis SES for Protocol Analysis SES for Intrusion Detection Negotiation Modeling Approach FD-DEVS Market Place Domain-independent behavior FD-DEVS Domain-dependent structure SES message specializations ~ phases ~ message types storeSpec Surveillance Spec Receive message Interpret message Send message Applications • Natural language and Ontologies capture of high level information technology systems requirements • Automated generation of DEVS models for real-time net-centric IT systems testing • Development of web service workflows using DEVS/SOA • Network Traffic data capture, focused extraction, and model generation for exercising IT systems e.g., intrusion detection • Negotiation Service Applications Books and Web Links devsworld.org acims.arizona.edu Rtsync.com