• CyberCyber – computation, communication, and control that are discrete,
logical, and switched
• Physical – natural and human-made systems governed by the laws of
physics and operating in continuous time
• Cyber-Physical Systems – systems in which the cyber and
physical systems are tightly integrated at all scales and levelsChange from
cyber merely appliquéd on physical
• Change from physical with off-the-shelf commodity “computing as parts”
mindset
• Change from ad hoc to grounded, assured development
Characterstics of CPSs
MODULES IN CPS
The embedded systems problem:
• Embedded software is software on small
computers. The technical problem is one of
optimization (coping with limited resources).
The CPS problem:
• Computation and networking integrated with
physical processes. The technical problem is
managing time and concurrency in networked
computational systems.
Crosses Interdisciplinary Boundaries
package org.apache.tomcat.session;
import org.apache.tomcat.core.*;
import org.apache.tomcat.util.StringManager;
import java.io.*;
import java.net.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
/**
* Core implementation of a server session
*
* @author James Duncan Davidson [duncan@eng.sun.com]
* @author James Todd [gonzo@eng.sun.com]
*/
public class ServerSession {
private StringManager sm =
StringManager.getManager("org.apache.tomcat.session");
private Hashtable values = new Hashtable();
private Hashtable appSessions = new Hashtable();
private String id;
private long creationTime = System.currentTimeMillis();;
private long thisAccessTime = creationTime;
private long lastAccessed = creationTime;
private int inactiveInterval = -1;
ServerSession(String id) {
this.id = id;
}
public String getId() {
return id;
}
public long getCreationTime() {
return creationTime;
}
public long getLastAccessedTime() {
return lastAccessed;
}
public ApplicationSession getApplicationSession(Context context,
boolean create) {
ApplicationSession appSession =
(ApplicationSession)appSessions.get(context);
if (appSession == null && create) {
// XXX
// sync to ensure valid?
appSession = new ApplicationSession(id, this, context);
appSessions.put(context, appSession);
}
// XXX
// make sure that we haven't gone over the end of our
// inactive interval -- if so, invalidate and create
// a new appSession
return appSession;
}
void removeApplicationSession(Context context) {
appSessions.remove(context);
}
/**
* Called by context when request comes in so that accesses and
* inactivities can be dealt with accordingly.
*/
void accessed() {
// set last accessed to thisAccessTime as it will be left over
// from the previous access
lastAccessed = thisAccessTime;
thisAccessTime = System.currentTimeMillis();
}
void validate()
Software Control
• Disciplinary boundaries need to be realigned
• New fundamentals need to be created
• New technologies and tools need to be developed
• Education need to be restructured
Computing
System
Composition
Domain
Physical
instantiation
Physical
System
Composi
tion
Domain
• “Cyber” Models
• Modeling Languages
– Structure
– Behaviors
• Mathematical Domains
– traces/state variables
– no reference
semantics
or “semantic units”
• Physical Models
• Modeling Languages
– Structure
– Behaviors
• Physical Laws
– Physical
variables
– Physical Units
• Transform how we interact with the physical world just like the
internet transformed how we interact with one another.
– Transcend space
– Control the physical environment remotely
• Building CPSs that integrate computational and physical objects
requires new systems science foundations.
– Fusion of physical and computational
sciences
• Rich time models instead
of sequencing
• Behavioral invariants
instead of end results
• Functionality through
interactions of ongoing
behaviors instead of
sequence of actions
• Component architectures
instead of procedural
abstraction
• Concurrency models with
partially ordered instead of
linearly ordered event sets
 Precise interaction and
coordination protocols
 Hugely increased system
size with controllable,
stable behavior
 Dynamic system
architectures (nature and
extent of interaction can
be modified)
 Adaptive, autonomic
behavior
 Self-descriptive, self
monitoring system
architecture for safety
guarantees.
POSTER
THANK YOU!

Final cyber physical system (1)

  • 4.
    • CyberCyber –computation, communication, and control that are discrete, logical, and switched • Physical – natural and human-made systems governed by the laws of physics and operating in continuous time • Cyber-Physical Systems – systems in which the cyber and physical systems are tightly integrated at all scales and levelsChange from cyber merely appliquéd on physical • Change from physical with off-the-shelf commodity “computing as parts” mindset • Change from ad hoc to grounded, assured development
  • 8.
  • 9.
  • 11.
    The embedded systemsproblem: • Embedded software is software on small computers. The technical problem is one of optimization (coping with limited resources). The CPS problem: • Computation and networking integrated with physical processes. The technical problem is managing time and concurrency in networked computational systems.
  • 12.
    Crosses Interdisciplinary Boundaries packageorg.apache.tomcat.session; import org.apache.tomcat.core.*; import org.apache.tomcat.util.StringManager; import java.io.*; import java.net.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; /** * Core implementation of a server session * * @author James Duncan Davidson [duncan@eng.sun.com] * @author James Todd [gonzo@eng.sun.com] */ public class ServerSession { private StringManager sm = StringManager.getManager("org.apache.tomcat.session"); private Hashtable values = new Hashtable(); private Hashtable appSessions = new Hashtable(); private String id; private long creationTime = System.currentTimeMillis();; private long thisAccessTime = creationTime; private long lastAccessed = creationTime; private int inactiveInterval = -1; ServerSession(String id) { this.id = id; } public String getId() { return id; } public long getCreationTime() { return creationTime; } public long getLastAccessedTime() { return lastAccessed; } public ApplicationSession getApplicationSession(Context context, boolean create) { ApplicationSession appSession = (ApplicationSession)appSessions.get(context); if (appSession == null && create) { // XXX // sync to ensure valid? appSession = new ApplicationSession(id, this, context); appSessions.put(context, appSession); } // XXX // make sure that we haven't gone over the end of our // inactive interval -- if so, invalidate and create // a new appSession return appSession; } void removeApplicationSession(Context context) { appSessions.remove(context); } /** * Called by context when request comes in so that accesses and * inactivities can be dealt with accordingly. */ void accessed() { // set last accessed to thisAccessTime as it will be left over // from the previous access lastAccessed = thisAccessTime; thisAccessTime = System.currentTimeMillis(); } void validate() Software Control • Disciplinary boundaries need to be realigned • New fundamentals need to be created • New technologies and tools need to be developed • Education need to be restructured
  • 13.
    Computing System Composition Domain Physical instantiation Physical System Composi tion Domain • “Cyber” Models •Modeling Languages – Structure – Behaviors • Mathematical Domains – traces/state variables – no reference semantics or “semantic units” • Physical Models • Modeling Languages – Structure – Behaviors • Physical Laws – Physical variables – Physical Units
  • 14.
    • Transform howwe interact with the physical world just like the internet transformed how we interact with one another. – Transcend space – Control the physical environment remotely • Building CPSs that integrate computational and physical objects requires new systems science foundations. – Fusion of physical and computational sciences
  • 15.
    • Rich timemodels instead of sequencing • Behavioral invariants instead of end results • Functionality through interactions of ongoing behaviors instead of sequence of actions • Component architectures instead of procedural abstraction • Concurrency models with partially ordered instead of linearly ordered event sets  Precise interaction and coordination protocols  Hugely increased system size with controllable, stable behavior  Dynamic system architectures (nature and extent of interaction can be modified)  Adaptive, autonomic behavior  Self-descriptive, self monitoring system architecture for safety guarantees.
  • 22.
  • 23.