From 87dfce723b8e916a41e3173f26c1897dbeb7889e Mon Sep 17 00:00:00 2001
From: Joeri Exelmans
Date: Sun, 15 Dec 2024 13:13:15 +0100
Subject: [PATCH] add TIPS + fix HTML
---
assignment/doc/assignment.html | 33 +++++++++++++++++----------------
1 file changed, 17 insertions(+), 16 deletions(-)
diff --git a/assignment/doc/assignment.html b/assignment/doc/assignment.html
index 5beaded..1aa013d 100644
--- a/assignment/doc/assignment.html
+++ b/assignment/doc/assignment.html
@@ -1,9 +1,5 @@
-
-DEVS Assignment
-
-
Practical stuff
- Due Date: Sunday 5 January 2025, before 23:59 (Blackboard's clock).
@@ -101,15 +97,15 @@
- Lock
-The specification of the semantics of the Atomic DEVS blocks is entirely deterministic. If you implement everything correctly, the system as-a-whole will behave 100% identical to the teacher's solution.
-
+The specification of the semantics of the Atomic DEVS blocks is entirely deterministic. If you implement everything correctly, the system as-a-whole will behave 100% identical to the teacher's solution.
Coupled DEVS
The system as a whole is modeled as a Coupled DEVS block. Its parameters are mostly passed as-is to the underlying Atomic DEVS blocks. They are:
@@ -140,6 +136,7 @@ The specification of the semantics of the Atomic DEVS blocks is entirely determi
Think of the interfaces of these blocks (input/output ports and their events) and the protocol spoken by them.
Finally, in the CoupledDEVS block representing the entire system, you will have to make the right connections (which of course depends on the input/output ports that you have defined in your AtomicDEVS).
+An indication of the complexity: my own solution of the AtomicDEVS blocks is about 300 lines of code (including comments).
Goal: Performance Analysis
Once you have implemented the system, we will do performance analysis, comparing combinations of the following parameter values:
@@ -203,7 +200,7 @@ The specification of the semantics of the Atomic DEVS blocks is entirely determi
intTransition
- This reflects the order in which the methods are called by the simulator:
+ This reflects the order in which the methods are called by the simulator:
- extTransition always has highest priority (can interrupt anything)
- timeAdvance is called before outputFnc
@@ -213,21 +210,25 @@ The specification of the semantics of the Atomic DEVS blocks is entirely determi
- Input/output port attributes start with 'in_' and 'out_'
+Tips
+
+ - Test/debug your integrated solution with only one ship (set num_ships parameter to 1).
+ - To observe the changing State in the PyPDVES debug output, write __repr__-methods for your State-classes.
+
+
Troubleshooting
Common mistakes include:
-
- - did you forget to return self.state from intTransition or extTransition ?
- - did you accidentally write to self.x instead of self.state.x ?
- - did you modify the state in timeAdvance or outputFnc ? (NOT ALLOWED!!)
-
+
+ - did you forget to return self.state from intTransition or extTransition ?
+ - did you accidentally write to self.x instead of self.state.x ?
+ - did you modify the state in timeAdvance or outputFnc ? (NOT ALLOWED!!)
+
+
Extra Material
-
-
-
\ No newline at end of file