Enviar búsqueda
Cargar
Akka fsm presentation
•
2 recomendaciones
•
712 vistas
PrasannaKumar Sathyanarayanan
Seguir
akka fsm talk given on Glassbeam
Leer menos
Leer más
Tecnología
Educación
Denunciar
Compartir
Denunciar
Compartir
1 de 14
Descargar ahora
Descargar para leer sin conexión
Recomendados
Cps (continuation passing style) in scala
Cps (continuation passing style) in scala
PrasannaKumar Sathyanarayanan
Jvm Language Summit Rose 20081016
Jvm Language Summit Rose 20081016
Eduardo Pelegri-Llopart
Finagle - an intro to rpc & a sync programming in jvm
Finagle - an intro to rpc & a sync programming in jvm
PrasannaKumar Sathyanarayanan
Akka introtalk HyScala DEC 2016
Akka introtalk HyScala DEC 2016
PrasannaKumar Sathyanarayanan
Introduction to akka chense
Introduction to akka chense
PrasannaKumar Sathyanarayanan
Continuation Passing Style and Macros in Clojure - Jan 2012
Continuation Passing Style and Macros in Clojure - Jan 2012
Leonardo Borges
Polyglot JVM
Polyglot JVM
Arturo Herrero
Async Microservices with Twitter's Finagle
Async Microservices with Twitter's Finagle
Vladimir Kostyukov
Recomendados
Cps (continuation passing style) in scala
Cps (continuation passing style) in scala
PrasannaKumar Sathyanarayanan
Jvm Language Summit Rose 20081016
Jvm Language Summit Rose 20081016
Eduardo Pelegri-Llopart
Finagle - an intro to rpc & a sync programming in jvm
Finagle - an intro to rpc & a sync programming in jvm
PrasannaKumar Sathyanarayanan
Akka introtalk HyScala DEC 2016
Akka introtalk HyScala DEC 2016
PrasannaKumar Sathyanarayanan
Introduction to akka chense
Introduction to akka chense
PrasannaKumar Sathyanarayanan
Continuation Passing Style and Macros in Clojure - Jan 2012
Continuation Passing Style and Macros in Clojure - Jan 2012
Leonardo Borges
Polyglot JVM
Polyglot JVM
Arturo Herrero
Async Microservices with Twitter's Finagle
Async Microservices with Twitter's Finagle
Vladimir Kostyukov
Websocket,JSON in JEE7
Websocket,JSON in JEE7
PrasannaKumar Sathyanarayanan
Scala Introduction with play - for my CSS nerds
Scala Introduction with play - for my CSS nerds
PrasannaKumar Sathyanarayanan
CDI in JEE6
CDI in JEE6
PrasannaKumar Sathyanarayanan
Ejb3.1
Ejb3.1
PrasannaKumar Sathyanarayanan
Producer consumerproblem
Producer consumerproblem
PrasannaKumar Sathyanarayanan
Scala presentationjune112011
Scala presentationjune112011
PrasannaKumar Sathyanarayanan
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
Delhi Call girls
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
HampshireHUG
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Miguel Araújo
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
The Digital Insurer
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
Principled Technologies
🐬 The future of MySQL is Postgres 🐘
🐬 The future of MySQL is Postgres 🐘
RTylerCroy
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
naman860154
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
Paola De la Torre
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
hans926745
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
Pooja Nehwal
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
Results
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
Pixlogix Infotech
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
Malak Abu Hammad
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
Allon Mureinik
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
Más contenido relacionado
Más de PrasannaKumar Sathyanarayanan
Websocket,JSON in JEE7
Websocket,JSON in JEE7
PrasannaKumar Sathyanarayanan
Scala Introduction with play - for my CSS nerds
Scala Introduction with play - for my CSS nerds
PrasannaKumar Sathyanarayanan
CDI in JEE6
CDI in JEE6
PrasannaKumar Sathyanarayanan
Ejb3.1
Ejb3.1
PrasannaKumar Sathyanarayanan
Producer consumerproblem
Producer consumerproblem
PrasannaKumar Sathyanarayanan
Scala presentationjune112011
Scala presentationjune112011
PrasannaKumar Sathyanarayanan
Más de PrasannaKumar Sathyanarayanan
(6)
Websocket,JSON in JEE7
Websocket,JSON in JEE7
Scala Introduction with play - for my CSS nerds
Scala Introduction with play - for my CSS nerds
CDI in JEE6
CDI in JEE6
Ejb3.1
Ejb3.1
Producer consumerproblem
Producer consumerproblem
Scala presentationjune112011
Scala presentationjune112011
Último
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
Delhi Call girls
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
HampshireHUG
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Miguel Araújo
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
The Digital Insurer
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
Principled Technologies
🐬 The future of MySQL is Postgres 🐘
🐬 The future of MySQL is Postgres 🐘
RTylerCroy
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
naman860154
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
Paola De la Torre
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
hans926745
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
Pooja Nehwal
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
Results
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
Pixlogix Infotech
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
Malak Abu Hammad
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
Allon Mureinik
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
Scott Keck-Warren
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
Delhi Call girls
How to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
naman860154
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
Anna Loughnan Colquhoun
Último
(20)
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
🐬 The future of MySQL is Postgres 🐘
🐬 The future of MySQL is Postgres 🐘
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
How to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
Akka fsm presentation
1.
FINITESTATEMACHINES (FSM) WITHAKKAACTORS WRITINGANDUNITTESTING'EM "LIGHTNINGTALK"BYPRASANNAKUMAR
2.
WHATISFSM? whenaprogramisinastateSandan eventEoccursthendoanactionAand changetoanotherstateS1 Iftheabovesoundstootheoriticaltounderstand....
3.
IMAGINEATRAFFICSIGNAL hopeyoucouldunderstand!!!
4.
WHYDOWENEEDFSM? ATLEASTFORUS... ModelandExecuteRules(weareusingit!!!) Simulations Automatabasedprogramming
5.
WHYTHISPRESENTATION IwanttolearnFSM
6.
"FSM"FROMAKKAPERSPECTIVE State Data MessagestotheactorisanalogoustoEvents Actorabstractionitself sealedtraitFSMSignal caseclassSignalColorData classSignalChangeFSMActorextendsActor withFSM[FSMSignal,SignalColorData]{ ..... }
7.
LET'SMODELFSM //state- sealedtraitFSMSignal caseobjectRedSignalextendsFSMSignal caseobjectYellowSignalextendsFSMSignal caseobjectGreenSignalextendsFSMSignal //data caseclassSignalColorData //event caseobjectChangeSignal caseobjectRetainSignal
8.
ACTORCODE classSignalChangeFSMActorextendsActorwithFSM[FSMSignal,SignalColorData]{ //initialstateofFSM startWith(RedSignal,SignalColorData()) when(RedSignal){ caseEvent(ChangeSignal,_)=>goto(YellowSignal) caseEvent(RetainSignal,_)=>stay } when(YellowSignal){ caseEvent(ChangeSignal,_)=>goto(GreenSignal) caseEvent(RetainSignal,_)=> stay }
9.
CONTD... when(GreenSignal){ caseEvent(ChangeSignal,_)=>goto(RedSignal) caseEvent(RetainSignal,_)=> stay } onTransition{ caseRedSignal->YellowSignal=>println("Changingfromredtoyellowsignal-getr caseYellowSignal->GreenSignal=>println("Changingfromyellowtogreensignal-w caseGreenSignal->RedSignal=>println("Changingfromgreentoredsignal-stop!! } initialize }
10.
UNITTESTINGFSMACTORSWITH classFSMActorTest(as:ActorSystem)extendsTestKit(as) withImplicitSender withWordSpecLike withMatchers withBeforeAndAfterAll{ //allourtestcases }
11.
valfsmRef=TestFSMRef(newSignalChangeFSMActor) defthis()=this(ActorSystem("FSMActorSystem")) "OursignalemulatingFSMActor"must{ "beredatinitialstage"in{ assert(fsmRef.stateName==RedSignal) assert(fsmRef.stateData==SignalColorData()) } "changetoyellowafterAlternateColoureventoccured"in{ fsmRef!ChangeSignal//sendaneventtoFSM assert(fsmRef.stateName==YellowSignal) assert(fsmRef.stateData==SignalColorData()) } "changetogreenafterAlternateColoureventoccured"in{ fsmRef!ChangeSignal assert(fsmRef.stateName==GreenSignal) assert(fsmRef.stateData==SignalColorData()) } "retainshouldnotchangethefsmstate"in{ fsmRef!RetainSignal assert(fsmRef.stateName==GreenSignal) assert(fsmRef.stateData==SignalColorData()) } } overridedefafterAll={ println("trafficisclearnow-obeytrafficrules") }
12.
SESSIONTAKEAWAY Code:-https://github.com/prassee/FSMExperiment
13.
HOWIMADETHISPRESENTATION? HTML5 CSS3 Presentation:-reveal.js Imagescourtesy:-googleimagesearch:) ThispresentationisCCLlicensed-feelfreetomodify
14.
THANKS:)
Descargar ahora