The document discusses state diagrams and state modeling. It explains that state diagrams are used to model the dynamic behavior of systems by showing their various states, transitions between states, events that trigger transitions, and activities within states. It provides examples of modeling the states of a single object and the sequence of states an object experiences over its lifetime. It also discusses modeling parallel and nested substates, as well as the use of events, guards, and actions in state transitions.
P 2 Konsep & Notasi Bahasa - Teknik Kompilasiahmad haidaroh
Grammar G didefinisikan sebagai pasangan 4 tupel yang terdiri dari himpunan simbol terminal, non terminal, simbol awal, dan produksi. Noam Chomsky mengklasifikasikan 4 tipe grammar berdasarkan bentuk ruas kiri dan kanan produksinya. Derivasi adalah proses menurunkan simbol non terminal menjadi terminal sesuai aturan produksi.
Finite automata adalah mesin abstrak yang dapat mengenali bahasa reguler dan berada dalam salah satu konfigurasi internal berhingga. Finite automata memiliki prosedur yang akan berhenti ketika diberi masukan berhingga dan menyatakan apakah masukan tersebut diterima atau tidak dalam jumlah komputasi berhingga.
Welcome to my series of articles on Unified Modeling Language. This is "Session 9 – State Diagram" of the series.
Please view my other documents where I have covered each UML diagram with examples
Dokumen tersebut membahas state machine diagram, yang merupakan teknik untuk menggambarkan perilaku dinamis suatu sistem dengan menggunakan simbol-simbol seperti state, transisi, pseudostate awal dan akhir, serta aktivitas internal seperti entry dan exit activity. Dokumen tersebut juga menyertakan contoh penerapan state machine diagram untuk memodelkan siklus hidup sebuah pintu dan alur proses peminjaman mobil.
This chapter introduces state diagrams and their components. It discusses how state diagrams describe the states of an object and transitions between states triggered by events. It covers initial and final states, actions, activities, and different types of events. The chapter also discusses transitions between states and the use of guard conditions. Finally, it introduces concepts like substates, concurrent state diagrams, and ways for orthogonal components to communicate in concurrent state models.
The document discusses state modeling and state diagrams. It defines states as representations of intervals of time that describe an object's behavioral condition. Events trigger transitions between states. A state diagram uses a graph to represent an object's states and the transitions between them caused by events. It specifies the object's response to input events over time. The document provides examples of how to notationally represent states, transitions, events, and other elements in a state diagram.
P 2 Konsep & Notasi Bahasa - Teknik Kompilasiahmad haidaroh
Grammar G didefinisikan sebagai pasangan 4 tupel yang terdiri dari himpunan simbol terminal, non terminal, simbol awal, dan produksi. Noam Chomsky mengklasifikasikan 4 tipe grammar berdasarkan bentuk ruas kiri dan kanan produksinya. Derivasi adalah proses menurunkan simbol non terminal menjadi terminal sesuai aturan produksi.
Finite automata adalah mesin abstrak yang dapat mengenali bahasa reguler dan berada dalam salah satu konfigurasi internal berhingga. Finite automata memiliki prosedur yang akan berhenti ketika diberi masukan berhingga dan menyatakan apakah masukan tersebut diterima atau tidak dalam jumlah komputasi berhingga.
Welcome to my series of articles on Unified Modeling Language. This is "Session 9 – State Diagram" of the series.
Please view my other documents where I have covered each UML diagram with examples
Dokumen tersebut membahas state machine diagram, yang merupakan teknik untuk menggambarkan perilaku dinamis suatu sistem dengan menggunakan simbol-simbol seperti state, transisi, pseudostate awal dan akhir, serta aktivitas internal seperti entry dan exit activity. Dokumen tersebut juga menyertakan contoh penerapan state machine diagram untuk memodelkan siklus hidup sebuah pintu dan alur proses peminjaman mobil.
This chapter introduces state diagrams and their components. It discusses how state diagrams describe the states of an object and transitions between states triggered by events. It covers initial and final states, actions, activities, and different types of events. The chapter also discusses transitions between states and the use of guard conditions. Finally, it introduces concepts like substates, concurrent state diagrams, and ways for orthogonal components to communicate in concurrent state models.
The document discusses state modeling and state diagrams. It defines states as representations of intervals of time that describe an object's behavioral condition. Events trigger transitions between states. A state diagram uses a graph to represent an object's states and the transitions between them caused by events. It specifies the object's response to input events over time. The document provides examples of how to notationally represent states, transitions, events, and other elements in a state diagram.
Pertemuan membahas pengenalan struktur data dan paradigma rekayasa perangkat lunak. Topik utama meliputi pengenalan komputer, algoritma, struktur data, dan metode pengembangan perangkat lunak seperti daur hidup klasik, prototipe, dan model spiral."
1. Modul ini membahas pengenalan Adobe Photoshop CS3 dan komponen-komponennya seperti menu bar, tool box, dan pallete. Modul ini juga membahas tentang cara membuat dan memodifikasi lembar kerja/kanvas.
2. Modul ini juga membahas tentang layer dan duplikat layer yang berguna untuk mengedit gambar tanpa mengubah layer lain. Juga dibahas tentang channel dan path.
3. Modul menjelaskan berbagai macam koreksi warna sepert
Modul ini memberikan petunjuk penggunaan program Adobe Photoshop Cs3 untuk mahasiswa agar dapat mengerjakan berbagai desain seperti iklan. Modul ini diharapkan dapat memberikan manfaat dan dikembangkan lebih lanjut untuk menyusun karya seni menggunakan fitur Photoshop.
Dokumen tersebut membahas tentang mata kuliah Sistem Informasi Manajemen (SIM) Komputer. Mata kuliah ini membahas tentang pengertian SIM, peranan SIM dalam perusahaan, perancangan dan penerapan SIM berbasis komputer, serta daftar referensi buku yang relevan.
Interaksi manusia dengan komputer membahas prinsip dasar perancangan sistem interaksi yang mempertimbangkan kaidah interaksi dan komunikasi antara manusia dan komputer. Materi yang dibahas meliputi saluran input-output manusia, memori manusia, penalaran dan pemecahan masalah, serta desain interaksi dan gaya berinteraksi antara manusia dan komputer. Tujuannya agar mahasiswa dapat merancang sistem interaksi yang mendukung kemampuan
Makalah ini membahas tentang jaringan komputer dengan menjelaskan definisi jaringan komputer, manfaatnya untuk perusahaan, umum, dan masalah sosialnya, serta menjelaskan tiga jenis jaringan berdasarkan jaraknya yaitu LAN, MAN, dan WAN."
Dokumen tersebut membahas tentang Entity Relationship Diagram (ERD) yang merupakan model representasi data menggunakan entity dan hubungan antar entity. ERD digunakan untuk merancang basis data relasional dengan mendefinisikan entity, atribut, hubungan, dan constraint. Dokumen ini menjelaskan komponen-komponen ERD seperti entity, atribut, hubungan, cardinality ratio, dan transformasi ERD menjadi skema basis data relasional.
Dokumen tersebut membahas tentang jenis-jenis dan konsep sistem penunjang keputusan serta tingkat teknologi dan pihak-pihak yang berperan dalam pengembangannya. Kemudian diberikan contoh kasus rancangan global SPK untuk pemilihan komoditas dan produk unggulan nanas menggunakan metode perbandingan eksponensial dan matriks keputusan. Proyek selanjutnya adalah membuat rancangan SPK untuk masalah l
Teks tersebut membahas beberapa pendekatan pengembangan sistem aplikasi, yaitu pendekatan berorientasi proses, pendekatan berorientasi objek, dan pendekatan SADT. Pendekatan berorientasi proses berfokus pada proses sistem, pendekatan berorientasi objek berfokus pada data, sedangkan pendekatan SADT menggunakan diagram aktivitas dan data.
Dokumen ini membahas tentang sistem database, termasuk hierarki data, sumber data, diagram entity relationship (E-R), dan sistem manajemen basis data. Secara ringkas, dokumen ini menjelaskan struktur organisasi data dari tingkat terkecil hingga terbesar, komponen penting dalam sumber data seperti entitas dan atribut, jenis hubungan antar entitas dalam diagram E-R, serta model-model data yang umum digunakan dalam sistem basis data.
it describes the bony anatomy including the femoral head , acetabulum, labrum . also discusses the capsule , ligaments . muscle that act on the hip joint and the range of motion are outlined. factors affecting hip joint stability and weight transmission through the joint are summarized.
Pertemuan membahas pengenalan struktur data dan paradigma rekayasa perangkat lunak. Topik utama meliputi pengenalan komputer, algoritma, struktur data, dan metode pengembangan perangkat lunak seperti daur hidup klasik, prototipe, dan model spiral."
1. Modul ini membahas pengenalan Adobe Photoshop CS3 dan komponen-komponennya seperti menu bar, tool box, dan pallete. Modul ini juga membahas tentang cara membuat dan memodifikasi lembar kerja/kanvas.
2. Modul ini juga membahas tentang layer dan duplikat layer yang berguna untuk mengedit gambar tanpa mengubah layer lain. Juga dibahas tentang channel dan path.
3. Modul menjelaskan berbagai macam koreksi warna sepert
Modul ini memberikan petunjuk penggunaan program Adobe Photoshop Cs3 untuk mahasiswa agar dapat mengerjakan berbagai desain seperti iklan. Modul ini diharapkan dapat memberikan manfaat dan dikembangkan lebih lanjut untuk menyusun karya seni menggunakan fitur Photoshop.
Dokumen tersebut membahas tentang mata kuliah Sistem Informasi Manajemen (SIM) Komputer. Mata kuliah ini membahas tentang pengertian SIM, peranan SIM dalam perusahaan, perancangan dan penerapan SIM berbasis komputer, serta daftar referensi buku yang relevan.
Interaksi manusia dengan komputer membahas prinsip dasar perancangan sistem interaksi yang mempertimbangkan kaidah interaksi dan komunikasi antara manusia dan komputer. Materi yang dibahas meliputi saluran input-output manusia, memori manusia, penalaran dan pemecahan masalah, serta desain interaksi dan gaya berinteraksi antara manusia dan komputer. Tujuannya agar mahasiswa dapat merancang sistem interaksi yang mendukung kemampuan
Makalah ini membahas tentang jaringan komputer dengan menjelaskan definisi jaringan komputer, manfaatnya untuk perusahaan, umum, dan masalah sosialnya, serta menjelaskan tiga jenis jaringan berdasarkan jaraknya yaitu LAN, MAN, dan WAN."
Dokumen tersebut membahas tentang Entity Relationship Diagram (ERD) yang merupakan model representasi data menggunakan entity dan hubungan antar entity. ERD digunakan untuk merancang basis data relasional dengan mendefinisikan entity, atribut, hubungan, dan constraint. Dokumen ini menjelaskan komponen-komponen ERD seperti entity, atribut, hubungan, cardinality ratio, dan transformasi ERD menjadi skema basis data relasional.
Dokumen tersebut membahas tentang jenis-jenis dan konsep sistem penunjang keputusan serta tingkat teknologi dan pihak-pihak yang berperan dalam pengembangannya. Kemudian diberikan contoh kasus rancangan global SPK untuk pemilihan komoditas dan produk unggulan nanas menggunakan metode perbandingan eksponensial dan matriks keputusan. Proyek selanjutnya adalah membuat rancangan SPK untuk masalah l
Teks tersebut membahas beberapa pendekatan pengembangan sistem aplikasi, yaitu pendekatan berorientasi proses, pendekatan berorientasi objek, dan pendekatan SADT. Pendekatan berorientasi proses berfokus pada proses sistem, pendekatan berorientasi objek berfokus pada data, sedangkan pendekatan SADT menggunakan diagram aktivitas dan data.
Dokumen ini membahas tentang sistem database, termasuk hierarki data, sumber data, diagram entity relationship (E-R), dan sistem manajemen basis data. Secara ringkas, dokumen ini menjelaskan struktur organisasi data dari tingkat terkecil hingga terbesar, komponen penting dalam sumber data seperti entitas dan atribut, jenis hubungan antar entitas dalam diagram E-R, serta model-model data yang umum digunakan dalam sistem basis data.
it describes the bony anatomy including the femoral head , acetabulum, labrum . also discusses the capsule , ligaments . muscle that act on the hip joint and the range of motion are outlined. factors affecting hip joint stability and weight transmission through the joint are summarized.
MATATAG CURRICULUM: ASSESSING THE READINESS OF ELEM. PUBLIC SCHOOL TEACHERS I...NelTorrente
In this research, it concludes that while the readiness of teachers in Caloocan City to implement the MATATAG Curriculum is generally positive, targeted efforts in professional development, resource distribution, support networks, and comprehensive preparation can address the existing gaps and ensure successful curriculum implementation.
A review of the growth of the Israel Genealogy Research Association Database Collection for the last 12 months. Our collection is now passed the 3 million mark and still growing. See which archives have contributed the most. See the different types of records we have, and which years have had records added. You can also see what we have for the future.
How to Build a Module in Odoo 17 Using the Scaffold MethodCeline George
Odoo provides an option for creating a module by using a single line command. By using this command the user can make a whole structure of a module. It is very easy for a beginner to make a module. There is no need to make each file manually. This slide will show how to create a module using the scaffold method.
Introduction to AI for Nonprofits with Tapp NetworkTechSoup
Dive into the world of AI! Experts Jon Hill and Tareq Monaur will guide you through AI's role in enhancing nonprofit websites and basic marketing strategies, making it easy to understand and apply.
This presentation was provided by Steph Pollock of The American Psychological Association’s Journals Program, and Damita Snow, of The American Society of Civil Engineers (ASCE), for the initial session of NISO's 2024 Training Series "DEIA in the Scholarly Landscape." Session One: 'Setting Expectations: a DEIA Primer,' was held June 6, 2024.
বাংলাদেশের অর্থনৈতিক সমীক্ষা ২০২৪ [Bangladesh Economic Review 2024 Bangla.pdf] কম্পিউটার , ট্যাব ও স্মার্ট ফোন ভার্সন সহ সম্পূর্ণ বাংলা ই-বুক বা pdf বই " সুচিপত্র ...বুকমার্ক মেনু 🔖 ও হাইপার লিংক মেনু 📝👆 যুক্ত ..
আমাদের সবার জন্য খুব খুব গুরুত্বপূর্ণ একটি বই ..বিসিএস, ব্যাংক, ইউনিভার্সিটি ভর্তি ও যে কোন প্রতিযোগিতা মূলক পরীক্ষার জন্য এর খুব ইম্পরট্যান্ট একটি বিষয় ...তাছাড়া বাংলাদেশের সাম্প্রতিক যে কোন ডাটা বা তথ্য এই বইতে পাবেন ...
তাই একজন নাগরিক হিসাবে এই তথ্য গুলো আপনার জানা প্রয়োজন ...।
বিসিএস ও ব্যাংক এর লিখিত পরীক্ষা ...+এছাড়া মাধ্যমিক ও উচ্চমাধ্যমিকের স্টুডেন্টদের জন্য অনেক কাজে আসবে ...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Dr. Vinod Kumar Kanvaria
Exploiting Artificial Intelligence for Empowering Researchers and Faculty,
International FDP on Fundamentals of Research in Social Sciences
at Integral University, Lucknow, 06.06.2024
By Dr. Vinod Kumar Kanvaria
How to Fix the Import Error in the Odoo 17Celine George
An import error occurs when a program fails to import a module or library, disrupting its execution. In languages like Python, this issue arises when the specified module cannot be found or accessed, hindering the program's functionality. Resolving import errors is crucial for maintaining smooth software operation and uninterrupted development processes.
2. Statechart Diagram
- Bersifat dinamis
- Memperlihatkan state-state pada sistem;
memuat state, transisi, event, serta
aktivitas.
- Memperlihatkan sifat dinamis dari
antarmuka, kelas, kolaborasi dan terutama
penting pada pemodelan sistem-sistem
yang reaktif
3. SYSTEMS ANALYSYS AND DESIGN METHODS 5TH Edition Whitten Bentley Dittman
Membuat model behavior dari objek-objek
• Setiap objek dapat dikatakan memiliki state ---
nilai dari attributnya pada suatu saat tertentu.
• State diagram memodelkan daur hidup sebuah
objek tunggal. Ia menggambarkan macam-
macam state yang dimiliki sebuah objek, event
yang mengakibatkan perubahan state selama
waktu tertentu dan aturan-aturan yang mengatur
transisi objek antara satu state dengan state
lainnya.
• Perubahan terhadap state objek terjadi ketika
ada suatu kejadian atau ketika nilai dari salah
satu atributnya berubah. Perubahan state ini
dipicu oleh adanya suatu event.
Irwin/McGraw-Hill Copyrighth@2000 The Mcgraw-Hill Companies All Right reserved
4. Developing Software Woth UML Booch Jacobson Rumbaugh
• Sebuah state diagram menunjukkan urut-urutan state
dari sebuah objek selama masa hidupnya / lifetimenya,
sekaligus dengan event-event yang menyebabkan
perubahan dari state tersebut.
• Sebuah state diagram menjelaskan sebuah hypothetical
machine (finite automaton) yang pada setiap waktu
berada pada satu set finite state, yang terdiri dari:
• a finite, non-empty set of states;
• a finite, non-empty set of events;
• functions, yg menjelaskan transisi dari satu state ke
state berikutnya;
• sebuah initial state;
• satu set final state.
Addison-Wesley
5. Developing Software Woth UML Booch Jacobson Rumbaugh
Soal:
• On opening the flight, the initial state leads to the NoReservation
state. When the state is entered, the Reset operation is executed. If
a reservation is made for this flight, the object changes to the state
PartiallyReserved.
• The Reserve event is associated to the homonymous Reserve
action (implemented as an operation).
• In this operation, the actual reservation takes place, and the internal
reservation counter is updated. After termination of this action, we
will find the object in the PartiallyReserved state.
• Each additional reservation leads to the same action. As long as a
free seats are available, the object remains in the PartiallyReserved
state. If only one seat left, it changes into FullyBooked state.
Cancellation of reserved seats is carried out in a similar way. Thus,
the state diagram describes which actions are triggered by which
events and under which conditions these (and together with the call
of the corresponding operations) are permitted.
Addison-Wesley
7. Developing Software Woth UML Booch Jacobson Rumbaugh
State
• Sebuah state dimiliki oleh satu buah Class dan
merepresentasikan abstraksi atau kombinasi dari
satu set nilai atribut yang mungkin terjadi pada
objek tersebut dari class ini.
• Tidak setiap perubahan nilai atribut akan dianggap
sebagai perubahan state. Hanya event tertentu
yang sangat signifikan mengakibatkan perubahan
behavior dari objek.
• Sebuah state oleh karena itu dapat dilihat juga
sebagai rentang waktu (time span) antara dua
event.
• Dua type khusus state yang ada adalah initial state
dan final state.
Addison-Wesley
8. Developing Software Woth UML Booch Jacobson Rumbaugh
• Tidak ada transisi yang menuju initial state dan tidak ada
event yang diperbolehkan meninggalkan final state.
• Transisi dari satu state ke state berikutnya di trigger /
dipicu oleh event. Sebuah event terdiri dari nama event
dan sejumlah argument.
• Event dapat memicu aksi didalam state yang dilakukan
melalui operasi tertentu.
Ada tiga trigger yang sudah predefine:
• entry, fires automatically when entering a state
• exit, fires automatically when leaving a state
• do, fires repeatedly as long as the state is active, that is,
not left.
Addison-Wesley
9. Developing Software Woth UML Booch Jacobson Rumbaugh
Substate
• Sebuah state dapat diuraikan lebih lanjut, baik
sekuensial ataupun paralel substate.
• Gambar dibawah ini menunjukkan sebuah sequential
nesting. Ketika kontrak asuransi ditetapkan, sebuah
produk dipilih (sebagai contoh, content-nya), yang terdiri
dari beberapa produk element (Pel), seperti furniture,
gelas, dsb. Untuk setiap produk elemen, sebuah cover
(istilah asuransi) harus dibuat. Ilustrasi dibawah ini
menunjukkan Create covers state dari context ini.
Create Covers
covers:set=Empty set
PElQuantity Define
Reset cover
addPEl [isComplete]
addPEl
Addison-Wesley
10. Developing Software Woth UML Booch Jacobson Rumbaugh
Gambar dibawah ini menunjukkan notasi
dari paralel substates.
substates
event1
S3
S4
S1 S2
event2 event3
event4 S5
Addison-Wesley
11. Developing Software Woth UML Booch Jacobson Rumbaugh
Event dan transition
• Sebuah event adalah sebuah kejadian yang
memiliki pengaruh khusus dalam suatu context yang
dibicarakan, karena ia men-trigger / memicu
perubahan state.
• Kebalikan dari state, event bukan milik satu kelas
tertentu.
• State transition (perubahan state) biasanya dipicu
oleh adanya event yang digambarkan dengan anak
panah yang menghubungkan state satu dengan
state lainnya.
Addison-Wesley
13. Transitions
event [guard] | action
x
x y
y
The action that
takes place when
The event that Conditions that the transition is
triggers the must be met for taken
transition the transition to
take place
14. Transitions
event [guard] | action
x
x y
y
The action that
takes place when
The event that Conditions that the transition is
triggers the must be met for taken
transition the transition to
take place
15. Events
• General Events
– Method calls: received(customer)
– Event signals: inventoryReady
created
created
• Time event
– interval expiry; inventoryReady
tm(3 days), tm(1000 ms)
– calendar/clock time; when(11:50) in gathering
in gathering
• Change Event:
false(hasProblems)
– Change in value of some entity;
false(hasProblems) sent
sent
true(hasProblems) tm(3 days)
received()
is received
in problem
16. Guards (Conditions)
gatheringFinished [all items were gathered]
sent
sent
in gathering
in gathering
in problem
in problem
gatheringFinished [items are not found]
• Boolean expressions.
• Evaluated when the transition is triggered
• Types of guards:
– Simple predicate: [hasProblems], [x > 0]
– Combined predicates:
[¬hasProblems ∨ (hasProblems ∧ order.sum < 100]
– Guards on activities: [active(gatherItems)]
– State related (we’ll get back to it later)
17. Guards - Example
bid [value < 100]
bid [value >= 200]
Selling Happy
bid [(value >= 100) AND (value < 200)]
Unhappy
Intro | Building Blocks | Advanced
18. Static Conditional Branching
• A graphical shortcut for convenient
rendering of decision trees
Selling Happy
bid
[value >= 200]
[value < 100]
[(value >= 100) & (value < 200)]
Unhappy
19. Empty Transitions
• A transition can have any combination
(including none) of the events, guards and
actions
Empty
• When a transition does not have an event,
Employee Transition
it is taken after all the activities were
rest[break] Cleaning
ended
Working do: put water
do: put soap doing nothing
do: shovel work do: wash soap
do: drain
work
20. Guards and Events
• What’s the difference between the two
machines?
E1 true(C)
S1 S2 S3
E1 [C]
S1 S2 S3
What happens if C changes to True
before E1?
21. Actions
• An executable atomic computation
• Types of actions
– Variable assignment:
received() | status := received
sent
sent is received
is received
– Throwing a signal:
received() | throw(InventoryUpdate)
sent
sent is received
is received
– Start, or stop activities (and concatenation of actions):
| start(sendBill); stop(delivery); x := x+1
sent
sent is received
is received
22. Transitions - advanced
• Self-transitions: Transitions can be directed to the same
state: / c=0
S2 E1 / c:=c+1
• Un-deterministic states – when two transitions are taken
in the same time, one of will be taken in an un-
deterministic fashion:
E1
S1 S2
[C1]
S3
23. How does a Washing Machine Works?
• On / Off button. Start button
• (No stop button.)
• Feedback is given on the current stage
(soaking, rinsing, draining, drying)
• Three plans:
– Regular
– Delicate (no soaking)
– Super delicate (no soaking, no drying)
• Off can be clicked only before starting, or
after finishing
25. State Explosion: An Example
What is the off
button can be
clicked at any time?
What if we want to show
how many minutes left
to the end of the cycle?
What if we want to
come back to the
same state we left?
26. Abstraction in Statechart
Separating Independent
Finding Common Regions
Behavior
Composite States Parallel States
27. The State Explosion Problem
Class Class Class
v1 : {t, f} v1 : {t, f} v1 : {t, f}
v2 : {t, f} v2 : {t, f} v2 : {t, f}
v3 : {t, f}
...
v3 : {t, f}
... ... v3 : {t, f}
...
• Let
– n: Num of Classes
– m: Num of variables (assume equals among classes)
• Number of possible states = 2(nm)
• And...
– What if the state space of each variable > 2
– What about association between objects?
29. Composite + History
off
click(power)
click(power)
On
H
idle Tm(10 mins) | light(off)
click(start) [plan=regular]
soak
click(start) [plan=delicate
Do: light(soak)
or super delicate]
Do: pump(in)
Tm(5 mins) [plan=super delicate] | light(off)
tm(30 mins)
rinse drain dry
tm(5 mins)
Do: light(rinse) tm(30 mins) Do: light(drain) [plan=not super Do: light(dry)
Do: stir() Do: pump(out) delicate] Do: stir()
30. deep and shallow
Shift ended | clh()
Stop
pause
Diagnosing
return
H Diagnostic1
Diagnostic1 Diagnostic2
Diagnostic2
return-full
H* setup
setup Find a vein
Find a vein
clh() – clears Check blood
Check blood
Draw Blood
Draw Blood
the history pressure
pressure
31. Completion Transitions
• Triggered by a completion event
– generated automatically when an immediately nested state
machine terminates
Committing completion
transition (no trigger)
Phase1
Phase1
Commit Done
Phase2
Phase2
32. Triggering Rules
• Two or more transitions may have the same event trigger
– inner transition takes precedence
– if no transition is triggered, event is discarded
LampFlashing
FlashOn
FlashOn
on/
on/ off/
FlashOff
FlashOff
33. Order of Actions: Complex Case
• Same approach as for the simple case
S1 S2
exit:exS1 entry:enS2
| initS2
S11 E/actE S21
exit:exS11 entry:enS21
Actions execution sequence:
exS11 exS1 actE enS2 initS2 enS21
34. Parallel States
• Sometimes, some aspect of an entity are independent of other
aspects
Martial employee
single
Staff
Member
married
Manager
divorced
35. Parallel States Annotation
• Martial
Combine multiple simultaneous employee
descriptions
single
Staff
Member
married
Martial employee
single Manager
divorced
Staff
Member
married
divorced Manager
Intro | Building Blocks | Advanced
36. Interactions Between Parallel
States off
click(power)
click(power)
On H
idle Spin Slow
Do: spin(150rpm)
click(start) idle
[Plan in Regular]
Regular
Tm(entered(rinse),15)
Tm(30) Exited(rinse)
click(start) soak Entered(rinse)
[Plan in
[Plan not in Regular] click(plan)
Super Delicate] Entered(rinse)
[Plan not in Regular] idle
out
Tm(30)
Tm(30) click(plan)
Entered(soak) Do: pump out Delicate
water Entered(drain)
Exited(drain)
rinse
click(plan)
in
Tm(30)
[Plan not in Super Delicate] Super Spin Fast
Do: pump in
Delicate
water
Do: spin(400rpm)
drain
Controller Pump Plan Rotor
37. “Flat” and Parallel Machines
• Every parallel machine can be transformed into a
sequential machine:
A D µ
E
B Use of
γ δ F Orthogonal
α β
(in G) α Regions
C G
µ δ
B,F
γ
B,E B,G
α α β No Use of
α Orthogonal
γ
C,E
α C,G Regions
µ C,F δ
38. Transition Forks and Joins
• For transitions into/out of orthogonal
shipping
regions:
Processing
Processing Sent
Sent Confirmed
Confirmed
Credit Card
Credit Card [ok]
verification
verification Receipt Sent
Receipt Sent
fork [not ok] charging Join
In problem
In problem