Assignment title: Information
Assignment 1
The goal of this assignment is to show your understanding on modeling discrete-event models using the DEVS formalism, and to use the CD++ simulation tool to execute discrete-event simulations. You must identify a real system that can be represented using DEVS, build a model of the system of choice, and run simulations in order to analyze different conditions on the system. The system of your choice can be any natural or artificial system.
Important dates:
Oct 11 – Assignment 1 conceptual model document delivery, 1 pm. The document must be delivered as an attachment via email.
Nov 1 – Assignment 1 Report delivery, 1 pm. The document must be delivered as an attachment via email.
Part I:
The first stage is to identify a real system of choice that can be described as a Discrete-Event Dynamic System model, and to provide a one-page report including a conceptual description. This document should include:
- a description of the problem to be solved,
- a brief sketch of the model structure, and,
- for each component, a brief description of the behavior of the component.
The model should have 2 to 4 levels (two levels means: the top model has a number of submodels, and, at least one of them is a structural model. The third level means that this model should also be decomposed into submodels). The model should have at least three atomic submodels (at least 2 of them must be different). The remaining submodels can be atomic or coupled. Students working in teams (at most, three per team; see conditions in the Appendix) must define more complex models. Teams should be identified in this report.
Part II
The conceptual model will be used as a requirement document for the final work. You should:
. Organize your models as atomic/coupled, defining the structure and coupling scheme discussed in Part I. This could result in a redefinition of the structure proposed for the conceptual model document of Part I (which will be included in the final report).
. Write a DEVS formal specification for each of the coupled models.
. Write a DEVS formal specification for each of the atomic models, including a description for the transition functions (using pseudocode, state-based representations, DEVS Graphs or others).
. Propose a testing strategy for each one of the models. Document the tests to be executed. The test strategies should consider incremental expansion of the tests, starting at the level of an atomic model, and hierarchically expanding the test base in the model hierarchy. This will be the experimental framework for each of the models involved.
Part III
Use the specification you defined in Part II, and build each of the Atomic Models using CD++. Build individual tests for each of them following the test cases proposed in Part II, trying to ensure correctness of the simulation model. Once the models have been tested, build coupled models, repeating the testing strategies proposed in the specification document. Build the top model of your application, and conduct integration testing.
Run different simulation examples, changing the original experimental framework, and showing the reaction of the model to different inputs than those defined in the specifications. Use CD++Modeler to analyze the input/output trajectories of the model. Write a report showing these execution results and analyzing the behavior of the model according to the specifications. Document any changes done to the original specifications derived from model execution analysis. Include printouts of the atomic model execution in your report (and analyze the results observed).