User Tools

Site Tools


course_outline

EECS4312E-F19

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

Moodle Site is here. Please register with iClicker for in class use.

Schedule Fall 2019

Tentative Labtest Dates & Required Reading

Lab Date Labtest Weight Weekly Required Readings
Lab00 Wed. 04 Sep. Slides-01: Requirements Overview
Lab01 Wed. 11 Sep.Labtest1 1% Section 2.1/2.2 Identify System Boundary
Lab02 Wed. 18 Sep.Labtest2 2% Section 2.3 Develop Operational Concepts
Lab03 Wed. 25 Sep.Labtest3 3% Section 2.4 Identify Environmental Assumptions
Lab04 Wed. 02 Oct.Labtest4 4% Section 2.5 Develop Functional Architecture
Lab05 Wed. 09 Oct.YK WIFT-PVS Prop. Logic p57-66
Wed. 16 Oct.Reading W. WIFT-PVS Pred. Logic p66-76
Lab06 Wed. 23 Oct.Labtest5 5% Section 2.6: Revise Architecture/Constraints
Lab07 Wed. 30 Oct.Labtest6 5% Section 2.7: Identify System Modes
Lab08 Wed. 06 Nov.Labtest7 5% Section 2.8: Detailed Behaviour/Performance
Lab09 Wed. 13 Nov.Project 20% Section 2.9/10: Define Software Requirements
Lab10 Wed. 20 Nov.Assignment 10% Section 2.11: Provide Rationale
Lab11 Wed. 27 Nov.Exam Prep 45%
100%

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. The Labtest may cover all work done up to an including the previous week, including lectures, Labs and required readings.

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

Each week you are required to study readings, on your own time, during the course.

  • 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.
  • 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).
  • You must also review UML (Use Case, Class, Statechart, Sequence Diagrams). 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.

As you attend the lectures, Labs and undertake the required readings note the various ways in which we Elicit and Document requirements including:

  • Informal prose descriptions
  • E/R descriptions
  • Use Cases, Statecharts and other UML diagrams
  • TLA+ Specifications
  • PVS Specifications especially completeness, disjointness and well-definedness of specifications
  • Acceptance Tests based on UI grammars, etc.
  • A Requirements Document will involve a combination of carefully selected such methods.

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: 2019/11/01 14:48 by jonathan