Modules for hierarchical and crosscutting models [Elektronische Ressource] / von Klaus Ostermann
173 pages
Deutsch

Découvre YouScribe en t'inscrivant gratuitement

Je m'inscris

Modules for hierarchical and crosscutting models [Elektronische Ressource] / von Klaus Ostermann

Découvre YouScribe en t'inscrivant gratuitement

Je m'inscris
Obtenez un accès à la bibliothèque pour le consulter en ligne
En savoir plus
173 pages
Deutsch
Obtenez un accès à la bibliothèque pour le consulter en ligne
En savoir plus

Description

Modules for Hierarchical and Crosscutting ModelsVom Fachbereich Informatikder Technischen Universit¨at Darmstadtzur Erlangung des akademischen Grades einesDoktor-Ingenieurs (Dr.-Ing.)genehmigteDissertationvonDiplom-InformatikerKlaus Ostermannaus CloppenburgReferent: Prof. Dr. Mira MeziniKorreferent: Prof. Gregor KiczalesTag der Einreichung: 14. April 2003Tag der mu¨ndlichen Pru¨fung: 09. Juli 2003DarmstadtD17Erkl¨arung: Hiermit erkl¨are ich, daß ich die vorliegende Arbeit selbst-st¨andig und unter ausschließlicher Verwendung der angegebenen Quellenund Hilfsmittel angefertigt habe.Darmstadt, den 23. Juni 2003The three dots ’...’ here suppressa lot of detail – maybe I shouldhave used four dots.Donald E. KnuthAbstractGood separation of concerns in software is the key for managing growingcomplexity. The most important task of programming languages with re-spect to this goal is to provide means to express the mental models of thedomain experts as directly as possible in the programming language.Since the advent of ‘structured programming’, programming languagesfeature modules for hierarchical models: We can view a software system atdifferent levels of abstraction, based on whether we look at the interfaceof a module or zoom into the implementation of the module and the in-terfaces/implementations of the next lower-level modules.

Sujets

Informations

Publié par
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

<
  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • Podcasts Podcasts
  • BD BD
  • Documents Documents