Transcript of [email protected] [email protected] Non...
No
n-M
on
oto
nic
Mo
de
l C
om
ple
tio
n
in W
eb
Ap
pli
cati
on
En
gin
ee
rin
g
Ma
sse
y U
niv
ers
ity
Pa
lme
rsto
n N
ort
h
Ne
w Z
ea
lan
d
Au
stra
lia
n S
oft
wa
re E
ng
ine
eri
ng
Co
nfe
ren
ce (
AS
WE
C)
20
10
8 A
pri
l 2
01
0
j.m
.wri
gh
t@m
ass
ey.a
c.n
zJe
von
Wri
gh
t
j.b
.die
tric
h@
ma
sse
y.a
c.n
zJe
ns
Die
tric
h
Ou
tlin
e
1.
Ba
ckg
rou
nd
2.
Wh
at
is M
od
el
Co
mp
leti
on
?
3.
Ru
les
an
d R
ea
son
ing
4.
Exa
mp
le
5.
Imp
lem
en
tati
on
6.
Re
sult
s
7.
Un
an
swe
red
Qu
est
ion
s
Ba
ckg
rou
nd
�D
eve
lop
ing
a m
od
ell
ing
la
ng
ua
ge
fo
r R
IAs
�R
IAs
are
ve
ry c
om
ple
x
�N
o e
xist
ing
la
ng
ua
ge
su
cce
ed
s
�P
rev
iou
s w
ork
(W
ISE
20
08
) fo
un
d 5
9 c
ore
req
uir
em
en
ts f
or
mo
de
llin
g R
IAs
�In
tern
et
Ap
pli
cati
on
Mo
de
llin
g L
an
gu
ag
e
�S
tart
ed
re
sea
rch
in
Fe
b 2
00
7
�F
oll
ow
s M
DE
ap
pro
ach
Ba
ckg
rou
nd
�K
ey c
ha
lle
ng
e:
ba
lan
cin
g t
he
le
ve
l o
f d
eta
il
�T
oo
mu
ch a
bst
ract
ne
ss
�A
rig
id a
pp
roa
ch t
ha
t ca
nn
ot
ad
ap
t
�T
oo
mu
ch f
lexi
bil
ity
�La
rge
mo
de
l in
sta
nce
s b
eco
me
un
ma
inta
ina
ble
�Lo
ts o
f sc
aff
old
ing
re
qu
ire
d
Ba
ckg
rou
nd
�W
eb
Fra
me
wo
rks
�R
ub
y o
n R
ail
s, S
ym
fon
y,
...
�A
dd
ab
stra
ctn
ess
wh
ile
ke
ep
ing
fle
xib
ilit
y
�A
dd
s co
mm
on
sca
ffo
ldin
g
�A
cco
rdin
g t
o d
ocu
me
nte
d c
on
ve
nti
on
s
�C
an
be
ove
rrid
de
n i
f n
ece
ssa
ry
�W
e a
pp
ly t
his
to
mo
de
l-d
riv
en
de
ve
lop
me
nt
Mo
de
l C
om
ple
tio
n
�D
eve
lop
er
de
sig
ns
an
in
itia
l m
od
el
�W
e c
om
ple
te t
he
mo
de
l
ba
sed
on
se
nsi
ble
de
fau
lts
�"I
nte
nd
ed
" m
od
el
�D
eve
lop
er
the
n r
efi
ne
s
the
ir i
nit
ial
mo
de
l
�O
r m
od
ifie
s th
e
com
ple
ted
mo
de
l
Mo
de
l C
om
ple
tio
n
�E
xam
ple
: A
bo
ole
an
pro
pe
rty
1.
We
wa
nt
to e
dit
it
wit
h a
fo
rm
2.
No
rma
lly
ed
ite
d b
y a
ch
eck
bo
x
3.
Mo
de
l co
mp
leti
on
ad
ds
a c
he
ckb
ox
an
d
rela
ted
sca
ffo
ldin
g
�C
an
ach
ieve
wit
h n
orm
al
infe
ren
ce r
ule
s
�D
efi
ne
mo
de
l co
mp
leti
on
as
a r
ule
pro
gra
m
�M
an
y r
ule
en
gin
es
for
imp
lem
en
tati
on
No
n-M
on
oto
nic
ity
�U
sua
lly,
we
co
mp
lete
th
e m
od
el
usi
ng
inco
mp
lete
kn
ow
led
ge
�E
xam
ple
: A
bo
ole
an
pro
pe
rty
1.
No
rma
lly
ed
ite
d b
y a
ch
eck
bo
x
2.
De
ve
lop
er
wa
nts
it
to b
e a
dro
p-d
ow
n (
ye
s/n
o)
3.
De
ve
lop
er
ad
ds
a d
rop
-do
wn
ed
ito
r
4.
Ru
le d
oe
s n
ot
fire
; ch
eck
bo
x n
ot
cre
ate
d
Mo
de
l C
om
ple
tio
n
�W
ha
t is
a m
od
el?
�A
sim
pli
fie
d a
bst
ract
ion
of
rea
lity
[4
]
�W
e d
efi
ne
it
as
a s
et
of
mo
de
l a
rte
fact
s
�C
an
de
fin
e t
he
un
ive
rse
of
all
po
ssib
le m
od
els
�W
e c
an
re
stri
ct t
he
se m
od
els
by
de
fin
ing
th
e m
eta
-mo
de
l S
�D
efi
ne
mo
de
l co
mp
leti
on
as
a f
un
ctio
n C
(X)
op
era
tin
g o
n
a m
od
el
X
Mo
de
l C
om
ple
tio
n
�F
un
ctio
n r
eq
uir
em
en
ts
�E
xte
nsi
ve
�M
ust
no
t re
tra
ct a
ny
in
form
ati
on
fro
m t
he
ba
se m
od
el
�Id
em
po
ten
t
�A
co
mp
lete
d m
od
el
is c
om
ple
te
�N
on
-mo
no
ton
ic
�A
mo
rere
fin
ed
ba
se m
od
el m
ay
ch
an
ge
th
e
com
ple
ted
mo
de
l
Fro
m M
od
els
to
Lo
gic
�M
od
el
art
efa
cts�
term
s
�A
rte
fact
sin
ba
se m
od
el �
con
sta
nt
term
s
�P
rop
ert
ies
an
d r
ela
tio
nsh
ips �
pre
dic
ate
s
�C
rea
tio
n o
f n
ew
art
efa
cts�
fun
ctio
ns
�T
yp
e i
nfo
rma
tio
n �
un
ary
pre
dic
ate
s
Ru
les
No
n e
xist
en
ce o
f a
rte
fact
No
n e
xist
en
ce o
f a
rte
fact
Use
fa
cto
ry f
un
ctio
ns
to c
rea
te n
ew
art
efa
ct
Use
fa
cto
ry f
un
ctio
ns
to c
rea
te n
ew
art
efa
ctA
dd
itio
na
l ru
les
rep
rese
nt
typ
e r
ea
son
ing
Ad
dit
ion
al ru
les
rep
rese
nt
typ
e r
ea
son
ing
Ba
se m
od
el
art
efa
ctB
ase
mo
de
l a
rte
fact
Ru
les
�F
act
ory
fu
nct
ion
s a
re i
nje
ctiv
e
�n
ew
Ch
eck
bo
x(x)
cre
ate
s a
un
iqu
e n
ew
ele
me
nt
�T
erm
s st
rati
fica
tio
n
�T
erm
s a
re a
sso
cia
ted
wit
h a
ra
nk
≥0
�If
xis
te
rm o
f ra
nk
N,
the
n n
ew
Ch
eck
bo
x(x)
ha
s
ran
k N
+1
�C
on
sta
nts
(b
ase
mo
de
l e
lem
en
ts)
�H
av
e r
an
k 0
Re
aso
nin
g
�A
pp
ly r
ule
s in
ste
ps
(pa
ram
ete
rise
ru
les
wit
h r
an
k)
�E
ach
ste
p c
an
on
ly s
ee
ele
me
nts
wit
h r
an
k ≤
N
�N
ew
mo
de
l e
lem
en
ts a
re r
an
k N
+1
�E
xist
en
tia
l q
ua
nti
fie
r o
nly
ap
pli
es
to r
an
k ≤
N
�O
nly
co
nsi
de
r (l
og
ic)
mo
de
l g
en
era
ted
fro
m b
ase
mo
de
l e
lem
en
ts a
nd
fa
cto
ry f
un
ctio
ns
(He
rbra
nd
mo
de
l)
�S
afe
gu
ard
s a
pp
lica
tio
n:
rule
s a
pp
lie
d l
ate
r ca
nn
ot
un
de
rmin
e r
ule
s a
pp
lie
d e
arl
ier
Th
eo
reti
cal
Asp
ect
s
�C
lass
ica
l re
aso
nin
g (
Ta
rsk
i) is
ba
sed
on
all
mo
de
ls
�A
is
in C
(X)
if A
is
va
lid
in
all
mo
de
ls o
f X
�M
od
el
sele
ctio
n i
s k
ey
id
ea
of
NM
R
�A
is
in C
(X)
if A
is
va
lid
in
se
lect
ed
mo
de
ls o
f X
�R
ea
son
ing
ba
sed
on
dis
tin
gu
ish
ed
in
ten
de
d m
od
els
�E
xam
ple
s: m
inim
al
an
d s
tab
le m
od
els
�C
ap
ture
s th
e i
nte
nti
on
of
mo
de
l co
mp
leti
on
�T
ry t
o f
orm
ali
se t
he
no
tio
n o
f th
e m
od
el
inte
nd
ed
by
the
de
sig
ne
r
Vis
ua
lisa
tio
n:
Ste
p 0
�W
ha
t m
igh
t m
od
el
com
ple
tio
n l
oo
k l
ike
?
�E
xam
ple
: S
yn
chro
nis
ing
a d
ata
ba
se o
bje
ct
'Stu
de
nt'
wit
h a
n e
dit
ab
le f
orm
�6
ele
me
nts
Vis
ua
lisa
tio
n:
Ste
p 1
Cre
ate
te
xt f
ield
s: +
3 e
lem
en
ts
Vis
ua
lisa
tio
n:
Ste
p 2
Co
nn
ect
wit
h s
yn
chro
nis
ati
on
wir
es:
+ 3
ele
me
nts
Vis
ua
lisa
tio
n:
Ste
p 3
Do
ma
in O
bje
ct ‘
Stu
de
nt’
Fo
rm ‘
Ed
it S
tud
en
t’sy
nc
syn
c
syn
c
syn
c
Att
rib
ute
‘m
ajo
r’
Ev
en
t ‘o
nC
ha
ng
e’
Op
era
tio
n ‘
up
da
te’
Pro
pe
rty
‘v
alu
e’
Att
rib
ute
‘n
am
e’
Ev
en
t ‘o
nC
ha
ng
e’
Op
era
tio
n ‘
up
da
te’
Pro
pe
rty
‘v
alu
e’
Att
rib
ute
‘id
’
Op
era
tio
n ‘
up
da
te’
Pro
pe
rty
‘v
alu
e’
Ev
en
t ‘o
nC
ha
ng
e’
Te
xtF
ield
‘id
’
Op
era
tio
n ‘
up
da
te’
Pro
pe
rty
‘v
alu
e’
Ev
en
t ‘o
nC
ha
ng
e’
Te
xtF
ield
‘n
am
e’
Ev
en
t ‘o
nC
ha
ng
e’
Op
era
tio
n ‘
up
da
te’
Pro
pe
rty
‘v
alu
e’
Te
xtF
ield
‘m
ajo
r’
Ev
en
t ‘o
nC
ha
ng
e’
Op
era
tio
n ‘
up
da
te’
Pro
pe
rty
‘v
alu
e’
Ad
d e
ve
nts
, o
pe
rati
on
s, a
nd
pro
pe
rtie
s: +
18
ele
me
nts
Vis
ua
lisa
tio
n:
Ste
p 4
Do
ma
in O
bje
ct ‘
Stu
de
nt’
Fo
rm ‘
Ed
it S
tud
en
t’sy
nc
syn
c
syn
c
syn
cA
ttri
bu
te ‘
ma
jor’
Ev
en
t ‘o
nC
ha
ng
e’
Op
era
tio
n ‘
up
da
te’
Pro
pe
rty
‘v
alu
e’
Att
rib
ute
‘n
am
e’
Ev
en
t ‘o
nC
ha
ng
e’
Op
era
tio
n ‘
up
da
te’
Pro
pe
rty
‘v
alu
e’
Att
rib
ute
‘id
’
Op
era
tio
n ‘
up
da
te’
Pro
pe
rty
‘v
alu
e’
Ev
en
t ‘o
nC
ha
ng
e’
Te
xtF
ield
‘id
’
Op
era
tio
n ‘
up
da
te’
Pro
pe
rty
‘v
alu
e’
Ev
en
t ‘o
nC
ha
ng
e’
Te
xtF
ield
‘n
am
e’
Ev
en
t ‘o
nC
ha
ng
e’
Op
era
tio
n ‘
up
da
te’
Pro
pe
rty
‘v
alu
e’
Te
xtF
ield
‘m
ajo
r’
Ev
en
t ‘o
nC
ha
ng
e’
Op
era
tio
n ‘
up
da
te’
Pro
pe
rty
‘v
alu
e’
run
run
run
run
run
run
Co
nn
ect
ev
en
ts w
ith
op
era
tio
ns,
usi
ng
act
ion
s: +
6 e
lem
en
ts
Vis
ua
lisa
tio
n:
Ste
p 5
Do
ma
in O
bje
ct ‘
Stu
de
nt’
Fo
rm ‘
Ed
it S
tud
en
t’sy
nc
syn
c
syn
c
syn
cA
ttri
bu
te ‘
ma
jor’
Ev
en
t ‘o
nC
ha
ng
e’
Op
era
tio
n ‘
up
da
te’
Pro
pe
rty
‘v
alu
e’
Att
rib
ute
‘n
am
e’
Ev
en
t ‘o
nC
ha
ng
e’
Op
era
tio
n ‘
up
da
te’
Pro
pe
rty
‘v
alu
e’
Att
rib
ute
‘id
’
Op
era
tio
n ‘
up
da
te’
Pro
pe
rty
‘v
alu
e’
Ev
en
t ‘o
nC
ha
ng
e’
Te
xtF
ield
‘id
’
Op
era
tio
n ‘
up
da
te’
Pro
pe
rty
‘v
alu
e’
Ev
en
t ‘o
nC
ha
ng
e’
Te
xtF
ield
‘n
am
e’
Ev
en
t ‘o
nC
ha
ng
e’
Op
era
tio
n ‘
up
da
te’
Pro
pe
rty
‘v
alu
e’
Te
xtF
ield
‘m
ajo
r’
Ev
en
t ‘o
nC
ha
ng
e’
Op
era
tio
n ‘
up
da
te’
Pro
pe
rty
‘v
alu
e’
run
run
run
run
run
run
Ad
d p
ara
me
ters
to
act
ion
s: +
6 e
lem
en
ts
Vis
ua
lisa
tio
n:
Ste
p 6
Cre
ate
co
nte
nts
of
op
era
tio
ns:
+ 8
4 e
lem
en
ts
Vis
ua
lisa
tio
n:
Ste
p 6
Do
ma
in O
bje
ct ‘
Stu
de
nt’
Fo
rm ‘
Ed
it S
tud
en
t’sy
nc
syn
c
Att
rib
ute
‘id
’
Op
era
tio
n ‘
up
da
te’
Pro
pe
rty
‘v
alu
e’
Ev
en
t ‘o
nC
ha
ng
e’
can
ca
st?
set
Pa
ram
ete
r
(ca
st)
y
n
Te
xtF
ield
‘id
’
Pro
pe
rty
‘va
lue
’
Ev
en
t ‘o
nC
ha
ng
e’
Op
era
tio
n ‘
up
da
te’
can
ca
st?
set
Pa
ram
ete
r
(ca
st)
y
n
run
run
syn
c
Att
rib
ute
‘n
am
e’
Op
era
tio
n ‘
up
da
te’
Ev
en
t ‘o
nC
ha
ng
e’
can
ca
st?
Pa
ram
ete
r
(ca
st)
y
n
Te
xtF
ield
‘n
am
e’
Ev
en
t ‘o
nC
ha
ng
e’
Op
era
tio
n ‘
up
da
te’
can
ca
st?
Pa
ram
ete
r
(ca
st)
y
n
run
run
�N
o n
ew
ele
me
nts
are
be
ing
cre
ate
d
�M
od
el
com
ple
tio
n m
ay
sto
p
�F
ina
l m
od
el
is 1
26
ele
me
nts
�+
20
00
% e
lem
en
ts
Imp
lem
en
tati
on
�Im
ple
me
nte
d w
ith
a c
om
me
rcia
l ru
le e
ng
ine
�JB
oss
Ru
les
(Dro
ols
)
�B
SD
/MIT
-esq
ue
lice
nse
�In
teg
rate
s w
ell
wit
h E
MF
Mo
de
ls
rule
"Example rule"
when p : BooleanProperty
( )
not
( Editor ( for == p ) )
then Checkbox c = handler.generatedCheckbox(p);
handler.setFor(c, p);
cache.add(c, drools);
end
Imp
lem
en
tati
on
�P
rob
lem
: B
y d
efa
ult
, ru
le e
ng
ine
s e
xecu
te a
ll
rule
s a
nd
fa
cts
at
on
ce
�S
olu
tio
n:
An
"in
sert
ion
ca
che
"
1.
Mo
de
l e
lem
en
ts a
re i
nse
rte
d a
s fa
cts
into
th
e w
ork
ing
me
mo
ry.
2.
Ru
les
cre
ate
ne
w e
lem
en
ts,
wh
ich
are
ad
de
d t
o t
he
in
sert
ion
ca
che
.
3.
On
ce c
om
ple
te,
cach
e e
lem
en
ts a
re
inse
rte
d a
s n
ew
fa
cts.
4.
Th
e i
nse
rtio
n c
ach
e i
s cl
ea
red
, a
nd
the
ru
les
re-e
va
lua
ted
.
Imp
lem
en
tati
on
�N
orm
all
y,
inje
ctiv
e N
MR
is
fra
gil
e
�R
esu
lts
de
pe
nd
on
ru
le e
xecu
tio
n o
rde
r
�D
ue
to
in
ject
ive
na
ture
�e
.g.
If A
cre
ate
s B
bu
t B
pre
ve
nts
C c
rea
tin
g D
,
the
n r
un
nin
g A
or
C f
irst
re
sult
s in
dif
fere
nt
ou
tco
me
s
�O
ur
ap
pro
ach
als
o p
reve
nts
th
is
Imp
lem
en
tati
on
�P
rob
lem
: M
od
el
com
ple
tio
n c
ou
ld lo
op
fore
ve
r
�A
�B
�C
�A
�B
�..
.
�D
ep
en
ds
on
th
e r
ule
s
�N
o g
en
era
l w
ay
to
de
tect
: h
alt
ing
pro
ble
m
�S
olu
tio
n:
An
ite
rati
on
lim
it k
�A
pp
ly t
he
giv
en
ru
les
ag
ain
st a
la
rge
su
ite
of
sam
ple
mo
de
ls t
o f
ind
lim
it
�W
arn
de
ve
lop
er
if l
imit
is
hit
at
run
tim
e
Te
st S
uit
e
�T
his
in
ve
stig
ati
on
on
ly m
ak
es
sen
se i
f w
e
ha
ve
a w
ide
ra
ng
e o
f n
on
-tri
via
l m
od
els
�It
era
tive
, te
st-d
riv
en
de
ve
lop
me
nt
of
IAM
L
�E
ach
ne
w f
ea
ture
ha
s te
st m
od
els
�W
ide
ra
ng
e o
f u
ses
�C
he
ck f
or
con
flic
ts w
ith
mo
de
l co
mp
leti
on
�D
eve
lop
co
de
ge
ne
rati
on
te
mp
late
s
�E
xam
ple
mo
de
ls a
s d
ocu
me
nta
tio
n
�..
.
�W
e u
se t
he
se t
est
mo
de
ls a
s o
ur
inp
ut
Te
st S
uit
e
�S
om
e m
etr
ics
of
the
te
st m
od
els
�1
10
mo
de
ls u
sed
in
AS
WE
C p
ap
er
Re
sult
s
�+
10
82
% e
lem
en
ts o
n a
ve
rag
e
�(+
38
25
%:
8 �
31
4 e
lem
en
ts)
Re
sult
s
�A
t m
ost
, 9
ste
ps
req
uir
ed
to
co
mp
lete
mo
de
l
�W
e c
on
serv
ati
ve
ly lim
it k
to 2
0
Ov
err
idin
g M
od
el
Co
mp
leti
on
�Im
po
rta
nt
pa
rt o
f m
od
el
com
ple
tio
n
�W
e n
ee
d t
o a
llo
w t
he
de
ve
lop
er
to m
od
ify
ge
ne
rate
d e
lem
en
ts
�C
urr
en
t a
pp
roa
ch
�E
lem
en
ts a
re 'g
en
era
ted
by
' oth
ers
�A
dd
'ov
err
idd
en
' fla
g
rule
"Example rule"
when ...
eval
( handler.veto( p ))
then Checkbox c = handler.generatedCheckbox(p);
...
CA
SE
To
ol
Imp
lem
en
tati
on
�T
oo
ls
�In
fer
[co
nta
ine
d]
ge
ne
rate
d e
lem
en
ts
�R
em
ov
e [
con
tain
ed
] g
en
era
ted
ele
me
nts
�In
fer
an
d r
eco
rd t
he
so
urc
e r
ule
�G
rap
hic
al
ed
ito
r a
pp
ea
ran
ce
�'/
' si
gn
ifie
s g
en
era
ted
(c.
f. U
ML
'de
riv
ed
')
�B
old
sig
nif
ies
ov
err
idd
en
(c.
f. a
bo
ut:
con
fig
)
Un
an
swe
red
Qu
est
ion
s
�H
ow
to
do
cum
en
t co
mp
leti
on
?
�W
e c
an
't f
orc
e d
ev
elo
pe
rs t
o r
ea
d s
ou
rce
�C
urr
en
t w
ork
�"M
od
eld
oc"
: d
ocu
me
nta
tio
n f
or
MD
A
�A
dd
s Ja
va
do
c-st
yle
an
no
tati
on
s to
mo
de
l
com
ple
tio
n r
ule
s
Un
an
swe
red
Qu
est
ion
s
�H
ow
to
ma
ke
su
re r
ule
s d
on
't h
it l
imit
k?
�In
wo
rst
case
, so
lvin
g t
he
ha
ltin
g p
rob
lem
�U
sab
ilit
y o
f m
od
el
com
ple
tio
n
�P
rob
ab
ly d
ep
en
de
nt
on
to
ol su
pp
ort
�H
ow
oft
en
do
de
ve
lop
ers
ov
err
ide
?
�E
xte
nd
ing
or
ov
err
idin
g e
xist
ing
ru
les
Co
ncl
usi
on
�IA
ML
0.4
.4 a
va
ila
ble
on
lin
e
�E
clip
se-b
ase
d C
AS
E t
oo
l
�F
ree
an
d o
pe
n s
ou
rce
(E
PL)
Qu
est
ion
s?j.
m.w
rig
ht@
ma
sse
y.a
c.n
z
htt
p:/
/op
en
iam
l.o
rg