La lecture à portée de main
Découvre YouScribe en t'inscrivant gratuitement
Je m'inscrisDécouvre YouScribe en t'inscrivant gratuitement
Je m'inscrisDescription
Sujets
Informations
Publié par | technischen_universitat_darmstadt |
Publié le | 01 janvier 2003 |
Nombre de lectures | 39 |
Langue | Deutsch |
Poids de l'ouvrage | 1 Mo |
Extrait
ModulesforHierarchicalandCrosscuttingModels
VomFachbereichInformatik
derTechnischenUniversit¨atDarmstadt
zurErlangungdesakademischenGradeseines
Doktor-Ingenieurs(Dr.-Ing.)
genehmigte
niortateDiss
Diplom-Invonformatiker
KlausOstermann
ausCloppenburg
KorRefreefreernet:nt:PProfrof..Dr.GregorMiraKiczMeziniales
TagderEinreichung:14.April2003
Tagdermu¨ndlichenPru¨fung:09.Juli2003
DarmstadtD17
Erkl¨arung:
Hiermit
arekl¨re
,hic
st¨andigundunterausschließlicher
Hilfdunmittels
Darmstadt,
e.abhgtangeferti
ned
23.
niJu
2003
daß
hic
die
Verwendung
orliegendev
rde
tieArb
angegebenen
selbst-
uellenQ
aThelottohrfeedetaildots–’...may’bhereeIsupprshouldess
haveusedfourdots.
DonaldE.Knuth
Absractt
Gocomodplexitseparatiy.Thoneofmostconceimprnorstanintsoftastwkareofpisthekrogrammingeyformlanguanageagingswitgrohwireng-
specttothisgoalistoprovidemeanstoexpressthementalmodelsofthe
domainexpertsasdirectlyaspossibleintheprogramminglanguage.
Sincetheadventof‘structuredprogramming’,programminglanguages
difffeatuerenretmolevduelslesofforhierabstraction,archicalbasemoddels:onWwheethcanerwvieweloaoksoftatwarethesysintteermfacate
ofamoduleorzoomintotheimplementationofthemoduleandthein-
terfaces/implementationsofthenextlower-levelmodules.Thepossibility
toviewandimplementasoftwaresystemondifferentlevelsofdetailhas
greatlyimprovedthequalityofsoftware.
Animportantinsightofrecentyearswastheidentificationofso-called
crosscuttingconcerns-concernswhichcannotbelocalizedinagivenmodule
structugrammingreorlangucannotagesbewithlocalizeexpldicitsimsupuporltaneoultforywithcrosscuttiotherngconceconcernsrns.haPro-ve
alreadybeenproposedandimplementedbutthisbranchoflanguagedesign
isattheverybeginning.
Thisisthecontextwithinwhichthisthesistriestoimprovethestate-of-
thobejec-art.t-orBienasedtedponthemrogramming,ostsuccaestriosfuofllprpoparadiosalsgmisfordessecribpedarationthatofrefinesconcerns,and
generalizestheconventionalconstructsformodularizationandcomposition
withrespecttobothhierarchicalandcrosscuttingconcerns.
Thefirsttwoproposalsdealwithmodulesforhierarchicalmodels.Firstly,
threaseonthessisabgoouetsbtheacktorelationthebfouetndweenationthesoftwobojefundct-orienamentedtalOOprogrcamoncmineptsgfanord
hierarchicaldecomposition:Inheritanceandaggregation.Thereisawell-
knowntensionbetweenthesetwoconcepts:Inheritanceenablesincremental
sptime.eciFficationrequentlywhereas,howeaggrver,eonegationnealloedswsapmixolymorptureofhicprcopompertioseistionfromatbrotun-h
1
aggregationandinheritance.Compoundreferencesareproposed,anewab-
stractionforobjectreferencesthatunifiesaggregation,inheritanceanddel-
egationandprovidesexplicitlinguisticmeansforexpressingandcombining
individualcompositionpropertieson-demand.
Thesecondapproachexploreshowthemeansforhierarchicaldecompo-
sitioncanbegeneralizedtoworkonsetsofcollaboratingclasses,motivated
bytheobservationthatasliceofbehaviouraffectingasetofcollaborating
classesisabetterunitoforganizationandreusethansingleclasses.Differ-
enttechniquesandlanguageextensionshavebeensuggestedtoexpresssuch
slicesinprogramminglanguagesbutnoneofthemfullyfitsintheconcep-
tualframeworkofobjecttechnology.Delegationlayersareanewapproach
tocopewiththeseproblems.Itscalestheobject-orientedmechanismsfor
singleobjects,suchasdelegation,latebinding,andsubtypepolymorphism,
tosetsofcollaboratingobjects.
Thethirdapproachofthethesisisdevotedtolanguageconceptsforrep-
resentingcrosscuttingmodels,meaningindependentmodelsthatrepresent
differentoverlappingviewsofacommonsystem.Acrosscuttingconcernis
seenasaconcernthatbelongstoadifferentcrosscuttingmodel.Keeping
crosscuttingmodelsindependentallowstheprogrammertoreasonabout
eachconcerninisolation.TheCaesarmodelisproposed,whereideasfor
hierarchicaldecompositionfromthefirsttwopartsofthethesisareused
andextendedinordertoprovidemeansforrepresentingandcomposing
independentcrosscuttingmodels.Caesar’sstrengthsareinthereuseand
componentizationofaspects.Thenotionofaspectualpolymorphismasa
generalizationofsubtypepolymorphismtocrosscuttingmodelsisintroduced
andanovelconceptfordynamicdeploymentofaspectsisproposed.
2
ungnfasssammeZu
ScEihlneu¨sgutesel,umSeparimiterwungachsdeendrevrersKchompleiedenenxit¨atAspekteumzugehen.einesPrDiewiogrammchstigsteistAuf-der
gabe,dieProgrammierspracheninBezugaufdiesesZielerf¨ullensollten,ist,
MittelzurVerfu¨gungzustellen,umdiementalenModellederDomainex-
pertensodirektwiem¨oglichinderProgrammierspracheauszudr¨uckenzu
nen.onk¨SeitdemAnbruchder‘StrukturiertenProgrammierung’bietenProgram-
miersprachenModulkonstruktefu¨rhierarchischeModelle:Wirk¨onnenein
SoftwaresystemaufunterschiedlichenAbstraktionsebenenbetrachten,jenach-
dem,tationobundwirdienurScdihneSchniittstellen/ImttstellepelemineensMotierudulsngenoddeerrnau¨acchhsteseinnetieferlImplemiegen-en-
denModulebetrachten.DieM¨oglichkeit,einSoftwaresystemaufunter-
schiedlichenDetailebenenzubetrachtenundzuimplementieren,hatdie
Qualit¨atvonSoftwareentscheidendverbessert.
vonEisneogenanwichntentigecrErkossenncutttniisngdceroncverganernsgeodneernquerJahreschnwareididenedenIdenAtispfizieektenrung-
Aspekte,dieineinergegebenenModulstrukturodersimultanmitanderen
AspektenimProgrammtextnichtlokalisiertwerdenk¨onnen.ErstePro-
wurgrammiedenbrsepreitsracheenntwmicitkeelt,xpdoliziterchdiesUnerterstF¨orscutzunhugngszf¨urwe‘cigrosissctunottinchgimEnconcerns’tste-
hen.DiesistderKontext,indemdieseArbeitversucht,dengegenw¨arti-
genStandderTechnikzuverbessern.Basierendaufdemerfolgreichsten
Pmiearrunadigmag,wf¨urerdendidereiSepAns¨arieruatzengbevsconhriebAspeen,ktdenie,dobiekonvjekt-orienentionellentierterKonProgrzepteam-
fu¨rModularisierungundKompositioninBezugaufhierarchischeundquer-
schneidendeAspekteverbessern.
Zun¨acDiehsterstegehntbdeieidenArbeitAns¨zatzureu¨cbkezhuanddenelnGruMonddulelagefu¨nrderhierarcobjekhisct-horeienModtiertenelle.
3
ProgrammierungunduntersuchtdieBeziehungzwischendenbeidenfunda-
mentalenobjekt-orientiertenKonzeptenfu¨rhierarchischeZerlegung:Ver-
erbungundAggregation.EsgibteinewohlbekannteSpannungzwischen
diesenbeidenKonzepten:Vererbungerm¨oglichtinkrementelleSpezifikation,
w¨ahrendAggregationpolymorpheKompositionzurLaufzeiterm¨oglicht.H¨au-
figjedochben¨otigtmaneineMixturderEigenschaftenvonAggregation
undVererbung.EinModellnamesCompoundReferenceswirdvorgeschla-
gen.EineCompoundReferenceisteineneueAbstraktionf¨urObjektreferen-
zen,dieAggregation,VererbungundDelegationvereinheitlichtundexplizite
Sprachunterst¨utzungdaf¨urbietet,deklarativjenachBedarfgewu¨nscheKom-
positionseigenschaftenfestzulegen.
ImzweitenAnsatzgehtesdarum,wiedieMittelf¨urhierarchischeDekom-
positionverallgemeinertwerdenk¨onnen,umauchaufMengenzusamme-
narbeitenderKlassenzuarbeiten.DieswirddurchdieBeobachtungmo-
tiviert,daßeinModul,dasdasVerhaltenmehrererzusammenarbeitender
Abstraktionendefiniert,einebesserwiederverwendbareOrganisationsein-
heitistalseinzelneKlassen.UnterschiedlicheTechnikenundSpracher-
weiterungenwurdenbereitsvorgeschlagen,umsolcheModuleinProgram-
miersprachenausdru¨ckenzuk¨onnen,dochkeinerdieserVorschl¨agepasst
vollst¨andigindenkonzeptuellenRahmenderobjekt-orientiertenProgram-
mierung.DelegationLayerssindeinneuerAnsatz,ummitdiesemProblem
umzugehen.IndiesemAnsatzwerdendieobjekt-orientiertenMechanismen
fu¨reinzelneObjekte,zumBeispielDelegation,sp¨ateBindungundSubtyp-
Polymorphie,aufMengenzusammenarbeitenderKlassenverallgemeinert.
DerdritteAnsatzdieserArbeitbehandeltSprachkonzeptezurRepr¨asen-
tationvonquerschneidendenModellen.Mit‘querschneidendenModellen’
sindunabh¨angigeModellegemeint,dieunterschiedliche,sich¨uberschnei-
dendeSichtenaufeingemeinsamesSystemrepr¨asentieren.Einquerschnei-
denderAspektwirdalsAspektgesehen,derzueinemanderenquerschnei-
dendenModellgeh¨ort.WenndiesequerschneidendenModelleunabh¨angig
voneinandergehaltenwerden,wirdesm¨oglich,jedenAspektgetrenntvon
denanderenzubehandeln.DasCaesarModellwirdvorgeschlagen,in
demdieindenvorherigenTeilenvorgeschlagenenIdeenf¨urhierarchische
Dekompositionbenutztunderweitertwerden,umdieRepr¨asentationund
Kombinationunabh¨angigerquerschneidenderModellezuerm¨oglichen.Die
St¨arkenvonCaesarliegeninderWiederverwendbarkeitundKomponen-
tisierungvonAspektensowieinderM¨oglichkeit,Aspektepolymorphzube-
nutzen.DasKonzeptderAspekt-PolymorphiewirdalsVerallgemeinerung
derSubtyp-PolymorphieaufquerschneidendeModelleeingefu¨hrt,undein
neuesKonzeptf¨urdendynamischesEinsatzvonAspektenwirdvorgeschla-
gen.
4
Preface
tntenCos
8
9onductiIntro11.1BenefitsofProperSeparationofConcerns............10
1.1.1Comprehensibility.....................10
1.1.2Reusability.........................10
1.1.3Scalability.........................11
1.1.4Maintainability.......................12
1.2HierarchicalDecompositionofConcerns.............12
1.3CrosscuttingDecompositionofConcerns.............16
1.4TheSilverBullet?.........................24
1.5ThesisOrganization........................25