User Tools

Site Tools


course_outline

This is an old revision of the document!


Course Schedule

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 in the SVN).

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), during Week0 and Week1.
  • 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.

The labs, labtest, assignment, project and test will be based on your knowledge of the required reading/study material, the Labs, as well as material presented in class.

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.1534818853.txt.gz · Last modified: 2018/08/21 02:34 by jonathan