Software Mobiliteit
Theo D’Hondt
Software Mobiliteit UAMS - 6 maart 2001 Theo D'Hondt Lab voor Pogrammeerkunde Vrije Universiteit Brussel http://prog.vub.ac.be/~tjdhondt
UAMS - 6 maart 2001
p.
1
Software Mobiliteit
Theo D’Hondt
Overzicht
Stelling Objecttechnologie Distributie Mobiliteit Evolutie Besluit
UAMS - 6 maart 2001
p.
2
Software Mobiliteit
Theo D’Hondt
Stelling
mobiele software = (((objecten) + distributie) + migratie)
UAMS - 6 maart 2001
p.
3
Software Mobiliteit
Theo D’Hondt
Objecttechnologie: historiek
OO begonnen met OO programmeren in ‘67 OO op punt gesteld vanaf '70 met Smalltalk OO werd een professionele tool vanaf '80 met C++ OO werd de focus van IT vanaf '90 OO is vandaag universeel door internet & Java
UAMS - 6 maart 2001
p.
4
Software Mobiliteit
Theo D’Hondt
Objecttechnologie: essentie
Beheersen van complexe software via encapsulatie (data abstractie) incrementele specificatie (polymorfisme)
UAMS - 6 maart 2001
p.
5
Software Mobiliteit
Theo D’Hondt
Objecttechnologie: krisis
analyse specificatie
implementatie ontwerp
testen fundamentele dichotomie
UAMS - 6 maart 2001
p.
6
Software Mobiliteit
Theo D’Hondt
Objecttechnologie: krisis
objecten zijn partiële oplossing objecten zijn niet schaalbaar objecten vragen expertise architectuur!
UAMS - 6 maart 2001
p.
7
Software Mobiliteit
Theo D’Hondt
Objecttechnologie: trends
raamwerken objecten
patronen
componenten
architectuur
code hergebruik ≠ conceptueel hergebruik
UAMS - 6 maart 2001
p.
8
Software Mobiliteit
Theo D’Hondt
Objecttechnologie: inzicht
De handeling van implementatie van een complex software artefact draagt op fundamentele wijze bij tot het begrijpen ervan
UAMS - 6 maart 2001
p.
9
Software Mobiliteit
Theo D’Hondt
specificatie analyse ontwerp implementatie
prototyperen
Objecttechnologie: nù
testen UAMS - 6 maart 2001
p. 10
Software Mobiliteit
Theo D’Hondt
Objecttechnologie: boutade
software = UML+XML+Java concepten
UAMS - 6 maart 2001
"glue"
implementatie
p. 11
Software Mobiliteit
Theo D’Hondt
Objecttechnologie: 2 kampen
UP
XP
unified process
extreme programming gezond verstand?
UAMS - 6 maart 2001
p. 12
Software Mobiliteit
Theo D’Hondt
Objecttechnologie: UP
geplande levenscyclus gestuurd door model roundtrip engineering voorspelbaar expertise?
UAMS - 6 maart 2001
p. 13
Software Mobiliteit
Theo D’Hondt
Objecttechnologie: XP
geplande ontwikkelcyclus gestuurd door implementatie code documenteert alles voorspelbaar expertise!
UAMS - 6 maart 2001
p. 14
Software Mobiliteit
Theo D’Hondt
Objecttechnologie: besluit
dominant in softwareontwikkeling gedomineerd door Java enorme verspreiding & veralgemening overdreven enge visie historisch bewustzijn?
UAMS - 6 maart 2001
p. 15
Software Mobiliteit
Theo D’Hondt
Distributie: systeem Een gedistribueerd systeem is een verzameling meervoudige, interagerende virtuele machines een enkelvoudig systeem is een speciaal geval
UAMS - 6 maart 2001
communicatie of gemeenschappelijke resources
software of hardware machines
p. 16
Software Mobiliteit
Theo D’Hondt
Distributie: applicatie Een gedistribueerde applicatie is een verzameling meervoudige, interagerende processen vertolkt door van envoudige task programma of tot uitbatingssysteem versturen van berichten computer of delen van geheugen UAMS - 6 maart 2001
4 p. 17
Software Mobiliteit
Theo D’Hondt
Distributie: pijnpunten ondersteuning voor gedeelde resources: via gemeenschappelijk geheugen via onderlinge communicatie
multi-processing kritieke secties
UAMS - 6 maart 2001
4 p. 18
Software Mobiliteit
Theo D’Hondt
Distributie: timeline 1960
1970
1980
1990
2000
mainframes timesharing transactions networking servers internet
UAMS - 6 maart 2001
p. 19
Software Mobiliteit
Theo D’Hondt
Distributie: timeline 1960
1970
1980
1990
2000
batch programs interactive programs DB applications sockets 3-tier ORB
UAMS - 6 maart 2001
p. 20
Software Mobiliteit
Theo D’Hondt
Distributie: essentie
Gedistribueerde verwerking staat op het kruispunt van (inter)netwerken en meerproces software objecten zijn de enabling technology UAMS - 6 maart 2001
p. 21
Software Mobiliteit
Theo D’Hondt
Distributie: besluit
incontournable in moderne ICT na 40 jaar: geen oplossing conservatieve reacties (C#) nieuwe opporuniteiten historisch bewustzijn?
UAMS - 6 maart 2001
p. 22
Software Mobiliteit
Theo D’Hondt
Mobiliteit: gebruik
WAP SMS wireless IP UAMS - 6 maart 2001
GSM
PalmOS p. 23
Software Mobiliteit
Theo D’Hondt
Mobiliteit: computing
hardware oplossingen dikwijls autonoom beperkte communicatie simplistische interactie
UAMS - 6 maart 2001
p. 24
Software Mobiliteit
Theo D’Hondt
Mobiliteit: embedded systems SEESCOA
software was beperkt door hardware hardware schaal is enorm gegroeid software engineering? objectgerichtheid? Java! http://www.cs.kuleuven.ac.be/cwis/research/distrinet/projects/SEESCOA/
UAMS - 6 maart 2001
p. 25
Software Mobiliteit
Theo D’Hondt
Mobiliteit: migratie data migratie
transacties client-server applets zwakke migratie sterke migratie code migratie UAMS - 6 maart 2001
p. 26
Software Mobiliteit
Theo D’Hondt
Mobiliteit: data migratie
vaste code duplicatie centraal beheer van data tijdelijke data duplicatie gaat gepaard met data locking dus: transacties
TP-monitors bestaan al 30+ jaar ...
UAMS - 6 maart 2001
p. 27
Software Mobiliteit
Theo D’Hondt
Mobiliteit: code migratie
tijdelijke code duplicatie variabel beheer van data variabele data duplicatie gaat gepaard met object locking dus: concurrency
UAMS - 6 maart 2001
p. 28
Software Mobiliteit
Theo D’Hondt
Mobiliteit: applets
centraal code beheer Java beveiliging tijdelijke data duplicatie (R/W) tijdelijke code duplicatie (R/O) application services?
UAMS - 6 maart 2001
p. 29
Software Mobiliteit
Theo D’Hondt
Mobiliteit: zwakke migratie
migratie van objecten uniforme, verdeelde vertolking migratie = stop/start Java : marshalling Java: reflection API
cfr. EMOOSE
UAMS - 6 maart 2001
p. 30
Software Mobiliteit
Theo D’Hondt
Mobiliteit: sterke migratie
migratie van objecten uniforme, verdeelde vertolking migratie = hold/continue code introspectie reflectieve virtuele machine cfr. EMOOSE
UAMS - 6 maart 2001
p. 31
Software Mobiliteit
Theo D’Hondt
Mobiliteit: besluit
mobiele hardware statische toepassingen communicatie bottleneck weinig focus op innovatie opportunistisch
UAMS - 6 maart 2001
p. 32
Software Mobiliteit
Theo D’Hondt
Evolutie: Java Java
e.g. eXYZ
e.g. genericiteit
expressiviteit UAMS - 6 maart 2001
toepassingen
cfr. Tsichritzis @ OOPSLA
p. 33
Software Mobiliteit
Theo D’Hondt
Evolutie: technologie
GSM
GPS mobiel platform
PalmOS
laptop UMTS
UAMS - 6 maart 2001
cfr. Transics
p. 34
Software Mobiliteit
Theo D’Hondt
Evolutie: applicaties
niveau potentieel
gerealiseerd
tijd
UAMS - 6 maart 2001
p. 35
Software Mobiliteit
Theo D’Hondt
Evolutie: bottleneck gedistribueerde mobiele objecten
expressieve ontwikkelsystemen
expertise + methodiek
UAMS - 6 maart 2001
p. 36
Software Mobiliteit
Theo D’Hondt
Besluit Voorzienbare toekomst: • hardware >> software • "thin" toepassingen Voorzienbare noden: • methode/tools • opleiding • bewustzijn
UAMS - 6 maart 2001
p. 37