Top Banner
Better Engineering through Better Models Edward A. Lee Robert S. Pepper Distinguished Professor UC Berkeley Plenary Talk International Conference on Complex Systems Engineering (ICCSE) November 9, 2015. Storrs, CT, USA
55

Better Engineering through Better Models

Nov 21, 2021

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Better Engineering through Better Models

Better Engineering through Better Models

Edward A. Lee Robert S. Pepper Distinguished Professor UC Berkeley Plenary Talk International Conference on Complex Systems Engineering (ICCSE) November 9, 2015. Storrs, CT, USA

Page 2: Better Engineering through Better Models

!"#$%&'"%()$"%*&+',-./'&%"012&'3'45%.&5-',0!""•! #$%&'"("!"#$%&'()•! #)*+,-./)0"("*#+',%&$)•! 1&2,'3-$"("-'./0#)6'&",.7*1/'&$8%•! 4352'&-&"657"12+3+424$)•! 85$029')0),5"657"5%,/6"•! 8:;)'3-9*5"657"*#+',%&$)•! <2)0)*3&5")="52.:&">2:),?@"657"72&'(%0#)8.29:)•! A3;9"+&'=)'*.02&"657"72;)<+/=9#)•! 8?.+-.%3:3-$"657">/?/'0'@%(%0#)•! A3;9"2)00&2/63-$"657"-/&4=%0#)'+6)!=%A'&#)•! 12.:.%3:3-$"657">/(%'@%(%0#)'+6)!=/6%&0'@%(%0#)•! B.C5".0?"D&;,:./)05"657"5/&"+%&'()!2$$%@%(%3/$)!&&'9./'&8%#$%&'E+9$532.:"5$5-&*5".'&"=,0?.*&0-.::$"?3F&'&0-"=')*"2)*+,-./)0.:"5$5-&*5".0?"=')*"+9$532.:"5$5-&*57"G9&$"'&H,3'&"0&C"&0;30&&'30;"*)?&:5"-9.-"&*%'.2&"-&*+)'.:"?$0.*325".0?".:;)'3-9*32"2)*+,-./)07"

Automotive

Biomedical

Military

Energy

Manufacturing

Avionics

Buildings

2

#$%&'EI9$532.:"1$5-&*5">#I1@"J0?&':3&5"*,29")="-9&"30?,5-'3.:"&2)0)*$"

Page 3: Better Engineering through Better Models

The order and timing of events matters a lot when interacting with physical processes. The system at the right orchestrates hundreds of microcontrollers to deposit ink on paper flying through the printer at 100 km/h with micron precision.

Lee, Berkeley 3

This Bosch Rexroth printing press is a cyber-physical factory using Ethernet and TCP/IP with high-precision clock synchronization (IEEE 1588) for real-time control.

G3*30;"I')%:&*5"B))*"B.';&"30"#$%&'EI9$532.:"1$5-&*5"

Page 4: Better Engineering through Better Models

K0"G935"G.:L!"M)2,5")0"N)?&:5"

Lee, Berkeley 4

Page 5: Better Engineering through Better Models

N)?&:5"657"D&.:3-$"

K0"-935"&O.*+:&P"-9&",26/(%+9).=',/;2=B)35"2.:2,:,5".0?"Q&C-)0R5":.C57""C%6/(%0#"35"9)C"C&::"-9&"*)?&:".0?"3-5"-.';&-"*.-29"

Lee, Berkeley 5

The model

The target (the thing being modeled).

Page 6: Better Engineering through Better Models

Solomon Wolf Golomb

Engineers all too often conflate the model with its target.

You will never strike oil by drilling through the map!

Lee, Berkeley 6

Keep Clear the Distinction Between the Model and its Target"

But this does not in any way diminish the value of a map!

Page 7: Better Engineering through Better Models

129&*./2")="."53*+:&"#I1"

Lee, Berkeley 7

What kinds of models should we use? Let’s look at the most successful kinds of models from the cyber and the physical worlds.

Page 8: Better Engineering through Better Models

1)SC.'&"35"."N)?&:"

I9$532.:"1$5-&*" D26/()

