Dynamic Dynamical Systems

20
Dynamic Dynamical Dynamic Dynamical Systems Systems George Cybenko George Cybenko Dartmouth College Dartmouth College [email protected] [email protected] IMA December 5, 2002 IMA December 5, 2002 Data-driven Control and Optimization Workshop Data-driven Control and Optimization Workshop

description

Dynamic Dynamical Systems. George Cybenko Dartmouth College [email protected] IMA December 5, 2002 Data-driven Control and Optimization Workshop. Examples of Dynamic Dynamical Systems. Web Services, .NET Framework Critical Infrastructures (eg power, internet, financial, etc) - PowerPoint PPT Presentation

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

DOD Vision of C4ISR

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?