Title: Slide Number 1
1A Case Study
- This case study is about specifying a video
recorder
- This Unit defines
- underlying functionality
- plumbing together components
- dates (example of schema disjunction)
- Tutorial 3 is on extending this specification.
2Video recorder basic functionality
Antenna
RF Radio Frequency all channels together
RF
RF
RF
YUV Sound
- YUV Sound Picture Sound for a single channel
- mod_ch? channel on which recorder output is
added to RF signal. - tune_ch? channel that recorder is tuned to.
YUV Sound
3Terminology
- Two kinds of signals RF and YUVSound.
- RF (Radio Frequency) signal
- as picked up by antenna
- also needed by the TV
- contains all the channels.
- Physical Channel frequency band, numbered
between 21 and 69. - YUVSound signal information for a single
channel - as used for tape deck
- 4 information components 3 for colour picture, 1
for sound - Tuner converts RF to YUVSound
- selects signal for a given channel tune_ch? and
extracts YUVSound information
4Hardware specification
- Can describe inputs and outputs for components.
- Sorts
- RFsig for RF signal
- YUVsig for YUVSound signal
- CHAN nN 21 ? n ? 69 for physical channels
- TAPE for tape signals
- Expressions
- empty YUVsig for absent signal
- sch YUVsig (s RFsig, chCHAN)
- for signal on s at channel ch
- sig(t) YUVsig (tTAPE)
- YUVSound signal stored on tape
5Specifying components
tuner_in?
Tuner tune_ch?
tuner_out!
6(No Transcript)
7Plumbing
- Can specify how components are connected together
Exercise what are connections for playback?
8Timer mode v. manual mode
- Need to avoid conflict between recording and
playback. - Assume machine has two modes
- Timer mode
- Will record automatically according to recording
schedule. It needs specifications of - time
- schedule of programs
- internal timer tick operation
- Manual mode
- Can record or play back under manual control.
- Ignores recording schedule.
9Dates
month_lengths (1,31), (2,28), (3,31), (4,30),
(5,31), (6,30), (7,31), (8,31), (9,30), (10, 31),
(11, 30), (12, 31)
Feb29 d,m,y N d 29 m 2 (y mod 4 0 ? y
mod 100 ? 0) ? y mod 400 0
- NormalDate
- d,m,y N
- nN. ((m,n) ? month_lengths
- ? 1 ? d ? n)
Date NormalDate ? Feb29
10Tomorrow
Note Axioms in Date and Date' ensure that both
days are valid.
11 TomorrowFeb29 DDate Feb29' d 28 ? m 2 y' y
TomorrowMar1Leap DDate Feb29 d' 1 ? m' 3 ?
y' y
Tomorrow TomorrowSameMonth ? TomorrowNewMonth ?
TomorrowFeb29 ? TomorrowMar1Non-leap ?
TomorrowMar1Leap ? TomorrowNewYear
12Substitution
- Will might need to substitute variables in
schema. Assume the schema Date given in slide 9.
- Consider the following schema
- Consider start. and stop. as decorations.
- Day1BeforeDay2 Date1/start.Date,
Date2/stop.Date - Axioms of Day1BeforeDay2 but with d1
substituted with start.d d2 substituted with
stop.d, m1 substituted with start.m, ect
13The End