-%+9(/E0"=/'6/6)%,?/='3A/)?=29=',$)Lee, Berkeley 8

I9$532.:"1$5-&*"

-%+9(/E0"=/'6/6)%,?/='3A/)?=29=',$)

Page 9: Better Engineering through Better Models

1)SC.'&"'&:3&5")0".0)-9&'"*)?&:"-9.-".%5-'.2-5"-9&"9.'?C.'&"

I9$532.:"1$5-&*" Model

Instruction Set Architectures (ISAs) Lee, Berkeley 9

Image: Wikimedia Commons Waterman, et al., The RISC-V Instruction Set Manual, UCB/EECS-2011-62, 2011

Page 10: Better Engineering through Better Models

4&-&'*30.2$"

1)*&"*)?&:30;"='.*&C)'L5"5,++)'-"-9&"2)05-',2/)0")="6/0/=,%+%$3&"*)?&:57"

"8"*)?&:"35"6/0/=,%+%$3&)3=P";36&0"-9&"303/.:"5-.-&".0?"-9&"30+,-5P"-9&"*)?&:"?&T0&5"&O.2-:$")0&"%&9.63)'7"

"4&-&'*3035/2"*)?&:30;"='.*&C)'L5"9.6&"+')6&0"&O-'&*&:$"6.:,.%:&"30"-9&"+.5-7"

Lee, Berkeley 10

Page 11: Better Engineering through Better Models

#)053?&'"530;:&E-9'&.?&?""3*+&'./6&"+');'.*5"

G9&"-.';&-")="-9&"*)?&:"35"0)0?&-&'*3035/2">&:&2-')05".0?"9):&5"5:)5930;".'),0?"30"53:32)0@7"

This program defines exactly one behavior, given the input x. Note that the modeling framework (the C language, in this case) defines “behavior” and “input.”

Lee, Berkeley 11 Lee, Berkeley

Page 12: Better Engineering through Better Models

4&-&'*3035/2"N)?&:5"=)'"-9&""I9$532.:"13?&")="#I1"

I9$532.:"1$5-&*" D26/()

Signal Signal

*%F/=/+3'()<G4'32+$)Lee, Berkeley 12

Image: Wikimedia Commons

Page 13: Better Engineering through Better Models

Signal Signal

13 Image: Wikimedia Commons Lee, Berkeley

8"N.U)'"I')%:&*"=)'"#I1!"#)*%30./)05")="4&-&'*3035/2"N)?&:5".'&"Q)0?&-&'*3035/2"

Page 14: Better Engineering through Better Models

Correct execution of a program in C, C#, Java, Haskell, OCaml, Esterel, etc. has nothing to do with how long it takes to do anything. Nearly all our computation and networking abstractions are built on this premise.

Programmers have to step outside the programming abstractions to specify timing behavior. Embedded software designers have no map!

Lee, Berkeley 14

Timing is not Part of Software Semantics"

Page 15: Better Engineering through Better Models

Lee, Berkeley 15

G9&"N)?&:"

Page 16: Better Engineering through Better Models

Lee, Berkeley 16 Image: Wikimedia Commons

USB interface

JTAG and SWD interface

graphicsdisplay

CAN bus interface

Ethernet interface

analog(ADC)inputs

micro-controller

removable flash

memoryslot

PWM outputs

GPIO connectors

switchesconnected

to GPIO pinsspeakerconnected toGPIO or PWMG9&"D&.:3-$"

Page 17: Better Engineering through Better Models

Lee, Berkeley 17

G9&"N)?&:"35"0)-"*,29"*)'&"?&-&'*3035/2"-9.0"-9&"'&.:3-$"

5"/),26/(%+9)('+94'9/$)"'A/)6%$H2%+0I)

%+&2,?'3@(/)$/,'+3&$)

Page 18: Better Engineering through Better Models

Lee, Berkeley 18 Image: Wikimedia Commons

1$5-&*"?$0.*325"&*&';&5"=')*"-9&"+9$532.:"'&.:3V./)0"

USB interface

JTAG and SWD interface

graphicsdisplay

CAN bus interface

Ethernet interface

analog(ADC)inputs

micro-controller

removable flash

memoryslot

PWM outputs

GPIO connectors

switchesconnected

to GPIO pinsspeakerconnected toGPIO or PWM

J)(/'6%+9)02)')K?=2020#?/)'+6)0/$0L)

$0#(/)2.)6/$%9+)

Page 19: Better Engineering through Better Models

