User Tools

Site Tools


course_outline

Course Outline

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

Due Dates

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

  • September 07: Do Lab0.
  • September 14 (Thursday): Quiz1. Propositional Logic and PVS.
  • September 26 (Tuesday): Lab1 due.
  • September 28 (Thursday): Quiz2. Involves all work up to an including Lab1 and up to including all work of week 2.
  • October 02: (Monday) Lab2 is due by 1.00 pm.
  • October 05: (Thursday) Quiz3. Involves Lab2 and all readings and work done in class up to and including Oct 03.
  • October 16: (Monday) Lab3 is due by 1.00 pm
  • October 19: (Thursday) Quiz4
  • October 23: (Monday) Lab4 is due by 1.00 pm
  • October 25: Assignment is handed out prior to reading week
  • October 30: (Monday) Lab5 is due by 1.00 pm
  • November 02: (Thursday) Quiz5 (includes material from Lab5)
  • November 03: (Friday) Lab6 is due by 1pm
  • November 07: (Tuesday) Assignment Due, 11am
  • November 10: (Friday) Lab7 is due by 1pm
  • November 14: (Tuesday) Written Closed Book Test, during class.
  • November 16: (Thursday) Phase1 is due by 11am (strict)
  • December 05: (Tuesday) Phase2 is due by 2pm

Quiz Instructions

Tentative Schedule (Quiz dates may be changed on the fly)

You must do the self-paced readings as specified below.

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 test. See here.

The labs, quizzes, 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.

At the beginning of each week (midnight Sunday), the Lab for that week will become available. A graded Quiz will take place every Thursday during the scheduled Lab. The Quiz will be on the Lab of the previous week (e.g. Quiz1 will be on Lab0 and associated reading and presentations in class) and on the readings and course work of the previous week.

At the beginning of each week you must start doing the Lab work for that week, and submit it by the Friday morning of that week. During the scheduled Lab you may ask questions on the Lab. While each Quiz is graded, the Labs are not given a grade. <hi cyan> However you must submit the completed Lab on time to obtain a grade for the Quiz of that week.</hi> If you miss a Quiz, you will not receive a grade for that Quiz.

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 Quizzes.

By weeks

  • Week1: Propositional Logic, Predicate Logic, Induction review and its use in PVS for requirements analysis. Formalizing in logic and set theory informal descriptions of systems.
course_outline.txt · Last modified: 2017/11/20 23:25 by jonathan