![A Classification Framework for Component Models 一种组件models分类框架_第1页](http://file4.renrendoc.com/view8/M03/16/1B/wKhkGWbdKRmAeeo-AADI9Cp_OXo512.jpg)
![A Classification Framework for Component Models 一种组件models分类框架_第2页](http://file4.renrendoc.com/view8/M03/16/1B/wKhkGWbdKRmAeeo-AADI9Cp_OXo5122.jpg)
![A Classification Framework for Component Models 一种组件models分类框架_第3页](http://file4.renrendoc.com/view8/M03/16/1B/wKhkGWbdKRmAeeo-AADI9Cp_OXo5123.jpg)
![A Classification Framework for Component Models 一种组件models分类框架_第4页](http://file4.renrendoc.com/view8/M03/16/1B/wKhkGWbdKRmAeeo-AADI9Cp_OXo5124.jpg)
![A Classification Framework for Component Models 一种组件models分类框架_第5页](http://file4.renrendoc.com/view8/M03/16/1B/wKhkGWbdKRmAeeo-AADI9Cp_OXo5125.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ComponentModels
-maincharacteristicsIvicaCrnkovicOutlineMotivationandgoalsforusingcomponentsinSoftwareBasiccharacteristicsofcomponentmodelsClassificationofcomponentmodelsComponentmodelsexamples08-Sep-242ChallangesofSoftwareEngineeringPage3,9/8/2024Thesize&complexityofsoftwareincreasesrapidlySingleproductsbecomepartofproductfamiliesSoftwareisupgradedafterdeploymentTime-tomarkedmustdecreasesignificntelyThecostsof(software)productsmustbereducedObservationsonthepracticeofSEPage4,9/8/2024About80%ofsoftwaredevelopmentdealswithchangingofexistingsoftware“Itisnotthestrongestofthespeciesthatsurvive,northemostintelligent,buttheonesmostresponsivetochanges”DarwinWeneedmethodsthatwillEasyincorporatechangesAdaptationsBeabletofastresponsetothenewrequirementsPage5,9/8/2024Apossiblesolution:Component-basedDevelopmentIdea:Buildsoftwaresystemsfrompre-existingcomponents(likebuildingcarsfromexistingcomponents)BuildingcomponentsthatcanbereusedindifferentapplicationsSeparatedevelopmentofcomponentsfromdevelopmentofsystemsPage6,9/8/2024Thesoftwarearchitectureofaprogramorcomputingsystemisthestructureorstructuresofthesystem,whichcomprisesoftwarecomponents[andconnectors],theexternallyvisiblepropertiesofthosecomponents[andconnectors]andtherelationshipsamongthem.” BassL.,ClementsP.,andKazmanR.,SoftwareArchitectureinPractice,C1C4C2C5C3Systemsandcomponents–SoftwareAchitectures08-Sep-247Whatiscomponent?ThecomponentcaseManydefinitionsSomeacknowledgeones:softwarecomponentisaunitofcompositionwithcontractuallyspecifiedinterfacesandcontextdependenciesonly.Asoftwarecomponentcanbedeployedindependentlyandissubjecttocompositionbythirdparties. SzyperskiAsoftwarecomponentisasoftwareelementthatconformstoacomponentmodelandcanbeindependentlydeployedandcomposedwithoutmodificationaccordingtoacompositionstandard HeinemanandCouncillIntuitiveperceptionmaybequitedifferentatdifferentlevels(model,implementation,run-time)Page8,9/8/2024Compositionunit Asoftwarecomponentisaunitofcompositionwithcontractuallyspecifiedinterfacesandexplicitcontextdependenciesonly.Asoftwarecomponentcanbedeployedindependentlyandissubjecttocompositionbythirdparty.–ClemensSzyperski
Howmuchcomponentsfittogether? Howmuchcoststhegluecode?ComponentsGluecodeSystemPage9,9/8/2024Whatisacontract? Asoftwarecomponentisaunitofcompositionwithcontractuallyspecifiedinterfacesandexplicitcontextdependenciesonly.Asoftwarecomponentcanbedeployedindependentlyandissubjecttocompositionbythirdparty.Contract-Aspecificationattachedtoaninterfacethatmutuallybindstheclientsandprovidersofthecomponents.FunctionalAspects(API)Pre-andpost-conditionsfortheoperationsspecifiedbyAPI.Acomponentmayprovide
/implementseveralinterfacesIBarIFooIFoo2Page10,9/8/2024Whatisanexplicitcontextdependency? Asoftwarecomponentisaunitofcompositionwithcontractually
specifiedinterfacesandexplicitcontextdependenciesonly.Asoftwarecomponentcanbedeployedindependentlyandissubjecttocompositionbythirdparty.Contextdependencies-Specificationofthedeploymentenvironmentandrun-timeenvironmentExample:Whichtools,platforms,resourcesorothercomponentsarerequired?Doexistingcomponentmodelshavesupportfordeclaringthedependencies?Isitpossibletoverifyiftheenvironmentcomplywiththecontextrequired?Page11,9/8/2024Asoftwarecomponentisaunitofcompositionwithcontractually
specifiedinterfaces
andexplicitcontextdependenciesonly.Asoftwarecomponentcanbedeployedindependentlyandissubjecttocompositionbythirdparty.Latebinding-dependenciesareresolvedatloadorrun-time.Replacingofacomponentindependentoftheclient(mainapplication)ifthecontractisnotbroken.Delegation-interactionwithaweakcoupling(forexamplenoinheritance).
Whichproblemscanoccurinrelationtolatebinding? Howcanweguaranteethatareplacementofacomponentwillnotaffectotherpartsofthesystem?
Whatdoesitmeandeployedindependently?Page12,9/8/2024Example:Interfacedescription:(M)IDL(Microsoft)InterfaceDefinitionLanguage
[ uuid(00112233-ABBA-ABBA-ABBA-BADBADBADBAD), object ] interfaceIAddressList{ HRESULTaddAddress([in]name,[in]address); HRESULTdeleteAddress([in]name,[in]address); }languageindependentinterfacespecificationcanbecompiledintolanguagedependentcodeskeletonsPage13,9/8/2024ComponentsandInterfaces-UMLdefinitionComponent–asetofinterfaces required(in-interfaces) provided(out-interfaces)Interface–setofoperationsOperations–inputandoutputparametersofcertaintype
Page14,CBSE–graduatecourseExample:SpecificationofaCOMcomponentinterfaceISpellCheck:IUnknown{ HRESULTcheck([in]BSTR*word,[out]bool*correct);};interfaceICustomSpellCheck:IUnknown{ HRESULTadd([in]BSTR*word); HRESULTremove([in]BSTR*word);};librarySpellCheckerLib{ coclassSpellChecker { [default]interfaceISpellCheck; interfaceICustomSpellCheck; };};Page15,CBSE–graduatecourseSemanticSpecificationExtensionofsyntacticspecificationAstatemodelisassociatedwitheachinterfaceOperationshavepre-andpost-conditionspre:state*in-parameters->boolpost:state*state*in-parameters*out-parameters->boolInvariantsonaninterface’sstatemodelstate->boolIntra-interfaceconditionsforcomponentsstate1*state2*…->boolPage16,CBSE–graduatecourseExample:UMLComponentSpecificationPage17,CBSE–graduatecourseExample:ObjectConstraintLanguage(OCL)contextISpellCheck::check(inword:String,outcorrect:Boolean):HRESULTpre:
word<>“”post:
SUCCEEDED(result)impliescorrect=words->includes(word)contextICustomSpellCheck::add(inword:String):HRESULTpre:
word<>“”post:
SUCCEEDED(result)implieswords=words@pre->including(word)contextSpellCheckerISpellCheck::words=ICustomSpellCheck::wordsPage18,9/8/2024ContractuallyspecifiedinterfacesinaUMLmetamodelFinally-componentshaveattributesExtrafunctionalpropertiesMemorysizeRequiresCPU…PerformanceResponsetimeExecutiontimeQualityattributesReliabilityAvaliability08-Sep-2419ICATSarajevo-2007-10-29Componentsandproperties08-Sep-242008-Sep-2421DifferentsolutionsAplethoraofCBmodels(withmanydifferentcharacteristics)
<<component>>Client
<<component>>ServerIdenticalItfC1
wcet1
f1AC2
wcet2
f2InputportsOutputportsAUTOSARBIPCOMDESCCACorbaCMEJBFractalKOALAKobrAMSCOMOpenComOSGiPINPECOSROBOCOPRUBUSSaveCCMSOFA2.008-Sep-24ICATSarajevo-2007-10-2922QuestionsWhatiscommontocomponentmodels?Itispossibletoidentifycommonprinciplesandcommonfeatures?Isitpossibletoutilize/instantiatetheseprinciplesforparticularcomponentmodelsinparticulardomains?08-Sep-2423Definitions:
SoftwareComponent–ComponentModelDefinition:
ASoftwareComponentisasoftwarebuildingblockthatconformstoacomponentmodel.AComponentModeldefinesstandardsfor(i)propertiesthatindividualcomponentsmustsatisfyand(ii)methods,andpossiblymechanisms,forcomposingcomponents.Classification(i)Commonalities,(ii)Differences
DifferentapproachesSpecificationofMetamodelListofcharacteristicsIdentificationofcategoriesandtheircharacteristicsComponentSpecificationC=<{Interfaces},{Properties}>ComponentComposition:C=C1
ÅC2Interaction(Interfacecomposition): I(C)=I(C1)ÅI(C2)Propertycomposition: Pi(C)=Pi(C1)ÅPi(C2)ComponentLifecycle08-Sep-242408-Sep-2425TheClassificationFramework-CategoriesLifecycle.
Thelifecycledimensionidentifiesthesupportprovided(explicitlyorimplicitly)bythecomponentmodel,incertainpointsofalifecycleofcomponentsorcomponent-basedsystems.Constructs.Theconstructsdimensionidentifies
(i)thecomponentinterfaceusedfortheinteractionwithothercomponentsandexternalenvironment,and
(ii)themeansofcomponentbindingandcommunication.
Extra-FunctionalProperties.Theextra-functionalpropertiesdimensionidentifiesspecificationsandsupportthatincludestheprovisionofpropertyvaluesandmeansfortheircomposition.Domains.Thisdimensionshowsinwhichapplicationandbusinessdomainscomponentmodelsareused.
lifecycleEFPDomainADomainBThecomponent-baseddevelopmentprocessTheComponentlifecycleComponentlifecycle08-Sep-24ICATSarajevo-2007-10-2928ComponentlifecyclerequirementsmodellingimplementationpackagingdeploymentExecutionSpecificationInterfaceModelsMetadataCodeSourcecodeExecutablecodeExecutablemodelsStorageRepositoryPackageMetadataInstalledFilesExecutablecodeComponentforms08-Sep-2429LifecyclecategoryDifferentstagesofacomponentlifecycleModelling.Thecomponentmodelsprovidesupportforthemodellingandthedesignofcomponent-basedsystemsandcomponents.Implementation.Thecomponentmodelprovidessupportforgeneratingandmaintainingcode.Theimplementationcanstopwiththeprovisionofthesourcecode,orcancontinueuptothegenerationofabinary(executable)code.Storage&Packaging.Sincecomponentscanbedevelopedseparatelyfromsystems,thereisaneedfortheirstorageandpackaging–eitherfortherepositoryorforadistributionDeployment&Execution.Atacertainpointoftime,acomponentisintegratedintoasystem.Thisactivityhappensatdifferentpointsofdevelopmentormaintenancephase.Constructs–componentsInteractionsSpecificationofInterfaceComposition(interaction)08-Sep-2430
<<component>>Client
<<component>>Client
<<component>>ServerDoubleroleofInterfaceConstructs–InterfaceSpecificationCategoriesLevels-Syntactic
-Semantic
-BehavioralSpecificationlanguageDistinquishProvideRequireInterfacetypeOperation-basedPort-based08-Sep-2431
<<component>>Client
<<component>>Client
<<component>>Client08-Sep-2432Constructs–compositions(I)
<<component>>ClientArchitecturalstyle(client-server,pipe-filter)Communicationtype(synchronous,asynchronous)
<<component>>Server08-Sep-2433Constructscompositions(II)
<<component>>Client
<<component>>ServerExogenous
<<component>>Client
<<component>>Server
<<Connector>>Inbetween
<<component>>ServerEndogenousC1.x=C2.ya=C2.yC1.x=a08-Sep-2434Constructscompositions(III)CompositionHorizontal
<<component>>Client
<<component>>Server
<<component>>ServerVertical
<<component>>Client
<<component>>ServerConstructsclassificationInterfaceoperation-based/port-basedprovides/requiresTheinterface
level(syntactic,semantic,behaviour)distinctivefeaturesConnectionsArchitecturalStyleCommunicationtype(synchronous/asynchronous)BindingtypeEndogenous,ExogenousVertical,horisontal08-Sep-243508-Sep-2436Extra-FunctionalPropertiesManagementofextra-functionalpropertiesDoesacomponentprovideanysupportforextra-functionalproperties?Whatarethemechanisms?Whichpropertiesaremanaged?Compositionofextra-functionalpropertiesP(C1oC2)=P(C1)oP(C2)Whatkindofcompositionissupported?Whichproperties?ManagementofEFPEPF–compositiontypes(I)Directlycomposableproperties.Architecture-relatedpropertiesDerivedproperties.Usage-dependedproperties.
Systemenvironmentcontextproperties.
08-Sep-2438EPF–compositiontypes(II)Directlycomposableproperties.Apropertyofanassemblyisafunctionof,andonlyof,thesamepropertyofthecomponentsinvolved.P(A)=f(P(C1),…P(Ci),…,P(Cn))Architecture-relatedproperties.Apropertyofanassemblyisafunctionofthesamepropertyofthecomponentsandofthesoftwarearchitecture.P(A)=f(SA,…P(Ci)…),i=1…nSA=softwarearchitecture08-Sep-2439EPF–compositiontypes(III)Derivedproperties.Apropertyofanassemblydependsonseveraldifferentpropertiesofthecomponents.P(A)=f(SA,…Pi(Cj)…),i=1…m,j=1…nPi=componentpropertiesCj=componentsUsage-dependedproperties.Apropertyofanassemblyisdeterminedbyitsusageprofile.P(A,U)=f(SA,…Pi(Cj,U)…),i=1…m,j=1…nU=UsageprofileSystemenvironmentcontextproperties.Apropertyisdeterminedbyotherpropertiesandbythestateofthesystemenvironment.P(S,U,X)=f(SA,…Pi(Cj,U,X)…),i=1…m,j=1…nS=system,X=systemcontext08-Sep-244008-Sep-2441DomainsApplicationsandbusinessdomainoftheComponentModelsGeneral-purpose:BasicmechanismsfortheproductionandthecompositionofcomponentsProvidenoguidance,norsupportforanyspecificarchitecture.Specialised:Specificapplicationdomains
(i.e.consumerelectronics,automotive,…)Generative:InstantiationofparticularcomponentmodelsProvidecommonprinciplesandsomecommonpartsoftechnologies(forexamplemodelling)Otherpartsarespecific(forexampledifferentimplementations)08-Sep-2442Component
modelLifecycleModellingImplementationPackagingDeploymentAtcompilationAtrun-timeConstructsInterfacespecificationInterfacetypeOperation-basedPort-basedDistinctionofProvides/RequiresInterfaceLanguageInterfaceLevelsSyntaxSemanticBehaviourDistinctivefeaturesInteractionInteraction
StylesCommunication
TypeSynchronousAsynchronousBindingtypeExogenous/EndogenousHierarchicalExtrafunctionalpropertiesManagementEndogenousCollaborativeEndogenousSystemwideExogenousCollaborativeExogenousSystemwideSpecificationCompositionandanalysissupportDomainsGenerativeGeneralpurposeSpecialised08-Sep-2443IllustrationoftheClassificationFrameworkuseSurveyof20componentmodelsSelectionofdocumentationforeachcomponentmodelSatisfiescriteriaDisponibilitythedefinition(Interfaces,composition)Somepointsinthetablehavebeensubjectourinterpretation.08-Sep-2444ChosencomponentmodelsAUTOSARBIPCOMDESCommonComponentArchitecture(CCA)CompoNETSCORBAComponentModel(CCM)TheEntrepriseJavaBeans(EJBFractalTheK-ComponentModelKobrAKoalaPINMicrosoftComponentObjectModel(COM)OpenCOMTheOpenServicesGatewayInitiative(OSGi)PalladioPinRobocopRubusSaveCCM08-Sep-2445Lifecycletable
Component
ModelsModellingImplementationPackagingDeploymentAUTOSARN/ACNon-formalspecificationofcontainerAtcompilationBIPA3-layeredrepresentation:behavior,interaction,andpriorityBIPLanguageN/AAtcompilationBlueArXN/ACN/AAtcompilationCCMN/ALanguageindependentDeploymentUnitarchive(JARs,DLLs)Atrun-timeCOMDESIIADL-likelanguageCN/AAtcompilationCompoNETSBehavourmodeling(PetriNets)LanguageindependentDeploymentUnitarchive(JARs,DLLs)Atrun-timeEJBN/AJavaEJB-JarfilesAtrun-timeFractalADL-likelanguage
(FractalADL,FractalIDL),
Annotations(Fractlet)Java(inJulia,Aokell)C/C++(inThink).Netlang.(inFracNet)FilesystembasedrepositoryAtrun-timeKOALAADL-likelanguages(IDL,CDLandDDL)CFilesystembasedrepositoryAtcompilationKobrAUMLProfileLanguageindependentN/AN/AIEC61131FunctionBlockDiagram(FBD)LadderDiagram(LD)SequentialFunctionChart(SFC)StructuredText(ST)InstructionList(IL)N/AAtcompilationIEC61499FunctionBlockDiagram(FBD)LanguageindependentN/AAtcompilationJavaBeansN/AJavaJarpackagesAtcompilationMSCOMN/AOOlanguagesDLLAtcompilationandatrun-timeOpenCOMN/AOOlanguagesDLLAtrun-timeOSGiN/AJavaJar-files(bundles)Atrun-timeandatcompilationPalladioUMLprofileJavaN/AAtrun-timePECOSADL-likelanguage(CoCo)C++andJavaJarpackagesorDLLAtcompilationPinADL-likelanguage(CCL)CDLLAtcompilationProComADL-likelanguage,timedautomataCFilesystembasedrepositoryAtcompilationROBOCOPADL-likelanguage,resourcemanagementmodelCandC++StructuresinzipfilesAtcompilationandatrun-timeRUBUSRubusDesignLanguageCFilesystembasedrepositoryAtcompilationSaveCCMADL-like(SaveComp),timedautomataCFilesystembasedrepositoryAtcompilationSOFA2.0Meta-modelbasedspecificationlanguageJavaRepositoryAtrun-time08-Sep-2446Lifecycletable
ComponentModelsModellingImplementationPackagingDeploymentAUTOSARN/ACN/AAtcompilationBIPA3-layeredrepresentation:behavior,interactionandprioritySourcecode,implementationinBIPlanguageN/AAtcompilationCCMAbstractmodel:OMG-IDL,Programmingmodel:CIDLLanguageindependent.DeploymentUnitarchive(JARs,DLLs)Atrun-timeFractalADL-likelanguage
(FractalADL,FractalIDL),
Annotations(Fractlet)Julia,Aokell(Java)Think(C/C++)FracNet(.Net)FilesystembasedrepositoryAtrun-timeKOALAADL-likelanguages(IDL,CDLandDDL)CFilesystembasedrepositoryAtcompilationEJBN/AJavabinarycodeEJB-JarfilesAtrun-time08-Sep-2447Constructstable-InterfaceComponent
ModelsInterfacetypeDistinctionof
Provides/RequiresDistinctivefeaturesInterface
LanguageInterfaceLevels(Syntactic,
Semantic,
Behaviour)AUTOSAROperation-based
Port-basedYesAUTOSARInterface*CheaderfilesSyntacticBIPPort-basedNoCompleteinterfaces,IncompleteinterfacesBIPLanguageSyntacticSemanticBehaviourBlueArXPort-basedYesN/ACSyntacticCCMOperation-based
Port-basedYesFacetsandreceptaclesEventsinksandeventsourcesCORBAIDL,CIDLSyntacticCOMDESIIPort-basedYesN/ACheaderfilesStatechartsdiagramsSyntacticBehaviourCompoNETSOperation-based
Port-basedYesFacetsandreceptaclesEventsinksandeventsourcesCORBAIDL,CIDL,
PetrinetsSyntacticBehaviourEJBOperation-basedNoN/AJavaProgrammingLanguage+AnnotationsSyntacticFractalOperation-basedYesComponentInterface,ControlInterfaceIDL,FractalADL,orJavaorC,BehaviouralProtocolSyntacticBehaviourKOALAOperation-basedYesDiversityInterface,OptionalInterfaceIDL,CDLSyntactic08-Sep-2448Constructstable-interactionCOMPONENT
MODELSINTERACTIONSTYLESCOMMUNICATIONTYPEBINDINGTYPEEXOGENOUSHIERARCHICALAUTOSARRequestresponse,MessagespassingSynchronous,AsynchronousNoDelegationBIPTriggeringRendez-vous,BroadcastSynchronous,AsynchronousNoDelegationBlueArXPipe&filterSynchronousNoDelegationCCMRequestresponse,TriggeringSynchronous,AsynchronousNoNoCOMDESIIPipe&filterSynchronousNoNoCompoNETSRequestresponseSynchronous,AsynchronousNoNoEJBRequestresponseSynchronous,AsynchronousNoNoFractalMultipleinteractionstyles
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030全球镀铜光亮剂行业调研及趋势分析报告
- 2025年全球及中国母婴健康产后护理行业头部企业市场占有率及排名调研报告
- 2025年全球及中国敏捷渗透测试行业头部企业市场占有率及排名调研报告
- 2025年全球及中国LTCC用导电银浆行业头部企业市场占有率及排名调研报告
- 2025建筑安装工程承包合同范本版
- 教室租赁合同范本
- 2025工矿企业大型成套设备采购合同范本
- 装修设计合同范本大全
- 2025劳动合同试用期法律疑难问题详解
- 门店合伙协议合同范本
- 2024年1月高考适应性测试“九省联考”数学 试题(学生版+解析版)
- JT-T-1004.1-2015城市轨道交通行车调度员技能和素质要求第1部分:地铁轻轨和单轨
- (高清版)WST 408-2024 定量检验程序分析性能验证指南
- (正式版)JBT 11270-2024 立体仓库组合式钢结构货架技术规范
- DB11∕T 2035-2022 供暖民用建筑室温无线采集系统技术要求
- 《复旦大学》课件
- 针灸与按摩综合疗法
- Photoshop 2022从入门到精通
- T-GDWJ 013-2022 广东省健康医疗数据安全分类分级管理技术规范
- 校本课程生活中的化学
- DB43-T 2775-2023 花榈木播种育苗技术规程
评论
0/150
提交评论