4)"?&-&'*3035/2"*)?&:5"*.L&"5&05&"=)'"#$%&'E+9$532.:"5$5-&*5W"

Lee, Berkeley 19

Physical noise Imperfect actuation

Parts failures

Unknowable delays Packet losses

Unknowable execution times

Uncontrollable scheduling

Page 20: Better Engineering through Better Models

M+)0"/).'&/)2.)$4&")+2+6/0/=,%+%$,I)62/$)%0),'B/)$/+$/)02)0'(B)'@240)6/0/=,%+%$3&)

,26/($).2=)&#@/=E?"#$%&'()$#$0/,$N)

Lee, Berkeley 20

Page 21: Better Engineering through Better Models

•! K0"$&%/+&/P"-9&"6.:,&")="."*)?&:":3&5"30"9)C"C&::"3-5"%&9.63)'"*.-29&5"-9.-")="-9&"+9$532.:"5$5-&*7"

•! K0"/+9%+//=%+9P"-9&"6.:,&")="-9&"+9$532.:"5$5-&*":3&5"30"9)C"C&::"3-5"%&9.63)'"*.-29&5"-9.-")="-9&"*)?&:7"

Lee, Berkeley 21

In engineering, model fidelity is a two-way street!

For a model to be useful, it is necessary (but not sufficient) to be able to be able to

construct a faithful physical realization.

N)?&:"M3?&:3-$"D&6353-&?"

Page 22: Better Engineering through Better Models

8"N)?&:"

Lee, Berkeley 22

Page 23: Better Engineering through Better Models

8"I9$532.:"D&.:3V./)0"

Lee, Berkeley 23

Page 24: Better Engineering through Better Models

N)?&:"M3?&:3-$"

•! G)"."$&%/+3$0P"-9&"*)?&:"35"X.C&?7"

•! G)".0"/+9%+//=P"-9&"+9$532.:"'&.:3V./)0"35"X.C&?7"

KR*".0"&0;30&&'Y"M)'"#I1P"C&"0&&?"%&Z&'"*)?&:5"C3-9":&55"X.C&?"+9$532.:"'&.:3V./)057"

Lee, Berkeley 24

Page 25: Better Engineering through Better Models

#9.0;30;"-9&"[,&5/)0"

G9&"H,&5/)0"35"+20"C9&-9&'"?&-&'*3035/2"*)?&:5"2.0"?&52'3%&"-9&"%&9.63)'")="2$%&'E+9$532.:"5$5-&*5">C3-9"93;9"T?&:3-$@7""G9&"H,&5/)0"35"C9&-9&'"C&"2.0"%,3:?"2$%&'E+9$532.:"5$5-&*5"C9)5&"%&9.63)'"*.-29&5"-9.-")="."?&-&'*3035/2"*)?&:">C3-9"93;9"+')%.%3:3-$@7"

Lee, Berkeley 25

Page 26: Better Engineering through Better Models

D&5&.'29"<F)'-5".-"\&'L&:&$"\&Z&'"<0;30&&'30;"-9'),;9"\&Z&'"N)?&:5"

