12.3.3.3 ProfileApplication

ProfileApplication用于记录哪些Profiles被应用到了一个包。

扩展UML的一个或多个Profiles可以按需应用到一个模型包。应用一个Profile意味着可以应用在此Profile中定义的Stereotypes。可以在一个包上应用多个Profiles,尽管这有能因为它们具有冲突的约束而导致该包无效。应用一个Profile意味着递归地应用它内嵌和引用的所有Profiles。属于Profile中公共成员的Stereotypes可以应用到该Profile被应用到的包中的模型元素。

当应用一个Profile时,如果元类的ExtendsionEnds的isRequired属性为真,那么需要为这些元类的实例创建相应的Stereotypes实例。

一旦某个Profile被应用到一个包,可以随时根据需要删除该Profile。删除一个Profile隐含着删除了该Profile中定义的所有Stereotypes的实例,包括它们所组合聚合的Proflie定义的类实例和链接它们的Profile定义的组合关联实例。其它非组合聚合的实例如果它们的定义类型不再可用那么也必须删除。Profile的删除不会破坏参考元模型中的元素实例。只是该Profile元素的实例被删除。这意味着应用了profile的UML模型总是可以与另一个不支持该profile的工具进行互换的,此时它被解释为一个纯UML模型。

如果一个Profile是另一个Profile的packagedElement,那么它可以单独的应用到一个模型上。然而,该内嵌的Profile必须指定它所引用的元类和元模型。元类和元模型引用不会从包含它的Profile中继承得到。

results matching ""

    No results matching ""