《AspectJ Paradigm Model A Basis for Multi-Paradigm Design in AspectJ范式模型的基础上的多模式设计.ppt》由会员分享,可在线阅读,更多相关《AspectJ Paradigm Model A Basis for Multi-Paradigm Design in AspectJ范式模型的基础上的多模式设计.ppt(31页珍藏版)》请在金锄头文库上搜索。
1、 AspectJParadigmModelABasisforMulti ParadigmDesignforAspectJ ValentinoVrani vranic elf stuba skDepartmentofComputerScienceandEngineeringFacultyofElectricalEngineeringandInformationTechnologySlovakUniversityofTechnologyinBratislava GCSE2001 1 PresentationOverview Multi paradigmdesignFeaturemodelingMu
2、lti paradigmdesignwithfeaturemodelingAspectJparadigmmodelTransformationalanalysisAnexample TexteditingbuffersConclusions 2 Multi ParadigmDesign MPD MPDforC J O Coplien Programmingparadigms Large scaleparadigmsSmall scaleparadigmsScope commonality variability andrelationship SCVR analysisTransformati
3、onalanalysis 3 Familytable fromsolutiondomainSCVRanalysis TransformationalAnalysisinMPD ParametersofVariation Meaning Domain Binding Default Binding Commonality Variability Instantiation LanguageMechanism P1GeneralizationofP1 valuesP1cantake defaultvalueforP1 Variabilitytables fromapplicationdomainS
4、CVRanalysis DomainD1 maincommonalityofD1 4 FeatureModeling Aconceptualmodelingtechnique Featurediagramsdirectedtreeswithedgedecorationsroot concept othernodes featurescommonandvariablefeaturesvariationpoints OtherinformationSemanticdescriptionRationaleConstraintsDefaultdependencyrulesBindingmodeInst
5、antiation 5 MPDwithFeatureModeling FeaturemodelsinsteadoftablesandinformaldescriptionBothfeaturemodelingandSCVRanalysisarebasedoncommonalitiesandvariabilitiesSCVRanalysisandfeaturemodeling scope conceptcommonality commonfeaturevariability variablefeaturerelationship featurediagramshierarchy 6 Family
6、table MPDandMPDwithFeatureModeling Variabilitytable DomainD1 maincommonalityofD1 concept 7 AspectJParadigmModel 8 AspectJParadigmModel ClassParadigm 9 AspectJParadigmModel AspectParadigm 10 TransformationalAnalysis Prerequisites SolutiondomainfeaturemodelApplicationdomainfeaturemodelMatchingofapplic
7、ationdomainfeaturemodelnodeswiththesolutiondomainfeaturemodelnodesPointstotheparadigmstobeusedforapplicationdomainstructuresTwonodesmatchiftheyconceptuallyrepresentthesamething 11 MatchingtheNodes 1 SelectanodeFfromtheapplicationdomainfeaturemodel2 TrytomatchF schildrenwiththechildrenofsomenodePthat
8、representsaparadigminthesolutiondomainfeaturemodel3 IfamatchhasbeenfoundforalloftheF schildren thenFmatcheswithP4 AparadigmthatrepresentedbyPshouldbeusedtoimplementfeatureF 12 TheProcessofTransformationalAnalysis FindthematchingforallofthenodesintheapplicationdomainfeaturemodelTrytomatchtheapplicati
9、ondomainnodeswiththeparadigmsof higherorder theparadigmsbasedonotherparadigms inheritanceandoverloadinginAspectJ Translatetheresultsofthetransformationalanalysisintothecode directlythroughaspecificdesignmethodpointedtobyMPD 13 AnExample TextEditingBuffers RepresentastateofafilebeingeditedEmploydiffe
10、rentworkingsetmanagementschemesUsedifferentcharactersetsLoadandsavethecontentsintoafileMaintainarecordofthenumberoflinesandcharacters cursorposition etc 14 15 16 17 18 19 20 21 22 23 24 25 26 FeaturediagramsalonedonotfullydeterminethecodeskeletonWhatothersourcesarethere VariabilitydependencygraphsOt
11、herinformationinfeaturemodel 27 VariabilityDependencyGraph TextEditingBuffer File CharacterSet DebuggingCode WorkingSetManagement 28 classTextBuffer public yield replace loadFile saveFile private intnumLines numChars curPosition classWholeFileTextBufferextendsTextBuffer public WholeFileTextBuffer Fi
12、lef CharacterSetc yield replace 29 classFile public StatusreadFile Stringname TextBufferbuff StatuswriteFile Stringname TextBufferbuff classUnixFileextendsFile aspectDebuggingCode aspectWorkingSetDebugextendsDebuggingCode aspectWholeFileDebugextendsWorkingSetDebug 30 Conclusions Anewrepresentationfo
13、rthesolutionandapplicationdomaininMPDBasedonfeaturemodelingInvolvesanewtransformationalanalysisAspectJparadigmmodel Furtherresearch NotingofthetransformationalanalysisresultsIncorporatingtheMPD snegativevariabilitytablesandvariabilitydependencygraphsRelationshipbetweentheMPDandgenerativeprogramming