•! IGK4<1!"?35-'3%,-&?"'&.:E/*&"5)SC.'&"–! 4&-&'*3035/2"/*30;")="?35-'3%,-&?"#I1"

•! ID<G"*.2930&5"–! 4&-&'*3035/2"/*30;".-"-9&"+')2&55)'":&6&:"

•! 822&55)'5">G&''.1C.'*@"–! I'3023+:&?"2)*+)53/)0")="0&-C)'L&?"2)*+)0&0-5"

•! ]+&0E5),'2&"5)SC.'&"–! I-):&*$"KK"

•! N)?&:E%.5&?"?&53;0">3#$I9$@"–! K0-&'=.2&5">&7;7"MNK@P"2)0-'.2-5P".5+&2-5P"Y"

•! 1&*.0/25"–! G3*&?"*)?&:5")="2)*+,-./)0P"

Lee, Berkeley 26

Page 27: Better Engineering through Better Models

Lee, Berkeley 27

M)2,5")0"-9&"Q&-C)'L"K0-&'.2/)05"

*/0/=,%+%$3&),26/($"=)'"?35-'3%,-&?"'&.:E/*&"5)SC.'&".'&"+)553%:&",530;"."-&2903H,&"2.::&?"IGK4<17""

Page 28: Better Engineering through Better Models

IGK4<1!"4352'&-&E<6&0-"1&*.0/25"("1$029')03V&?"#:)2L5"

Lee, Berkeley 28

Time-stamped events that are processed in time-stamp order.

This MoC is widely used in simulation and HDLs.

Given time-stamped inputs, it is a deterministic concurrent MoC.

A few texts that use the DE MoC

Page 29: Better Engineering through Better Models

#:)2L"1$029')03V./)0"

•! QGI"•! ^I1"•! _`aa"•! G1Q"

Lee, Berkeley 29

Page 30: Better Engineering through Better Models

:;$",.1"!"4352'&-&E&6&0-">4<@"*)?&:5".'&"=)'*.:"5$5-&*"5+&23T2./)05"-9.-"9.6&".0.:$V.%:&"?&-&'*3035/2"%&9.63)'57"J530;".";:)%.:P"2)0535-&0-"0)/)0")="/*&P"4<"2)*+)0&0-5"2)**,032.-&"63."/*&E5-.*+&?"&6&0-57"4<"*)?&:5"9.6&"+'3*.'3:$"%&&0",5&?"30"+&'=)'*.02&"*)?&:30;".0?"53*,:./)0P"C9&'&"/*&"5-.*+5".'&"."*)?&:30;"+')+&'-$"%&.'30;"0)"'&:./)0593+"-)"'&.:"/*&"?,'30;"&O&2,/)0")="-9&"*)?&:7"K0"-935"+.+&'P"C&"&O-&0?"4<"*)?&:5"C3-9"-9&"2.+.%3:3-$")="'&:./0;"2&'-.30"&6&0-5"-)"+9$532.:"/*&Y"

30 Lee, Berkeley

Ptides – A Robust Distributed DE MoC for IoIT Applications

Page 31: Better Engineering through Better Models

Time stamp value is a deadline

Time stamp value is time of measurement

Actors wrap sensors

Actors wrap actuators

Lee, Berkeley 31

Ptides: First step: Time stamps bind to real time at sensors and actuators"

Page 32: Better Engineering through Better Models

Ptides: Second step: Time-stamped messages.

Messages carry time stamps that define their

interleaving

Actors specify computation

Lee, Berkeley 32

Page 33: Better Engineering through Better Models

Ptides: Third step: Network clock synchronization

GPS, NTP, IEEE 1588, TSN, time-triggered busses, ! they all work. We just need to bound the clock synchronization error.

Assume bounded clock error

Assume bounded clock error e

Assume bounded clock error e

Clock synchronization gives global meaning to

time stamps

Messages are processed in time-stamp order

Lee, Berkeley 33

Page 34: Better Engineering through Better Models

Assuming perfect clock synchronization, this gives a deterministic model of overall closed-loop dynamics.

Ptides: Fourth step: Specify latencies in the model

Model includes manipulations of time stamps, which control

latencies between sensors and actors

Actuators may be designed to interpret input time stamps as the time at which to

take action. Feedback through the physical world Lee, Berkeley

34

Page 35: Better Engineering through Better Models

Ptides: Fifth step: Safe-to-process analysis (ensures determinacy)

Safe-to-process analysis guarantees that events are processed in time-stamp order, given some assumptions.

Assume bounded network delay d

Assume bounded clock error

Assume bounded clock error e

An earliest event with time stamp t here can be safely merged when real time exceeds t + s + d + e – d2

Assume bounded clock error e

Assume bounded sensor delay s

Application specification of

latency d2 Technical: Need to have deadlines on network interfaces, to guarantee time-stamp order irrespective of execution times of actors. Lee, Berkeley 35

Page 36: Better Engineering through Better Models

All of the assumptions are achievable with today’s technology, and are requirements anyway for hard-real-time systems. The Ptides model makes the requirements explicit.

Lee, Berkeley 36

So Many Assumptions?"

You will never strike oil by drilling through the map!

Violations of the requirements are detectable as out-of-order events and can be treated as faults.

Non-Synchronized Clocks

Page 37: Better Engineering through Better Models

A “fault” is a violation of assumptions in the model.

! after an event here with a later time stamp has been processed, then one or more assumptions was violated.

If an event arrives here with an earlier time

stamp!

As with any model, the physical world may not conform to its rules. Violations should be treated as faults.

Lee, Berkeley 37

Handling Faults"

Page 38: Better Engineering through Better Models

^));:&"1+.00&'"b"8"D&306&0/)0")="IGK4<1"

^));:&"30?&+&0?&0-:$"?&6&:)+&?"."6&'$"53*3:.'"-&2903H,&".0?".++:3&?"3-"-)"?35-'3%,-&?"?.-.%.5&57"

Lee, Berkeley 38

Proceedings of OSDI 2012

Page 39: Better Engineering through Better Models

^));:&"1+.00&'"b"8"D&306&0/)0")="IGK4<1"

Lee, Berkeley 39

Distributed database with redundant storage and query handling across data centers.

Update to a record comes in. Time stamp t1.

Query for the same record comes in. Time stamp t2.

Page 40: Better Engineering through Better Models

^));:&"1+.00&'"b"8"D&306&0/)0")="IGK4<1"

Lee, Berkeley 40

Query for the same record comes in. Time stamp t2.

If t2 < t1, the query response should be the pre-update value. Otherwise, it should be the post-update value.

Update to a record comes in. Time stamp t1.

Page 41: Better Engineering through Better Models

^));:&"1+.00&'!"c9&0"-)"D&5+)0?W"

Lee, Berkeley 41

Query for the same record comes in. Time stamp t2.

When the local clock time exceeds t2 + e + d, issue the current record value as a response.

Synchronize clocks with error bound e.

Communication latency bound b.

Update to a record comes in. Time stamp t1.

Page 42: Better Engineering through Better Models

^));:&"1+.00&'!"M.,:-d"

Lee, Berkeley 42

Query for the same record comes in. Time stamp t2.

If after sending a response, we receive a record update with time stamp t1 < t2 declare a fault. Spanner handles this with a transaction schema.

Synchronize clocks with error bound e.

Communication latency bound b.

Update to a record comes in. Time stamp t1.

Page 43: Better Engineering through Better Models

1&&"\))L"

1&&"•! #9.+-&'"a!""

4352'&-&E<6&0-"N)?&:5"•! #9.+-&'"_e!""

N)?&:30;"G3*&?"1$5-&*5"

M'&&"?)C0:).?".-!"9Z+!ff+-):&*$7)';f5$5-&*5"

Lee, Berkeley 43 43

Page 44: Better Engineering through Better Models

Lee, Berkeley 44

IGK4<1"4&.:5"C3-9"Q&-C)'L"K0-&'.2/)05"

O40);"'0)'@240)%+0/='&32+$);%0")0"/)?"#$%&'()?('+0N""

Page 45: Better Engineering through Better Models

Lee, Berkeley 45

c9.-".%),-"-935"#$%&'EI9$532.:"\),0?.'$W"

Page 46: Better Engineering through Better Models

D&5&.'29"<F)'-5"\&Z&'"<0;30&&'30;"-9'),;9"\&Z&'"N)?&:5"

•! IGK4<1!"?35-'3%,-&?"'&.:E/*&"5)SC.'&"–! 4&-&'*3035/2"/*30;")="?35-'3%,-&?"#I1"

•! ID<G"*.2930&5"–! 4&-&'*3035/2"/*30;".-"-9&"+')2&55)'":&6&:"

•! 822&55)'5"–! I'3023+:&?"2)*+)53/)0")="0&-C)'L&?"2)*+)0&0-5"

•! ]+&0E5),'2&"5)SC.'&"–! I-):&*$"KK"

•! N)?&:E%.5&?"?&53;0">3#$I9$@"–! K0-&'=.2&5">&7;7"MNK@P"2)0-'.2-5P".5+&2-5P"Y"

•! 1&*.0/25"–! G3*&?"*)?&:5")="2)*+,-./)0P"

Lee, Berkeley 46

Page 47: Better Engineering through Better Models

The hardware out of which we build computers is capable of delivering “correct” computations and precise timing!

The synchronous digital logic abstraction removes the messiness of transistors. ! but the overlaying software abstractions discard the timing precision.

// Perform the convolution. for (int i=0; i<10; i++) { x[i] = a[i]*b[j-i]; // Notify listeners. notify(x[i]); }

Lee, Berkeley 47

Page 48: Better Engineering through Better Models

PRET Machines – Giving Software the Capabilities their Hardware Already Has.

•! PREcision-Timed processors = PRET •! Predictable, REpeatable Timing = PRET •! Performance with REpeatable Timing = PRET

= PRET + Computing

With time

// Perform the convolution. for (int i=0; i<10; i++) { x[i] = a[i]*b[j-i]; // Notify listeners. notify(x[i]); }

http://chess.eecs.berkeley.edu/pret

Lee, Berkeley 48

Page 49: Better Engineering through Better Models

ID<G"N.2930&5"

1,**.'$")="ID<G!"#)0-')::30;"/*30;")="5)SC.'&"C3-9"93;9"+'&2353)0"35"+)553%:&"C3-9"0)":)55")="+&'=)'*.02&7"""M)'"?&-.3:5!"K063-&"*&"%.2L7"]'"5&&"9Z+!ff29&557&&257%&'L&:&$7&?,f+'&-"

Lee, Berkeley 49

Page 50: Better Engineering through Better Models

Y"80?"-9&'&"35"*)'&"Y"

•! IGK4<1!"?35-'3%,-&?"'&.:E/*&"5)SC.'&"–! 4&-&'*3035/2"/*30;")="?35-'3%,-&?"#I1"

•! ID<G"*.2930&5"–! 4&-&'*3035/2"/*30;".-"-9&"+')2&55)'":&6&:"

•! 822&55)'5">G&''.1C.'*@"–! I'3023+:&?"2)*+)53/)0")="0&-C)'L&?"2)*+)0&0-5"

•! ]+&0E5),'2&"5)SC.'&"–! I-):&*$"KK"

•! N)?&:E%.5&?"?&53;0">3#$I9$@"–! K0-&'=.2&5">&7;7"MNK@P"2)0-'.2-5P".5+&2-5P"Y"

•! 1&*.0/25"–! G3*&?"*)?&:5")="2)*+,-./)0P"

Lee, Berkeley 50

Page 51: Better Engineering through Better Models

4&-&'*3035*W"

•! G9&"'&.:"C)':?"35"93;9:$",0+'&?32-.%:&7"•! 1)P".'&"?&-&'*3035/2"*)?&:5",5&=,:W"

–! K5"5$029')0),5"?3;3-.:":);32",5&=,:W""–!8'&"305-',2/)0E5&-".'293-&2-,'&5",5&=,:W"–! 130;:&E-9'&.?&?"3*+&'./6&"+');'.*5W""–!43F&'&0/.:"&H,./)05W"

Lee, Berkeley 51

For a model to be useful, it is necessary (but not sufficient) to be able to be able to

construct a faithful physical realization.

Page 52: Better Engineering through Better Models

Avoid Building on Weak Foundations

The semantics of a modeling framework is the foundation for the models. Weak foundations result in less useful models. Deterministic models offer more solid foundations.

Lee, Berkeley 52

Page 53: Better Engineering through Better Models

4&-&'*3035*W"

4&-&'*3035/2"*)?&:5"?)"0)-"&:3*30.-&"-9&"0&&?"=)'"')%,5-P"=.,:-E-):&'.0-"?&53;057"

K0"=.2-P"-9&$"/+'@(/"5,29"?&53;05P"%&2.,5&"-9&$"*.L&"3-"*,29"2:&.'&'"C9.-"3-"*&.05"-)"9.6&"."=.,:-d"

Lee, Berkeley 53

Page 54: Better Engineering through Better Models

Modeling in an Artificial Universe Components of a model interact in an artificial universe. The modeling framework provides the laws of physics of that universe. Nonnegotiable requirement: The laws of physics must be the same to every observer. Desirable properties: •! Determinism •! Understandability Not necessary: The laws need not be those of the physical world. We are free to invent.

Lee, Berkeley 54

Page 55: Better Engineering through Better Models

#)02:,53)0"

#I1"?&*.0?5"0&C"C.$5")="*)?&:30;7""K-"'&H,3'&5"6/0/=,%+%$3&)*)?&:5"-9.-"&*%'.2&"3,/P"-);&-9&'"C3-9".'%0".4("+9$532.:"'&.:3V./)057)

55 55

Raffaello Sanzio da Urbino – The Athens School

See: Lee, "The Past, Present, and Future of Cyber-Physical Systems: A Focus on Models," Sensors, 15(3), February, 2015. (Open Access)