Dynamic Dynamical Systems
-
Upload
tarik-beck -
Category
Documents
-
view
101 -
download
1
description
Transcript of Dynamic Dynamical Systems
Dynamic Dynamical Dynamic Dynamical SystemsSystems
George CybenkoGeorge CybenkoDartmouth CollegeDartmouth College
[email protected]@dartmouth.edu
IMA December 5, 2002IMA December 5, 2002Data-driven Control and Optimization WorkshopData-driven Control and Optimization Workshop
Examples of Dynamic Examples of Dynamic Dynamical SystemsDynamical Systems Web Services, .NET FrameworkWeb Services, .NET Framework Critical Infrastructures (eg power, Critical Infrastructures (eg power,
internet, financial, etc)internet, financial, etc) IBM’s Autonomic Computing (self aware, IBM’s Autonomic Computing (self aware,
self healing software applications)self healing software applications) DOD Command, Control, DOD Command, Control,
Communications, Computing, Communications, Computing, Intelligence, Surveillance, Intelligence, Surveillance, Reconnaissance (C4ISR) Systems of the Reconnaissance (C4ISR) Systems of the futurefuture
While the definition of autonomic computing will likely transform as contributing technologies mature, While the definition of autonomic computing will likely transform as contributing technologies mature, the following list suggests eight defining characteristics of an autonomic system. the following list suggests eight defining characteristics of an autonomic system.
1.1. An autonomic computing system needs to "know itself" - its components must also possess a An autonomic computing system needs to "know itself" - its components must also possess a system identity. Since a "system" can exist at many levels, an autonomic system will need detailed system identity. Since a "system" can exist at many levels, an autonomic system will need detailed knowledge of its components, current status, ultimate capacity, and all connections to other knowledge of its components, current status, ultimate capacity, and all connections to other systems to govern itself. It will need to know the extent of its "owned" resources, those it can systems to govern itself. It will need to know the extent of its "owned" resources, those it can borrow or lend, and those that can be shared or should be isolated.borrow or lend, and those that can be shared or should be isolated.
2.2. An autonomic computing system must configure and reconfigure itself under varying (and in the An autonomic computing system must configure and reconfigure itself under varying (and in the future, even unpredictable) conditions. System configuration or "setup" must occur automatically, as future, even unpredictable) conditions. System configuration or "setup" must occur automatically, as well as dynamic adjustments to that configuration to best handle changing environments.well as dynamic adjustments to that configuration to best handle changing environments.
3.3. An autonomic computing system never settles for the status quo - it always looks for ways to An autonomic computing system never settles for the status quo - it always looks for ways to optimize its workings. It will monitor its constituent parts and fine-tune workflow to achieve optimize its workings. It will monitor its constituent parts and fine-tune workflow to achieve predetermined system goals.predetermined system goals.
4.4. An autonomic computing system must perform something akin to healing - it must be able to An autonomic computing system must perform something akin to healing - it must be able to recover from routine and extraordinary events that might cause some of its parts to malfunction. It recover from routine and extraordinary events that might cause some of its parts to malfunction. It must be able to discover problems or potential problems, then find an alternate way of using must be able to discover problems or potential problems, then find an alternate way of using resources or reconfiguring the system to keep functioning smoothly.resources or reconfiguring the system to keep functioning smoothly.
5.5. A virtual world is no less dangerous than the physical one, so an autonomic computing system A virtual world is no less dangerous than the physical one, so an autonomic computing system must be an expert in self-protection. It must detect, identify and protect itself against various types must be an expert in self-protection. It must detect, identify and protect itself against various types of attacks to maintain overall system security and integrity.of attacks to maintain overall system security and integrity.
6.6. An autonomic computing system must know its environment and the context surrounding its An autonomic computing system must know its environment and the context surrounding its activity, and act accordingly. It will find and generate rules for how best to interact with neighboring activity, and act accordingly. It will find and generate rules for how best to interact with neighboring systems. It will tap available resources, even negotiate the use by other systems of its underutilized systems. It will tap available resources, even negotiate the use by other systems of its underutilized elements, changing both itself and its environment in the process -- in a word, adapting.elements, changing both itself and its environment in the process -- in a word, adapting.
7.7. An autonomic computing system cannot exist in a hermetic environment. While independent in its An autonomic computing system cannot exist in a hermetic environment. While independent in its ability to manage itself, it must function in a heterogeneous world and implement open standards -- ability to manage itself, it must function in a heterogeneous world and implement open standards -- in other words, an autonomic computing system cannot, by definition, be a proprietary solution.in other words, an autonomic computing system cannot, by definition, be a proprietary solution.
8.8. An autonomic computing system will anticipate the optimized resources needed while keeping its An autonomic computing system will anticipate the optimized resources needed while keeping its complexity hidden. It must marshal I/T resources to shrink the gap between the business or personal complexity hidden. It must marshal I/T resources to shrink the gap between the business or personal goals of the user, and the I/T implementation necessary to achieve those goals -- without involving goals of the user, and the I/T implementation necessary to achieve those goals -- without involving the user in that implementation.the user in that implementation.
IBM
Autonomic
Computing
DARPA IXO: A Rapidly Expanding Universe of DARPA IXO: A Rapidly Expanding Universe of Sensors, Weapons, and PlatformsSensors, Weapons, and Platforms
Approved for Public Release - Distribution Unlimited
Two Problems (among Two Problems (among many) to Solvemany) to Solve
Defining components so they can Defining components so they can join and leave the system join and leave the system dynamicallydynamically
Designing control strategies that Designing control strategies that are effective in such an are effective in such an environmentenvironment
FIRFilter.damlFIRFilter.daml<rdf:RDF xmlns:daml="http://www.daml.org/2001/03/daml+oil#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:service="http://www.daml.org/services/daml-s/0.7/Service.daml#" xmlns:process="http://www.daml.org/services/daml-s/0.7/Process.daml#" xmlns:profile="http://www.daml.org/services/daml-s/0.7/Profile.daml#" xmlns:grounding="http://www.daml.org/services/daml-s/0.7/Grounding.daml#" xmlns:sensorProfile="http://localhost/sensor/SensorProfileHierarchy.daml#" xmlns:dt="http://localhost/sensor/dt.xsd#" xmlns="http://localhost/sensor/FIRFilter.daml#">
<!-- Service description -->
<service:Service rdf:ID="FIRFilterService"> <service:presents rdf:resource="#FIRFilterProfile" /> <service:describedBy rdf:resource="#FIRFilterProcessModel" /> <service:supports rdf:resource="#FIRFilterGrounding" /></service:Service>
<!-- Profile description -->
<sensorProfile:FuseletService rdf:ID="FIRFilterProfile"> <service:isPresentedBy rdf:resource="#FIRFilterService"/> <profile:serviceName>FIR Filter</profile:serviceName> <profile:textDescription> This service is a Finite Impulse Response filter. </profile:textDescription> <profile:input> <profile:ParameterDescription rdf:ID="WindowType"> <profile:parameterName>WindowType</profile:parameterName> <profile:restrictedTo rdf:resource="#WindowTypeName"/> <profile:refersTo rdf:resource="#windowType"/> </profile:ParameterDescription> </profile:input> <profile:input> <profile:ParameterDescription rdf:ID="LowerFreqLimit"> <profile:parameterName>LowerFreqLimit</profile:parameterName> <profile:restrictedTo rdf:resource="http://localhost/services/concepts.daml#Frequency"/> <profile:refersTo rdf:resource="#lowerFreqLimit"/> </profile:ParameterDescription> </profile:input> <profile:input> <profile:ParameterDescription rdf:ID="UpperFreqLimit"> <profile:parameterName>UpperFreqLimit</profile:parameterName> <profile:restrictedTo rdf:resource="http://localhost/services/concepts.daml#Frequency"/> <profile:refersTo rdf:resource="#upperFreqLimit"/> </profile:ParameterDescription> </profile:input>
<profile:input> <profile:ParameterDescription rdf:ID="SoundInput"> <profile:parameterName>SoundInput</profile:parameterName> <profile:restrictedTo rdf:resource="http://localhost/sensor/dt.daml#wav"/> <profile:refersTo rdf:resource="#soundInput"/> </profile:ParameterDescription> </profile:input>
<profile:output> <profile:ParameterDescription rdf:ID="SoundOutput"> <profile:parameterName>SoundOutput</profile:parameterName> <profile:restrictedTo rdf:resource="http://localhost/sensor/dt.daml#wav"/> <profile:refersTo rdf:resource="#soundOutput"/> </profile:ParameterDescription> </profile:output></sensorProfile:FuseletService>
<!-- Process Model description -->
<process:ProcessModel rdf:ID="FIRFilterProcessModel"> <service:describes rdf:resource="#FIRFilterService" /> <process:hasProcess rdf:resource="#FIRFilterProcess" /> </process:ProcessModel>
<daml:Class rdf:ID="FIRFilterProcess"> <rdfs:subClassOf rdf:resource="http://www.daml.org/services/daml-s/0.7/Process.daml#AtomicProcess" /> <rdfs:subClassOf> <daml:Restriction daml:cardinality="1"> <daml:onProperty rdf:resource="#windowType" /> </daml:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <daml:Restriction daml:cardinality="1"> <daml:onProperty rdf:resource="#lowerFreqLimit" /> </daml:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <daml:Restriction daml:cardinality="1"> <daml:onProperty rdf:resource="#upperFreqLimit" /> </daml:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <daml:Restriction daml:cardinality="1"> <daml:onProperty rdf:resource="#soundInput" /> </daml:Restriction> </rdfs:subClassOf></daml:Class>
<rdf:Property rdf:ID="windowType"> <rdfs:subPropertyOf rdf:resource="http://www.daml.org/services/daml-s/0.7/Process.daml#input" /> <rdfs:domain rdf:resource="#FIRFilterProcess" /> <rdfs:range rdf:resource="#WindowTypeName" /> </rdf:Property>
<rdf:Property rdf:ID="lowerFreqLimit"> <rdfs:subPropertyOf rdf:resource="http://www.daml.org/services/daml-s/0.7/Process.daml#input" /> <rdfs:domain rdf:resource="#FIRFilterProcess" /> <rdfs:range rdf:resource="http://localhost/services/concepts.daml#Frequency" /> </rdf:Property>
<rdf:Property rdf:ID="upperFreqLimit"> <rdfs:subPropertyOf rdf:resource="http://www.daml.org/services/daml-s/0.7/Process.daml#input" /> <rdfs:domain rdf:resource="#FIRFilterProcess" /> <rdfs:range rdf:resource="http://localhost/services/concepts.daml#Frequency" /> </rdf:Property>
<rdf:Property rdf:ID="soundInput"> <rdfs:subPropertyOf rdf:resource="http://www.daml.org/services/daml-s/0.7/Process.daml#input" /> <rdfs:domain rdf:resource="#FIRFilterProcess" /> <rdfs:range rdf:resource="http://localhost/sensor/dt.daml#wav" /> </rdf:Property>
<rdf:Property rdf:ID="soundOutput"> <rdfs:subPropertyOf rdf:resource="http://www.daml.org/services/daml-s/0.7/Process.daml#output" /> <rdfs:domain rdf:resource="#FIRFilterProcess" /> <rdfs:range rdf:resource="http://localhost/sensor/dt.daml#wav" /> </rdf:Property>
<!-- Grounding description -->
<grounding:WsdlGrounding rdf:ID="FIRFilterGrounding"> <service:supportedBy rdf:resource="#FIRFilterProcess" /> <grounding:hasAtomicProcessGrounding rdf:resource="#FIRFilterProcessGrounding" /> </grounding:WsdlGrounding>
<grounding:WsdlAtomicProcessGrounding rdf:ID="FIRFilterProcessGrounding"> <grounding:damlsProcess rdf:resource="#FIRFilterProcess"/> <grounding:wsdlOperation rdf:resource="http://localhost/sensor/FIRFilter.wsdl#Process"/> <grounding:wsdlInputMessage rdf:resource="http://localhost/sensor/FIRFilter.wsdl#ProcessRequest"/> <grounding:wsdlInputMessageParts rdf:parseType="daml:collection"> <grounding:WsdlMessageMap> <grounding:damlsParameter rdf:resource="#windowType"/> <grounding:wsdlMessagePart rdf:resource="http://localhost/sensor/FIRFilter.wsdl#WindowType"/> </grounding:WsdlMessageMap> <grounding:WsdlMessageMap> <grounding:damlsParameter rdf:resource="#lowerFreqLimit"/> <grounding:wsdlMessagePart rdf:resource="http://localhost/sensor/FIRFilter.wsdl#LowerFreqLimit"/> </grounding:WsdlMessageMap> <grounding:WsdlMessageMap> <grounding:damlsParameter rdf:resource="#upperFreqLimit"/> <grounding:wsdlMessagePart rdf:resource="http://localhost/sensor/FIRFilter.wsdl#UpperFreqLimit"/> </grounding:WsdlMessageMap> <grounding:WsdlMessageMap> <grounding:damlsParameter rdf:resource="#soundInput"/> <grounding:wsdlMessagePart rdf:resource="http://localhost/sensor/FIRFilter.wsdl#SoundInput"/> </grounding:WsdlMessageMap> </grounding:wsdlInputMessageParts> <grounding:wsdlOutputMessage rdf:resource="http://localhost/sensor/FIRFilter.wsdl#ProcessResponse"/> <grounding:wsdlOutputMessageParts rdf:parseType="daml:collection"> <grounding:WsdlMessageMap> <grounding:damlsParameter rdf:resource="#soundOutput"/> <grounding:wsdlMessagePart rdf:resource="http://localhost/sensor/FIRFilter.wsdl#SoundOutput"/> </grounding:WsdlMessageMap> </grounding:wsdlOutputMessageParts> <grounding:wsdlReference>http://www.w3.org/TR/2001/NOTE-wsdl-20010315</grounding:wsdlReference> <grounding:otherReference>http://www.w3.org/TR/2001/NOTE-wsdl-20010315 http://schemas.xmlsoap.org/wsdl/soap/ http://schemas.xmlsoap.org/soap/http/</grounding:otherReference> <grounding:wsdlDocument>http://localhost/sensor/FIRFilter.wsdl</grounding:wsdlDocument> </grounding:WsdlAtomicProcessGrounding>
<daml:Class rdf:ID="WindowTypeName"> <daml:oneOf rdf:parseType="daml:collection"> <WindowTypeName rdf:ID="Rectangular"/> <WindowTypeName rdf:ID="Hanning"/> <WindowTypeName rdf:ID="Hamming"/> <WindowTypeName rdf:ID="Blackman"/> </daml:oneOf></daml:Class>
</rdf:RDF>
<rdf:Property rdf:ID="windowType"> <rdfs:subPropertyOf rdf:resource="http://www.daml.org/services/daml-s/0.7/Process.daml#input" /> <rdfs:domain rdf:resource="#FIRFilterProcess" /> <rdfs:range rdf:resource="#WindowTypeName" /> </rdf:Property>
<rdf:Property rdf:ID="lowerFreqLimit"> <rdfs:subPropertyOf rdf:resource="http://www.daml.org/services/daml-s/0.7/Process.daml#input" /> <rdfs:domain rdf:resource="#FIRFilterProcess" /> <rdfs:range rdf:resource="http://localhost/services/concepts.daml#Frequency" /> </rdf:Property>
Sensor.damlSensor.daml<rdf:RDF xmlns:daml="http://www.daml.org/2001/03/daml+oil#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"xmlns="http://localhost/sensor/sensor-jpa.daml#">
<daml:Class rdf:ID="Sensor"/>
<daml:ObjectProperty rdf:ID="Name"><rdfs:domain rdf:resource="#Sensor"/><rdfs:range rdf:resource="#SensorName"/>
</daml:ObjectProperty>
<daml:Class rdf:ID="SensorName"/>
<daml:DatatypeProperty rdf:ID="LongName"><rdfs:domain rdf:resource="#SensorName"/><rdfs:range rdf:resource="http://www.w3.org/2000/10/XMLSchema#string"/>
</daml:DatatypeProperty>
<daml:DatatypeProperty rdf:ID="ShortName"><rdfs:domain rdf:resource="#SensorName"/><rdfs:range rdf:resource="http://www.w3.org/2000/10/XMLSchema#string"/>
</daml:DatatypeProperty>
<daml:DatatypeProperty rdf:ID="Description"><rdfs:domain rdf:resource="#SensorName"/><rdfs:range rdf:resource="http://www.w3.org/2000/10/XMLSchema#string"/>
</daml:DatatypeProperty>
<daml:DatatypeProperty rdf:ID="SerialNumber"><rdfs:domain rdf:resource="#SensorName"/><rdfs:range rdf:resource="http://www.w3.org/2000/10/XMLSchema#string"/>
</daml:DatatypeProperty>
<daml:ObjectProperty rdf:ID="Type"><rdfs:domain rdf:resource="#Sensor"/><rdfs:range rdf:resource="#SensorType"/>
</daml:ObjectProperty>
<daml:Class rdf:ID="SensorType"/>
<daml:ObjectProperty rdf:ID="SensingMechanism"><rdfs:domain rdf:resource="#SensorType"/><rdfs:range rdf:resource="#SensingMechanismType"/>
</daml:ObjectProperty>
<daml:Class rdf:ID="SensingMechanismType"><daml:oneOf rdf:parseType="daml:collection">
<SensingMechanismType rdf:ID="ElectricMagnetic"/><SensingMechanismType rdf:ID="Mechanical"/><SensingMechanismType rdf:ID="Biological"/><SensingMechanismType rdf:ID="Chemical"/><SensingMechanismType rdf:ID="Radioactive"/><SensingMechanismType rdf:ID="Cyber"/><SensingMechanismType rdf:ID="Optical"/><SensingMechanismType rdf:ID="OtherMechanismType"/>
</daml:oneOf></daml:Class>
<daml:ObjectProperty rdf:ID="SensingMeasurement"><rdfs:domain rdf:resource="#SensorType"/><rdfs:range rdf:resource="#SensingMeasurementType"/>
</daml:ObjectProperty>
<daml:Class rdf:ID="SensingMeasurementType"><daml:oneOf rdf:parseType="daml:collection">
<SensingMeasurementType rdf:ID="Humidity"/><SensingMeasurementType rdf:ID="Pressure"/><SensingMeasurementType rdf:ID="Temperature"/><SensingMeasurementType rdf:ID="Wind"/><SensingMeasurementType rdf:ID="Frequency"/><SensingMeasurementType rdf:ID="Position"/><SensingMeasurementType rdf:ID="LightIntensity"/><SensingMeasurementType rdf:ID="SoundIntensity"/><SensingMeasurementType rdf:ID="Radiation"/><SensingMeasurementType rdf:ID="MechanicalVibration"/><SensingMeasurementType rdf:ID="OtherMeasurementType"/>
</daml:oneOf></daml:Class>
<daml:ObjectProperty rdf:ID="SensingMode"><rdfs:domain rdf:resource="#SensorType"/><rdfs:range rdf:resource="#SensingModeType"/>
</daml:ObjectProperty>
<daml:Class rdf:ID="SensingModeType"><daml:oneOf rdf:parseType="daml:collection">
<SensingModeType rdf:ID="Active"/><SensingModeType rdf:ID="Passive"/>
</daml:oneOf></daml:Class>
<daml:ObjectProperty rdf:ID="TriggerMode"><rdfs:domain rdf:resource="#SensorType"/><rdfs:range rdf:resource="#TriggerModeType"/>
</daml:ObjectProperty>
<daml:Class rdf:ID="TriggerModeType"><daml:oneOf rdf:parseType="daml:collection">
<TriggerModeType rdf:ID="Triggered"/><TriggerModeType rdf:ID="Untriggered"/>
</daml:oneOf></daml:Class>
<daml:ObjectProperty rdf:ID="Location"><rdfs:domain rdf:resource="#Sensor"/><rdfs:range rdf:resource="#SensorLocation"/>
</daml:ObjectProperty>
<daml:Class rdf:ID="SensorLocation"/>
<daml:ObjectProperty rdf:ID="AddressLocation"><rdfs:domain rdf:resource="#SensorLocation"/><rdfs:range rdf:resource="#SensorAddress"/>
</daml:ObjectProperty>
<daml:Class rdf:ID="SensorAddress"/>
<daml:DatatypeProperty rdf:ID="Street"><rdfs:domain rdf:resource="#SensorAddress"/><rdfs:range rdf:resource="http://www.w3.org/2000/10/XMLSchema#string"/>
</daml:DatatypeProperty>
<daml:DatatypeProperty rdf:ID="County"><rdfs:domain rdf:resource="#SensorAddress"/><rdfs:range rdf:resource="http://www.w3.org/2000/10/XMLSchema#string"/>
</daml:DatatypeProperty>
<daml:DatatypeProperty rdf:ID="City"><rdfs:domain rdf:resource="#SensorAddress"/><rdfs:range rdf:resource="http://www.w3.org/2000/10/XMLSchema#string"/>
</daml:DatatypeProperty>
<daml:DatatypeProperty rdf:ID="Country"><rdfs:domain rdf:resource="#SensorAddress"/><rdfs:range rdf:resource="http://www.w3.org/2000/10/XMLSchema#string"/>
</daml:DatatypeProperty>
<daml:DatatypeProperty rdf:ID="State"><rdfs:domain rdf:resource="#SensorAddress"/><rdfs:range rdf:resource="http://www.w3.org/2000/10/XMLSchema#string"/>
</daml:DatatypeProperty>
<daml:DatatypeProperty rdf:ID="ZipCode"><rdfs:domain rdf:resource="#SensorAddress"/><rdfs:range rdf:resource="http://www.w3.org/2000/10/XMLSchema#string"/>
</daml:DatatypeProperty>
<daml:ObjectProperty rdf:ID="GeoLocation"><rdfs:domain rdf:resource="#SensorLocation"/><rdfs:range rdf:resource="#SensorGeo"/>
</daml:ObjectProperty>
<daml:Class rdf:ID="SensorGeo"></daml:Class>
<daml:DatatypeProperty rdf:ID="Latitude"><rdfs:domain rdf:resource="#SensorGeo"/><rdfs:range rdf:resource="http://www.w3.org/2000/10/XMLSchema#string"/>
</daml:DatatypeProperty>
<daml:DatatypeProperty rdf:ID="Longitude"><rdfs:domain rdf:resource="#SensorGeo"/><rdfs:range rdf:resource="http://www.w3.org/2000/10/XMLSchema#string"/>
</daml:DatatypeProperty>
<daml:DatatypeProperty rdf:ID="Altitude"><rdfs:domain rdf:resource="#SensorGeo"/><rdfs:range rdf:resource="http://www.w3.org/2000/10/XMLSchema#string"/>
</daml:DatatypeProperty>
<daml:DatatypeProperty rdf:ID="URI"><rdfs:domain rdf:resource="#SensorLocation"/><rdfs:range rdf:resource="http://www.w3.org/2000/10/XMLSchema#string"/>
</daml:DatatypeProperty>
<daml:ObjectProperty rdf:ID="Time"><rdfs:domain rdf:resource="#Sensor"/><rdfs:range rdf:resource="#SensorTime"/>
</daml:ObjectProperty>
<daml:Class rdf:ID="SensorTime"/>
<daml:ObjectProperty rdf:ID="WorkingMode"><rdfs:domain rdf:resource="#SensorTime"/><rdfs:range rdf:resource="#WorkingModeType"/>
</daml:ObjectProperty>
<daml:Class rdf:ID="WorkingModeType"><daml:oneOf rdf:parseType="daml:collection">
<WorkingModeType rdf:ID="Instant"/><WorkingModeType rdf:ID="Temporary"/><WorkingModeType rdf:ID="Continuous"/>
</daml:oneOf></daml:Class>
<daml:ObjectProperty rdf:ID="Data"><rdfs:domain rdf:resource="#Sensor"/><rdfs:range rdf:resource="#SensorData"/>
</daml:ObjectProperty>
<daml:Class rdf:ID="SensorData"/>
<daml:ObjectProperty rdf:ID="Format"><rdfs:domain rdf:resource="#SensorData"/><rdfs:range rdf:resource="#FormatType"/>
</daml:ObjectProperty>
<daml:Class rdf:ID="FormatType"/><FormatType rdf:ID="Binary"/><FormatType rdf:ID="Ascii"/><FormatType rdf:ID="Analog"/>
<daml:DatatypeProperty rdf:ID="Unit"><rdfs:domain rdf:resource="#SensorData"/><rdfs:range rdf:resource="http://www.w3.org/2000/10/XMLSchema#string"/>
</daml:DatatypeProperty>
<daml:ObjectProperty rdf:ID="EncryptionMode"><rdfs:domain rdf:resource="#SensorData"/><rdfs:range rdf:resource="#EncryptionModeType"/>
</daml:ObjectProperty>
<daml:Class rdf:ID="EncryptionModeType"/><EncryptionModeType rdf:ID="Plain"/>
<daml:DatatypeProperty rdf:ID="Sample"><rdfs:domain rdf:resource="#SensorData"/><rdfs:range rdf:resource="http://www.w3.org/2000/10/XMLSchema#string"/>
</daml:DatatypeProperty>
<daml:ObjectProperty rdf:ID="Specification"><rdfs:domain rdf:resource="#Sensor"/><rdfs:range rdf:resource="#SensorSpecification"/>
</daml:ObjectProperty>
<daml:Class rdf:ID="SensorSpecification"/>
<daml:ObjectProperty rdf:ID="Mobility"><rdfs:domain rdf:resource="#SensorSpecification"/><rdfs:range rdf:resource="#MobilityType"/>
</daml:ObjectProperty>
<daml:Class rdf:ID="MobilityType"><daml:oneOf rdf:parseType="daml:collection">
<MobilityType rdf:ID="FixedMobility"/><MobilityType rdf:ID="MobileMobility"/>
</daml:oneOf></daml:Class>
<daml:ObjectProperty rdf:ID="Power"><rdfs:domain rdf:resource="#SensorSpecification"/><rdfs:range rdf:resource="#PowerType"/>
</daml:ObjectProperty>
<daml:Class rdf:ID="PowerType"><daml:oneOf rdf:parseType="daml:collection">
<PowerType rdf:ID="Renewable"/><PowerType rdf:ID="Fixed"/><PowerType rdf:ID="Rechargable"/>
</daml:oneOf></daml:Class>
<daml:DatatypeProperty rdf:ID="Range"><rdfs:domain rdf:resource="#SensorSpecification"/><rdfs:range rdf:resource="http://www.w3.org/2000/10/XMLSchema#string"/>
</daml:DatatypeProperty>
<daml:DatatypeProperty rdf:ID="Resolution"><rdfs:domain rdf:resource="#SensorSpecification"/><rdfs:range rdf:resource="http://www.w3.org/2000/10/XMLSchema#string"/>
</daml:DatatypeProperty>
<daml:DatatypeProperty rdf:ID="Accuracy"><rdfs:domain rdf:resource="#SensorSpecification"/><rdfs:range rdf:resource="http://www.w3.org/2000/10/XMLSchema#string"/>
</daml:DatatypeProperty>
<daml:DatatypeProperty rdf:ID="ExpireTime"><rdfs:domain rdf:resource="#SensorSpecification"/><rdfs:range rdf:resource="http://www.w3.org/2000/10/XMLSchema#string"/>
</daml:DatatypeProperty>
<daml:DatatypeProperty rdf:ID="SamplingRate"><rdfs:domain rdf:resource="#SensorSpecification"/><rdfs:range rdf:resource="http://www.w3.org/2000/10/XMLSchema#string"/>
</daml:DatatypeProperty>
<daml:ObjectProperty rdf:ID="Contact"><rdfs:domain rdf:resource="#Sensor"/><rdfs:range rdf:resource="#SensorContact"/>
</daml:ObjectProperty>
<daml:Class rdf:ID="SensorContact"/>
<daml:DatatypeProperty rdf:ID="Organization"><rdfs:domain rdf:resource="#SensorContact"/><rdfs:range rdf:resource="http://www.w3.org/2000/10/XMLSchema#string"/>
</daml:DatatypeProperty>
<daml:DatatypeProperty rdf:ID="Person"><rdfs:domain rdf:resource="#SensorContact"/><rdfs:range rdf:resource="http://www.w3.org/2000/10/XMLSchema#string"/>
</daml:DatatypeProperty>
<daml:ObjectProperty rdf:ID="Address"><rdfs:domain rdf:resource="#SensorContact"/><rdfs:range rdf:resource="#SensorAddress"/>
</daml:ObjectProperty>
<daml:DatatypeProperty rdf:ID="Email"><rdfs:domain rdf:resource="#SensorContact"/><rdfs:range rdf:resource="http://www.w3.org/2000/10/XMLSchema#string"/>
</daml:DatatypeProperty>
<daml:DatatypeProperty rdf:ID="Phone"><rdfs:domain rdf:resource="#SensorContact"/><rdfs:range rdf:resource="http://www.w3.org/2000/10/XMLSchema#string"/>
</daml:DatatypeProperty>
<daml:DatatypeProperty rdf:ID="Purpose"><rdfs:domain rdf:resource="#SensorContact"/><rdfs:range rdf:resource="http://www.w3.org/2000/10/XMLSchema#string"/>
</daml:DatatypeProperty>
<daml:DatatypeProperty rdf:ID="Manufacturer"><rdfs:domain rdf:resource="#SensorContact"/><rdfs:range rdf:resource="http://www.w3.org/2000/10/XMLSchema#string"/>
</daml:DatatypeProperty>
</rdf:RDF>
<daml:ObjectProperty rdf:ID="SensingMode"><rdfs:domain rdf:resource="#SensorType"/><rdfs:range rdf:resource="#SensingModeType"/>
</daml:ObjectProperty>
<daml:Class rdf:ID="SensingModeType"><daml:oneOf rdf:parseType="daml:collection">
<SensingModeType rdf:ID="Active"/><SensingModeType rdf:ID="Passive"/>
</daml:oneOf></daml:Class>
<daml:ObjectProperty rdf:ID="TriggerMode"><rdfs:domain rdf:resource="#SensorType"/><rdfs:range rdf:resource="#TriggerModeType"/>
</daml:ObjectProperty>
Semantic Services TestbedSemantic Services Testbed
SOAPWSDL
DB
Battlefield
WebService
SOAPWSDL
WebService
Intelligence Database
JessKB/Parka-DB
Knowledge Base
Publish SMLInstances
AcousticSensor
Target
TrackingApplication
GUI
Target
Sensor
Shooter Publish DAML-SInstances
P2P Net JXTA
Search
Query
N1
N5
N7
N2
N9
F2F4
F5
Fuselet Pool
OtherApplications
Query
Upload Fuselet
Data
Mission
ProcessModel
Composer
Match
UMD
Sensor
Signal
Feature
Pattern
How deep into the graph does one How deep into the graph does one have to go to determine have to go to determine interoperability?interoperability?
acoustic sensoracoustic sensor
meanmean
inputsinputsoutputsoutputs
trackertrackersensorsensor
fusion enginefusion engine
locationlocation reportsreports
matrixmatrix
covariancecovariance
trackstracks
variancevariance
matrixmatrixmatrixmatrix
errorserrors
reportsreports
matrixmatrix
errorserrors
unitsunits
xxxx yyyy
airborne radarairborne radar
locationlocation
matrixmatrix
matrixmatrixmatrixmatrix
matrixmatrix
Semantic “Depth”Semantic “Depth”
Explicit Semantics - used for interoperability
within a given domain(shallow, abstract, etc)
Semanticsrequired tocommunicatewith Martians
“A”
“C”
“B”
CA+B+C
Implicit Semantics - assumed withina given domain
(deep, concrete, etc) Each circlerepresents
semantics ofa service/sourceand the overlapis the common
semantics/terms.Examples - hard-coded routine has high implicit semantics;highly negotiated, annotated composible service has highexplicit semantics, etc
“C” represents explicit common formats and assumptions required for effective interoperability between parties
Deep Semantics and Markup Deep Semantics and Markup ComplexityComplexity
t=0.5, levels=1 t=0.5, levels=2
Plots of reduction in complexity vs zmax and wmax
Enabling Information Enabling Information Visibility and Fluidity Visibility and Fluidity
Ontology Network
System Network
Ontologies
Systems
Ontology Mapping
Semantically Interoperable
Jiang, Cybenko, HendlerUses “Small Worlds” Model and Analysis
Functional Validation of Functional Validation of Semantics Semantics (Jiang & Cybenko, Autonomous Agents to (Jiang & Cybenko, Autonomous Agents to appear)appear)
Second Challenge – Second Challenge – Control Control
Traditional ingredients of a Traditional ingredients of a control system:control system:– State space and state estimationState space and state estimation– Dynamics (possibly stochastic)Dynamics (possibly stochastic)– Cost functionCost function
Dynamic dynamical systemDynamic dynamical system– All these can change dynamicallyAll these can change dynamically– Stability, convergence?Stability, convergence?
q(1,1,op1)
q(1,2,op2)q(2,1,op3)
q(*,2,op4)q(2,2,op4)
Content-based RoutingContent-based RoutingCybenko and Jiang, CDC Dec 2002Cybenko and Jiang, CDC Dec 2002
q(1,1,op1) & q(1,2,op2)
q(2,1,op3) | q(2,2,op4)
q(client,sensor,operation)
q(1,2,op2) < q(2,2,op4)
c1
c2
s1
s2
& means downstream flow is smaller
| means downstream flow is the same
fusion nodes ofdifferent loads/power
links of different latencies/bw
adapt to changes
Existing ExamplesExisting Examples
Discrete diffusion (load balancing)Discrete diffusion (load balancing) Time To Live (TTL) in TCP creates Time To Live (TTL) in TCP creates
a certain stability on the Interneta certain stability on the Internet Energy, “money”Energy, “money”
Finite nonincreasing resources – Finite nonincreasing resources – distributed Lyapunov functionsdistributed Lyapunov functions
Required logicRequired logic
Do foreverDo forever
Discover system componentsDiscover system components
Parse descriptionsParse descriptions
Build a system modelBuild a system model
Do for some timeDo for some time
Estimate stateEstimate state
Compute controlCompute control
Implement controlImplement control
Classical
Validation, stability, optimality?Validation, stability, optimality?
Two Problems (among Two Problems (among many) to Solvemany) to Solve
Defining components so they can Defining components so they can join and leave the system join and leave the system dynamicallydynamically
Designing control strategies that Designing control strategies that are effective in such an are effective in such an environmentenvironment
Getting above the weeds Getting above the weeds - from “existence proofs” to new computing - from “existence proofs” to new computing models and the software engineering tools to models and the software engineering tools to implement themimplement them
Algorithms + Data Structures = Programs
Algorithms + Data Structures = Programs
New Stochastic Control Logics + Semantics = Dynamic Dynamical Systems
New Stochastic Control Logics + Semantics = Dynamic Dynamical Systems
Weiner vs Turing/von Neumann?