User Tools

Site Tools


course_outline

Course Schedule

EECS4312E-F18

The tentative schedule for required readings (that you must do on your own), Scheduled Labs and Labtests are provided below.

Tentative Labtest Dates & Required Readings

You must be present in every laboratory during the scheduled Lab hour. In most weeks, there will be a weekly Labtest during the scheduled Lab hour that is graded.

Every week there will be Lab work to be done (available on the SVN). See here

Labtest Instructions

Each week you are required to study readings, on your own time, from:

  • the WIFT-95 Tutorial Introduction to PVS (WIFT-PVS Tutorial). Try out the examples using the PVS theorem prover. In addition, you must do the telephone book example in the WIFT-95 Tutorial (pages 5 to 25).
  • the required text: Requirements Engineering Management Handbook (2009) (REMH). Note that there are examples of how to write requirements documents in Appendix A, B, C and D of this handbook. This allows you to see how the readings can be applied in practice.
  • There is a video to help you understand Use Cases. You must understand and be able to construct Use Cases and Use Case diagrams before the Project and Exam. See here.

Labtests will be based on the Labs, readings and class lectures. TLA+ Videos included.

Topics Covered

  • Eliciting customer needs and goals and identifying the stakeholders.
  • The use of UML diagrams such as use case, sequence, class and statechart diagrams to help with the elicitation.
  • Developing the system overview, system boundary and context diagram.
  • Identifying the monitored variables and events and the controlled variables, their types ranges, precision and units.
  • Identifying the environmental assumptions and constraints.
  • Understanding the Parnas 4-variables model for writing requirements.
  • Monitored Variables, Controlled Variables, Timing resolution and Response Allowance
  • Developing the functional specification using tabular expressions (mathematical function tables)
  • The use of specification and theorem proving tools (PVS) to describe the function tables and using the PVS tool to verify the completeness, disjointness and well- definedness of the functional requirements.
  • PVS Specification of predicates using basic types, tuples, records, datatypes, functions, relations, sets, bags, etc. Reasoning about predicates in these types.
  • How to use function tables to specify safety-critical real-time systems and cyber-physical systems and understanding, Timing Resolution and Response Allowances.
  • Using function tables to specify business systems via monitored events and abstract states/controlled variables.
  • Validation of use cases against the functional specifications and validation of the safety requirements.
  • Describing non-functional and performance requirements.
  • Deriving acceptance tests from the use cases and function tables.

Notes: There are some slides available on the course web site but much of the work is done on the blackboard. Instruction in the use of PVS for specification and validation is done mainly via the Labs and the associated Labtests.

course_outline.txt · Last modified: 2018/11/08 04:35 by jonathan