concurrent state machinesclasses.engr.oregonstate.edu › eecs › winter2018 › cs447 › lectures...
TRANSCRIPT
![Page 1: Concurrent State Machinesclasses.engr.oregonstate.edu › eecs › winter2018 › cs447 › lectures › lecture_08.pdfOutline •Overview •Side-by-side synchronous •Side-by-side](https://reader030.vdocuments.us/reader030/viewer/2022040616/5f11a5134de06459d80d6ff8/html5/thumbnails/1.jpg)
ConcurrentStateMachines
CS447– WirelessEmbeddedSystems
![Page 2: Concurrent State Machinesclasses.engr.oregonstate.edu › eecs › winter2018 › cs447 › lectures › lecture_08.pdfOutline •Overview •Side-by-side synchronous •Side-by-side](https://reader030.vdocuments.us/reader030/viewer/2022040616/5f11a5134de06459d80d6ff8/html5/thumbnails/2.jpg)
Outline
• Overview• Side-by-sidesynchronous• Side-by-sideasynchronous• Sharedvariables• Cascadescomposition• Generalcomposition
January26,20181
![Page 3: Concurrent State Machinesclasses.engr.oregonstate.edu › eecs › winter2018 › cs447 › lectures › lecture_08.pdfOutline •Overview •Side-by-side synchronous •Side-by-side](https://reader030.vdocuments.us/reader030/viewer/2022040616/5f11a5134de06459d80d6ff8/html5/thumbnails/3.jpg)
Overview
• Statemachinesaregreatwaytomodelsystems
• Problem:forinterestingsystems,numberofstatesislarge
January26,20182
![Page 4: Concurrent State Machinesclasses.engr.oregonstate.edu › eecs › winter2018 › cs447 › lectures › lecture_08.pdfOutline •Overview •Side-by-side synchronous •Side-by-side](https://reader030.vdocuments.us/reader030/viewer/2022040616/5f11a5134de06459d80d6ff8/html5/thumbnails/4.jpg)
Overview
• Time-honoredpracticeinengineering:complicatedsystemsdescribeascomposition ofsimplerones
Jargon:• Syntax– rulesofmodelnotation• Semantics–meaningofnotation(seethislater)
January26,20183
![Page 5: Concurrent State Machinesclasses.engr.oregonstate.edu › eecs › winter2018 › cs447 › lectures › lecture_08.pdfOutline •Overview •Side-by-side synchronous •Side-by-side](https://reader030.vdocuments.us/reader030/viewer/2022040616/5f11a5134de06459d80d6ff8/html5/thumbnails/5.jpg)
Overview
E.g.,useanactormodelforanextendedstatemachine• Twoinputs• Twooutputs• “don’tcare”aboutinternals• Abstraction..
January26,20184
![Page 6: Concurrent State Machinesclasses.engr.oregonstate.edu › eecs › winter2018 › cs447 › lectures › lecture_08.pdfOutline •Overview •Side-by-side synchronous •Side-by-side](https://reader030.vdocuments.us/reader030/viewer/2022040616/5f11a5134de06459d80d6ff8/html5/thumbnails/6.jpg)
Overview
Twocompositiontechniques:
• Concurrentcomposition(today’slecture)
• Hierarchicalcomposition(nextlecture)
January26,20185
![Page 7: Concurrent State Machinesclasses.engr.oregonstate.edu › eecs › winter2018 › cs447 › lectures › lecture_08.pdfOutline •Overview •Side-by-side synchronous •Side-by-side](https://reader030.vdocuments.us/reader030/viewer/2022040616/5f11a5134de06459d80d6ff8/html5/thumbnails/7.jpg)
Overview
Concurrentcomposition• Twoormorestatemachinesthatreactsimultaneously orindependently
• Synchronouscomposition – reactionsaresimultaneous• Asynchronouscomposition – reactionsareindependent
January26,20186
![Page 8: Concurrent State Machinesclasses.engr.oregonstate.edu › eecs › winter2018 › cs447 › lectures › lecture_08.pdfOutline •Overview •Side-by-side synchronous •Side-by-side](https://reader030.vdocuments.us/reader030/viewer/2022040616/5f11a5134de06459d80d6ff8/html5/thumbnails/8.jpg)
Overview
Concurrentcomposition
• Beginw/simplestcase:side-by-sidecomposition
• Composedstatemachineseither:• Donotcommunicatedirectly• Communicateviasharedvariables• Communicateviaports(e.g.,serial)
January26,20187
![Page 9: Concurrent State Machinesclasses.engr.oregonstate.edu › eecs › winter2018 › cs447 › lectures › lecture_08.pdfOutline •Overview •Side-by-side synchronous •Side-by-side](https://reader030.vdocuments.us/reader030/viewer/2022040616/5f11a5134de06459d80d6ff8/html5/thumbnails/9.jpg)
Outline
• Overview• Side-by-sidesynchronous• Side-by-sideasynchronous• Sharedvariables• Cascadescomposition• Generalcomposition
January26,20188
![Page 10: Concurrent State Machinesclasses.engr.oregonstate.edu › eecs › winter2018 › cs447 › lectures › lecture_08.pdfOutline •Overview •Side-by-side synchronous •Side-by-side](https://reader030.vdocuments.us/reader030/viewer/2022040616/5f11a5134de06459d80d6ff8/html5/thumbnails/10.jpg)
Side-by-SideSynchronousComposition
• Inputsandoutputsaredisjoint• Statemachinesdonotcommunicate• A:inputi1,outputo1• B:inputi2,outputo2
• IfA,Bareextendedstatemachines,thenvariablesdisjointaswell
January26,20189
![Page 11: Concurrent State Machinesclasses.engr.oregonstate.edu › eecs › winter2018 › cs447 › lectures › lecture_08.pdfOutline •Overview •Side-by-side synchronous •Side-by-side](https://reader030.vdocuments.us/reader030/viewer/2022040616/5f11a5134de06459d80d6ff8/html5/thumbnails/11.jpg)
Side-by-SideSynchronousComposition
• C:compositionoftwoactors• Twoinputs(i1,i2)• Twooutputs(o1,o2)
January26,201810
![Page 12: Concurrent State Machinesclasses.engr.oregonstate.edu › eecs › winter2018 › cs447 › lectures › lecture_08.pdfOutline •Overview •Side-by-side synchronous •Side-by-side](https://reader030.vdocuments.us/reader030/viewer/2022040616/5f11a5134de06459d80d6ff8/html5/thumbnails/12.jpg)
Side-by-SideSynchronousComposition
Synchronouscomposition:• ReactionofCissimultaneousreactionofAandB
January26,201811
![Page 13: Concurrent State Machinesclasses.engr.oregonstate.edu › eecs › winter2018 › cs447 › lectures › lecture_08.pdfOutline •Overview •Side-by-side synchronous •Side-by-side](https://reader030.vdocuments.us/reader030/viewer/2022040616/5f11a5134de06459d80d6ff8/html5/thumbnails/13.jpg)
Side-by-SideSynchronousComposition
Whatdoesthismachinedo?
January26,201812
![Page 14: Concurrent State Machinesclasses.engr.oregonstate.edu › eecs › winter2018 › cs447 › lectures › lecture_08.pdfOutline •Overview •Side-by-side synchronous •Side-by-side](https://reader030.vdocuments.us/reader030/viewer/2022040616/5f11a5134de06459d80d6ff8/html5/thumbnails/14.jpg)
Side-by-SideSynchronousComposition
Cactslikeanoscillator:outputis“bababababa…”
January26,201813
Remember: A, B are simultaneous
![Page 15: Concurrent State Machinesclasses.engr.oregonstate.edu › eecs › winter2018 › cs447 › lectures › lecture_08.pdfOutline •Overview •Side-by-side synchronous •Side-by-side](https://reader030.vdocuments.us/reader030/viewer/2022040616/5f11a5134de06459d80d6ff8/html5/thumbnails/15.jpg)
Side-by-SideSynchronousComposition
CanmachineCeverreachstate(s1,s4)?Whatabout(s2,s3)?
January26,201814
![Page 16: Concurrent State Machinesclasses.engr.oregonstate.edu › eecs › winter2018 › cs447 › lectures › lecture_08.pdfOutline •Overview •Side-by-side synchronous •Side-by-side](https://reader030.vdocuments.us/reader030/viewer/2022040616/5f11a5134de06459d80d6ff8/html5/thumbnails/16.jpg)
Side-by-SideSynchronousComposition
SbS synchronousmachinesare:• Modular• Deterministic• Compositional
January26,201815
![Page 17: Concurrent State Machinesclasses.engr.oregonstate.edu › eecs › winter2018 › cs447 › lectures › lecture_08.pdfOutline •Overview •Side-by-side synchronous •Side-by-side](https://reader030.vdocuments.us/reader030/viewer/2022040616/5f11a5134de06459d80d6ff8/html5/thumbnails/17.jpg)
Side-by-SideSynchronousComposition
Modular – compositionitselfcanbeusedasanatomiccomponent
January26,201816
![Page 18: Concurrent State Machinesclasses.engr.oregonstate.edu › eecs › winter2018 › cs447 › lectures › lecture_08.pdfOutline •Overview •Side-by-side synchronous •Side-by-side](https://reader030.vdocuments.us/reader030/viewer/2022040616/5f11a5134de06459d80d6ff8/html5/thumbnails/18.jpg)
Side-by-SideSynchronousComposition
Deterministic– IfAandBarebothdeterministic,Cisaswell
January26,201817
![Page 19: Concurrent State Machinesclasses.engr.oregonstate.edu › eecs › winter2018 › cs447 › lectures › lecture_08.pdfOutline •Overview •Side-by-side synchronous •Side-by-side](https://reader030.vdocuments.us/reader030/viewer/2022040616/5f11a5134de06459d80d6ff8/html5/thumbnails/19.jpg)
Side-by-SideSynchronousComposition
Compositional– propertyheldbycomponentsisalsopropertyofcomposition
• E.g.,determinismisacompositionalproperty
January26,201818
![Page 20: Concurrent State Machinesclasses.engr.oregonstate.edu › eecs › winter2018 › cs447 › lectures › lecture_08.pdfOutline •Overview •Side-by-side synchronous •Side-by-side](https://reader030.vdocuments.us/reader030/viewer/2022040616/5f11a5134de06459d80d6ff8/html5/thumbnails/20.jpg)
Side-by-SideSynchronousComposition
NOTE:previousexamplecanbedrawnassinglestatemachine
January26,201819
![Page 21: Concurrent State Machinesclasses.engr.oregonstate.edu › eecs › winter2018 › cs447 › lectures › lecture_08.pdfOutline •Overview •Side-by-side synchronous •Side-by-side](https://reader030.vdocuments.us/reader030/viewer/2022040616/5f11a5134de06459d80d6ff8/html5/thumbnails/21.jpg)
Outline
• Overview• Side-by-sidesynchronous• Side-by-sideasynchronous• Sharedvariables• Cascadescomposition• Generalcomposition
January26,201820
![Page 22: Concurrent State Machinesclasses.engr.oregonstate.edu › eecs › winter2018 › cs447 › lectures › lecture_08.pdfOutline •Overview •Side-by-side synchronous •Side-by-side](https://reader030.vdocuments.us/reader030/viewer/2022040616/5f11a5134de06459d80d6ff8/html5/thumbnails/22.jpg)
Side-by-SideAsynchronousComposition
Asynchronouscomposition:• Components(A,B)reactindependently
January26,201821
![Page 23: Concurrent State Machinesclasses.engr.oregonstate.edu › eecs › winter2018 › cs447 › lectures › lecture_08.pdfOutline •Overview •Side-by-side synchronous •Side-by-side](https://reader030.vdocuments.us/reader030/viewer/2022040616/5f11a5134de06459d80d6ff8/html5/thumbnails/23.jpg)
Side-by-SideAsynchronousComposition
Semantics#1• ReactionofCisreactionofAor B (justone)• A,Bneverreactsimultaneously (theyareinterleaved)• ChoiceofAvs.Bisnondeterministic
January26,201822
![Page 24: Concurrent State Machinesclasses.engr.oregonstate.edu › eecs › winter2018 › cs447 › lectures › lecture_08.pdfOutline •Overview •Side-by-side synchronous •Side-by-side](https://reader030.vdocuments.us/reader030/viewer/2022040616/5f11a5134de06459d80d6ff8/html5/thumbnails/24.jpg)
Side-by-SideAsynchronousComposition
Semantics#2• ReactionofCisreactionofA,B orboth• Choiceisnondeterministic
January26,201823
![Page 25: Concurrent State Machinesclasses.engr.oregonstate.edu › eecs › winter2018 › cs447 › lectures › lecture_08.pdfOutline •Overview •Side-by-side synchronous •Side-by-side](https://reader030.vdocuments.us/reader030/viewer/2022040616/5f11a5134de06459d80d6ff8/html5/thumbnails/25.jpg)
Side-by-SideAsynchronousComposition
PreviousexampledmodeledasasynchronousSBS..
January26,201824
red arrows mark nondeterminism
![Page 26: Concurrent State Machinesclasses.engr.oregonstate.edu › eecs › winter2018 › cs447 › lectures › lecture_08.pdfOutline •Overview •Side-by-side synchronous •Side-by-side](https://reader030.vdocuments.us/reader030/viewer/2022040616/5f11a5134de06459d80d6ff8/html5/thumbnails/26.jpg)
Side-by-SideAsynchronousComposition
Undersemantics#1• Cin(s1,s3)• Creacts• Cmovesto(s1,s4),emitsb• OR:Cmovesto(s2,s3),emits∅
January26,201825
![Page 27: Concurrent State Machinesclasses.engr.oregonstate.edu › eecs › winter2018 › cs447 › lectures › lecture_08.pdfOutline •Overview •Side-by-side synchronous •Side-by-side](https://reader030.vdocuments.us/reader030/viewer/2022040616/5f11a5134de06459d80d6ff8/html5/thumbnails/27.jpg)
Side-by-SideAsynchronousComposition
Undersemantics#2• Cin(s1,s3)• Creacts• Couldalsomoveto(s2,s4)• Couldalsooutput∅b ORb∅
January26,201826
![Page 28: Concurrent State Machinesclasses.engr.oregonstate.edu › eecs › winter2018 › cs447 › lectures › lecture_08.pdfOutline •Overview •Side-by-side synchronous •Side-by-side](https://reader030.vdocuments.us/reader030/viewer/2022040616/5f11a5134de06459d80d6ff8/html5/thumbnails/28.jpg)
Side-by-SideAsynchronousComposition
Takehomepoint:asynchronouscompositioncanbetreacherous
• Youmustbeclearaboutsemantics• E.g.,AmustalwayscomebeforeB
January26,201827
![Page 29: Concurrent State Machinesclasses.engr.oregonstate.edu › eecs › winter2018 › cs447 › lectures › lecture_08.pdfOutline •Overview •Side-by-side synchronous •Side-by-side](https://reader030.vdocuments.us/reader030/viewer/2022040616/5f11a5134de06459d80d6ff8/html5/thumbnails/29.jpg)
Outline
• Overview• Side-by-sidesynchronous• Side-by-sideasynchronous• Sharedvariables• Cascadescomposition• Generalcomposition
January26,201828
![Page 30: Concurrent State Machinesclasses.engr.oregonstate.edu › eecs › winter2018 › cs447 › lectures › lecture_08.pdfOutline •Overview •Side-by-side synchronous •Side-by-side](https://reader030.vdocuments.us/reader030/viewer/2022040616/5f11a5134de06459d80d6ff8/html5/thumbnails/30.jpg)
SharedVariables
• Extendedstatemachineshavelocalvariables• Variablesread/writtenduringtransitions
Whencomposingstatemachines:• Helpfultoallowsharedvariablesamongmachines• Canbeusedtomodelinterruptsandthreads
January26,201829
![Page 31: Concurrent State Machinesclasses.engr.oregonstate.edu › eecs › winter2018 › cs447 › lectures › lecture_08.pdfOutline •Overview •Side-by-side synchronous •Side-by-side](https://reader030.vdocuments.us/reader030/viewer/2022040616/5f11a5134de06459d80d6ff8/html5/thumbnails/31.jpg)
SharedVariables
E.g.,twoserversreceivingnetworkrequests
• Sharedvariable“pending”integerthatcountsjobs
• WhenrequestarrivestocompositionmachineC,oneoftwoserverschosennon-deterministically• Assumesasynchronouscompositionundersemantics#1• I.e.,mutualexclusion
January26,201830
![Page 32: Concurrent State Machinesclasses.engr.oregonstate.edu › eecs › winter2018 › cs447 › lectures › lecture_08.pdfOutline •Overview •Side-by-side synchronous •Side-by-side](https://reader030.vdocuments.us/reader030/viewer/2022040616/5f11a5134de06459d80d6ff8/html5/thumbnails/32.jpg)
SharedVariables
E.g.,twoserversreceivingnetworkrequests
Whenrequestarrives:• Ifserveridle,proceedstoserverequest• Ifserverbusy:• Coincidentallyfinishservingcurrent,outputdone,proceedtonew
-OR-
• Incrementcountofpending• Continueservingcurrent
January26,201831
![Page 33: Concurrent State Machinesclasses.engr.oregonstate.edu › eecs › winter2018 › cs447 › lectures › lecture_08.pdfOutline •Overview •Side-by-side synchronous •Side-by-side](https://reader030.vdocuments.us/reader030/viewer/2022040616/5f11a5134de06459d80d6ff8/html5/thumbnails/33.jpg)
SharedVariables
January26,201832
![Page 34: Concurrent State Machinesclasses.engr.oregonstate.edu › eecs › winter2018 › cs447 › lectures › lecture_08.pdfOutline •Overview •Side-by-side synchronous •Side-by-side](https://reader030.vdocuments.us/reader030/viewer/2022040616/5f11a5134de06459d80d6ff8/html5/thumbnails/34.jpg)
SharedVariables
Exampleshowssubtletiesofconcurrentsystems(1)
• Interleavingsemantics(#1):accesstoshared“pending”aremodeledasatomic
• Thiscanbechallengingtodoinpractice
January26,201833
![Page 35: Concurrent State Machinesclasses.engr.oregonstate.edu › eecs › winter2018 › cs447 › lectures › lecture_08.pdfOutline •Overview •Side-by-side synchronous •Side-by-side](https://reader030.vdocuments.us/reader030/viewer/2022040616/5f11a5134de06459d80d6ff8/html5/thumbnails/35.jpg)
SharedVariables
Exampleshowssubtletiesofconcurrentsystems(2)
• Semantics#1seemsreasonable• Butcouldleadtoidlemachines…
E.g.,whatifmachineAisserving,Bisidle,requestarrives• ButAispickednondeterministically(=>pending++)• Bneverused…
InSemantics#1,thisispossible.
January26,201834
![Page 36: Concurrent State Machinesclasses.engr.oregonstate.edu › eecs › winter2018 › cs447 › lectures › lecture_08.pdfOutline •Overview •Side-by-side synchronous •Side-by-side](https://reader030.vdocuments.us/reader030/viewer/2022040616/5f11a5134de06459d80d6ff8/html5/thumbnails/36.jpg)
SharedVariables
Exampleshowssubtletiesofconcurrentsystems(3)
• Semantics#2alsoreasonable(“simultaneous”execution)
• Butrequiresupdating“pending”inanatomicmanner
• Thiscanbemorechallengingtoimplement..
January26,201835
![Page 37: Concurrent State Machinesclasses.engr.oregonstate.edu › eecs › winter2018 › cs447 › lectures › lecture_08.pdfOutline •Overview •Side-by-side synchronous •Side-by-side](https://reader030.vdocuments.us/reader030/viewer/2022040616/5f11a5134de06459d80d6ff8/html5/thumbnails/37.jpg)
SharedVariables
Whataboutsharedvariablesinsynchronouscomposition?
• WritefromAbeforereadingfromB?• ReadfromBbeforewritingfromA?• Mustmorechallenging!
• Mustuseinterleavedsemantics(i.e.,scheduling)
January26,201836
![Page 38: Concurrent State Machinesclasses.engr.oregonstate.edu › eecs › winter2018 › cs447 › lectures › lecture_08.pdfOutline •Overview •Side-by-side synchronous •Side-by-side](https://reader030.vdocuments.us/reader030/viewer/2022040616/5f11a5134de06459d80d6ff8/html5/thumbnails/38.jpg)
Outline
• Overview• Side-by-sidesynchronous• Side-by-sideasynchronous• Sharedvariables• Cascadescomposition• Generalcomposition
January26,201837
![Page 39: Concurrent State Machinesclasses.engr.oregonstate.edu › eecs › winter2018 › cs447 › lectures › lecture_08.pdfOutline •Overview •Side-by-side synchronous •Side-by-side](https://reader030.vdocuments.us/reader030/viewer/2022040616/5f11a5134de06459d80d6ff8/html5/thumbnails/39.jpg)
CascadesComposition(akaSerialComposition)
• Twomachines(A,B)composedinseries:
• OutputofAisinputtoB
January26,201838
![Page 40: Concurrent State Machinesclasses.engr.oregonstate.edu › eecs › winter2018 › cs447 › lectures › lecture_08.pdfOutline •Overview •Side-by-side synchronous •Side-by-side](https://reader030.vdocuments.us/reader030/viewer/2022040616/5f11a5134de06459d80d6ff8/html5/thumbnails/40.jpg)
CascadesComposition(akaSerialComposition)
• Consideronlysynchronouscomposition• Asynchronouscompositionwouldrequirebuffering
January26,201839
![Page 41: Concurrent State Machinesclasses.engr.oregonstate.edu › eecs › winter2018 › cs447 › lectures › lecture_08.pdfOutline •Overview •Side-by-side synchronous •Side-by-side](https://reader030.vdocuments.us/reader030/viewer/2022040616/5f11a5134de06459d80d6ff8/html5/thumbnails/41.jpg)
CascadesComposition(akaSerialComposition)
• ReactionofCisreactionofAandB• Areactsfirst,thenB• Weassumethisoccursinstantly(inzerotime)• Tworeactions(A,B)aresimultaneousandinstantaneous
January26,201840
![Page 42: Concurrent State Machinesclasses.engr.oregonstate.edu › eecs › winter2018 › cs447 › lectures › lecture_08.pdfOutline •Overview •Side-by-side synchronous •Side-by-side](https://reader030.vdocuments.us/reader030/viewer/2022040616/5f11a5134de06459d80d6ff8/html5/thumbnails/42.jpg)
CascadesComposition(akaSerialComposition)
Example(remember,transitionsaresimultaneous!)• WhendoesmachineC output“c”?
January26,201841
![Page 43: Concurrent State Machinesclasses.engr.oregonstate.edu › eecs › winter2018 › cs447 › lectures › lecture_08.pdfOutline •Overview •Side-by-side synchronous •Side-by-side](https://reader030.vdocuments.us/reader030/viewer/2022040616/5f11a5134de06459d80d6ff8/html5/thumbnails/43.jpg)
January26,201842
Equivalent machine:
![Page 44: Concurrent State Machinesclasses.engr.oregonstate.edu › eecs › winter2018 › cs447 › lectures › lecture_08.pdfOutline •Overview •Side-by-side synchronous •Side-by-side](https://reader030.vdocuments.us/reader030/viewer/2022040616/5f11a5134de06459d80d6ff8/html5/thumbnails/44.jpg)
CascadesComposition(akaSerialComposition)
Anotherexample:modifytrafficlightmodeltoincludepedestrianlightaswell.
• Cascadescomposition:turnonREDlight=>turnon”walk”• Causal..
January26,201843
![Page 45: Concurrent State Machinesclasses.engr.oregonstate.edu › eecs › winter2018 › cs447 › lectures › lecture_08.pdfOutline •Overview •Side-by-side synchronous •Side-by-side](https://reader030.vdocuments.us/reader030/viewer/2022040616/5f11a5134de06459d80d6ff8/html5/thumbnails/45.jpg)
Outline
• Overview• Side-by-sidesynchronous• Side-by-sideasynchronous• Sharedvariables• Cascadescomposition• Generalcomposition
January26,201844
![Page 46: Concurrent State Machinesclasses.engr.oregonstate.edu › eecs › winter2018 › cs447 › lectures › lecture_08.pdfOutline •Overview •Side-by-side synchronous •Side-by-side](https://reader030.vdocuments.us/reader030/viewer/2022040616/5f11a5134de06459d80d6ff8/html5/thumbnails/46.jpg)
GeneralComposition
• Side-by-sideandcascadescompositionprovidebasicbuildingblocks.• Thesemodelscanbecombined:e.g.,
January26,201845
![Page 47: Concurrent State Machinesclasses.engr.oregonstate.edu › eecs › winter2018 › cs447 › lectures › lecture_08.pdfOutline •Overview •Side-by-side synchronous •Side-by-side](https://reader030.vdocuments.us/reader030/viewer/2022040616/5f11a5134de06459d80d6ff8/html5/thumbnails/47.jpg)
GeneralComposition
• A1,A3areside-by-side(defineB)• B,A2arecascadescompositioninoppositeorder(feedback)• Question:whichmachineshouldreactfirst?
January26,201846