Modelling wit h definit ive script s “a m et hodology for

advertisement
Modelling wit h definitive scripts
“a m ethodology
for
m odelling with dependency”
Sem antic orientation …
towards ex ploratory state- asex perienced
NOT circum scribed reliable process as
conceived
Sem antic Relations (I)
p rogram
α
p r oces s
β
Sem antic Relations (II)
Art efact =
s crip t +
com p u t er +
d is p lay
Developing educational
software
uses
Student
Teacher
implements
specifies
Developer
Em pirical Modelling (EM)
• Offers a set of principles for model building
in any of the student, teacher and developer
roles:
in
Teacher
Student
t er
act
s
i
ct s
a
r
nt e
model
interacts
Developer
Com m onsense agency and concurrency
The stationmaster – an LSD account (oracles and states)
agent sm() {
oracle
(time) Limit, Time,
/ / knows of time to elapse before departure due
(bool) guard_raised_flag, / / knows whether the guard has raised his flag
(bool) driver_ready,
(bool) around[d],
doorway
/ / knows whether the driver is ready
/ / knows whether there's anybody around
(bool) door_open[d];
/ / the open/ close status of door d (for d = 1 .. number_of_doors)#
state
(time) tarrive = | time| ,
(bool) can_move,
starting engine
/ / the S- M registers time of arrival
/ / the signal observed by driver for
(bool) whistle = false,
/ / the whistle is not being blown
(bool) whistled = false,
/ / the whistle has not been blown
(bool) sm_flag = false,
/ / S- M lowers flag
The stationmaster – an LSD account (handles and derivates)
…..
handle (bool) can_move,
(bool) whistle,
(bool) whistled,
(bool) sm_flag,
(bool) sm_raised_flag;
(bool) door_open[d];
/ / the open/ close status of door d (for d = 1 .. number_of_doors)
derivate
number_of_doors
(bool) ready =
/\
(!door_open[d]); / / are all doors shut?
d= 1
(bool) timeout = (Time - tarrive) > Limit; / / departure due
…..
The stationmaster – an LSD account (protocol / privileges)
…..
protocol
door_open[d] ^ !around[d] - > door_open[d] = false; (d = 1 .. number_of_doors)
ready ^ timeout ^ !whistled - > whistle = true; whistled = true; guard(); whistle
= false;
ready ^ whistled ^ !sm_raised_flag - > sm_flag = true; sm_raised_flag = true;
sm_flag ^ guard_raised_flag - > sm_flag = false;
ready ^ guard_raised_flag ^ driver_ready ^ engaged ^ !can_move - > can_move
= true;
}
Anim ation
Som e ex am ple m odels
Formal annotation
Shuffle
Figure 6-1: An extended version of heapsort with its formal specification
REALIST
IDEALIST
Requirements
Rooms
Evolving
Requirements
R017
?
R020
RO11
Subjects
?
WWW
HCI
SYSTEMS
I
Initially
blank
timetable
Final timetable
Figure 1 : Rea lis t a n d Id ea lis t p er s p ectives o n
t im eta b lin g
!!!
External activities
supervisor
assessor
moderator
staff
(x 30)
timeslots
(5 days) and
rooms (x 2)
students
(x 120)
with projects
F
i
g
u
r
e
2
:
T
h
e
c
a
s
e
s
t
u
d
y
c
o
n
t
e
x
t
Mo d eller
In t er fa ce
elem en t s
fea s ib ilit y
co m p let en e
ss
Tim et a b le
d ata
TT
SAM
s u ita b ility
co n s is t en cy
… et c.
F
i
g
u
r
e
3
:
O
u
t
l
i
n
e
s
t
r
u
c
t
u
r
e
o
f
t
h
e
T
e
m
p
o
s
c
o
p
e
History window
Interface window
Commentary window
Figure 4: Screenshot of the Temposcope
Input window
The Realist (conventional) perspective
The Idealist (ISM-based) perspective
uses abstract state and data representations.
uses personal and situated personal state and data representations.
follows a hidden algorithm.
supports timetabling activity under the complete control (and
ideally within the comprehension) of the timetabler, with as much
automation as desired.
offers an open-ended model, "environment" or "instrument" that
the modeller can shape in ways that are not predetermined, and can
use for ad hoc experimentation.
is highly flexible (albeit only in the hands of an experienced
modeller).
aims at quality rather than efficiency, although some optimisation
is possible through run-time analysis of the dependency tree.
offers limited scope for large-scale situated evaluation, unless
perhaps the evaluation is performed in parallel by many people
using a distributed ISM.
uses spreadsheet-style interaction that gives rich support for
modelling functional dependencies. The level of support for
procedural activity ranges from purely manual to fully automatic at
the timetabler's discretion.
uses an interface that is (ideally) built and adapted interactively to
the modeller's own personal and situated requirements. (An
interface which admits any possible change to the model is difficult
to conceive – by definition, interfaces restrict possibilities.)
accepts "arbitrary" input and assumes that all knowledge in the
model is subject to future revision.
involves computer activity that is freely and dynamically
interpreted by the modeller according to the current situation.
treats the computer as an artefact, with a semantics that is mediated
interactively and experientially
offers a system for a specified intended use.
is difficult to adapt to unforeseen uses.
is efficient and optimised.
is scalable to large problems.
uses batch-style interaction and is as fully
automated as possible: set up an input, run the
algorithm, examine the results.
is easy to use via an "accessible" user interface.
accepts only perfect, clean (or very high quality)
input.
involves computer activity that is interpreted by
the user according to preconceived conventions.
treats the computer as an abstract computational
device with formally defined mathematical
semantics
Table 1: Two perspectives on computer-assisted timetabling
Sudoku in tkeden
Sudoku in tkeden
Download