Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » UML2 » Reapplying a profile after its has be re-defined
Reapplying a profile after its has be re-defined [message #476763] Sat, 15 December 2007 20:11 Go to next message
Anders W. Tell is currently offline Anders W. TellFriend
Messages: 69
Registered: July 2009
Member
Hi,

Im still trying to get the hang of how profiles work and Im in cycle of
changing a profile with many redefines.

How ever when I drop and replace the file "bsc.profile.uml" and opens an
existing '*.uml' file where i have applied the profile, the
connection /references to applied stereotypes seems lost

And at the top level in the my1.uml file there are now extra elements
outside the <uml:Model> element.

Such as:
<BusinessSemanticComponent:SemanticComponent
xmi:id="_pSRaEKs9Edypn7TO-27LDg" base_Classifier="_oZuiAKpMEdy6V5U3TuHlaQ"/>

More over in the ProfileApplication element in *.uml file the
UML::Reference is now = "null"

I always define the profile after changed and I keep the
annotation:nsURI to the same value between defines.

I also keep the latest annotation in profile file (i.e I remove the last
one since I make soo many changed/addition)


thanks for any hints
/anders
Re: Reapplying a profile after its has be re-defined [message #476765 is a reply to message #476763] Mon, 17 December 2007 14:02 Go to previous messageGo to next message
urs zeidler is currently offline urs zeidlerFriend
Messages: 91
Registered: July 2009
Member
Anders W.Tell schrieb:
> Hi,
>
> Im still trying to get the hang of how profiles work and Im in cycle of
> changing a profile with many redefines.
>
> How ever when I drop and replace the file "bsc.profile.uml" and opens an
> existing '*.uml' file where i have applied the profile, the connection
> /references to applied stereotypes seems lost
>
> And at the top level in the my1.uml file there are now extra elements
> outside the <uml:Model> element.
>
> Such as:
> <BusinessSemanticComponent:SemanticComponent
> xmi:id="_pSRaEKs9Edypn7TO-27LDg"
> base_Classifier="_oZuiAKpMEdy6V5U3TuHlaQ"/>
>
> More over in the ProfileApplication element in *.uml file the
> UML::Reference is now = "null"
>
> I always define the profile after changed and I keep the
> annotation:nsURI to the same value between defines.
>
> I also keep the latest annotation in profile file (i.e I remove the last
> one since I make soo many changed/addition)
>
>
> thanks for any hints
> /anders
I have achieved this with a transformation in ATL.
Re: Reapplying a profile after its has be re-defined [message #476766 is a reply to message #476763] Mon, 17 December 2007 15:03 Go to previous messageGo to next message
Kenn Hussey is currently offline Kenn HusseyFriend
Messages: 1620
Registered: July 2009
Senior Member
Anders,

If you're deleting annotations, you're deleting the metadata that is needed
in order to successfully recognize stereotype applications based on older
versions of the profile... So if you want to keep your stereotype
applications, don't delete the annotations.

Kenn

"Anders W.Tell" <opensource@toolsmiths.se> wrote in message
news:fk1cdf$40j$1@build.eclipse.org...
> Hi,
>
> Im still trying to get the hang of how profiles work and Im in cycle of
> changing a profile with many redefines.
>
> How ever when I drop and replace the file "bsc.profile.uml" and opens an
> existing '*.uml' file where i have applied the profile, the connection
> /references to applied stereotypes seems lost
>
> And at the top level in the my1.uml file there are now extra elements
> outside the <uml:Model> element.
>
> Such as:
> <BusinessSemanticComponent:SemanticComponent
> xmi:id="_pSRaEKs9Edypn7TO-27LDg"
> base_Classifier="_oZuiAKpMEdy6V5U3TuHlaQ"/>
>
> More over in the ProfileApplication element in *.uml file the
> UML::Reference is now = "null"
>
> I always define the profile after changed and I keep the annotation:nsURI
> to the same value between defines.
>
> I also keep the latest annotation in profile file (i.e I remove the last
> one since I make soo many changed/addition)
>
>
> thanks for any hints
> /anders
Re: Reapplying a profile after its has be re-defined [message #476772 is a reply to message #476765] Mon, 17 December 2007 17:54 Go to previous messageGo to next message
Anders W. Tell is currently offline Anders W. TellFriend
Messages: 69
Registered: July 2009
Member
Interesting is it difficult?
/anders

urs zeidler wrote:
> Anders W.Tell schrieb:
>> Hi,
>>
>> Im still trying to get the hang of how profiles work and Im in cycle
>> of changing a profile with many redefines.
>>
>> How ever when I drop and replace the file "bsc.profile.uml" and opens
>> an existing '*.uml' file where i have applied the profile, the
>> connection /references to applied stereotypes seems lost
>>
>> And at the top level in the my1.uml file there are now extra elements
>> outside the <uml:Model> element.
>>
>> Such as:
>> <BusinessSemanticComponent:SemanticComponent
>> xmi:id="_pSRaEKs9Edypn7TO-27LDg"
>> base_Classifier="_oZuiAKpMEdy6V5U3TuHlaQ"/>
>>
>> More over in the ProfileApplication element in *.uml file the
>> UML::Reference is now = "null"
>>
>> I always define the profile after changed and I keep the
>> annotation:nsURI to the same value between defines.
>>
>> I also keep the latest annotation in profile file (i.e I remove the
>> last one since I make soo many changed/addition)
>>
>>
>> thanks for any hints
>> /anders
> I have achieved this with a transformation in ATL.
Re: Reapplying a profile after its has be re-defined [message #476773 is a reply to message #476765] Mon, 17 December 2007 17:56 Go to previous messageGo to next message
Anders W. Tell is currently offline Anders W. TellFriend
Messages: 69
Registered: July 2009
Member
Interesting is it difficult?
/anders

urs zeidler wrote:
> Anders W.Tell schrieb:
>> Hi,
>>
>> Im still trying to get the hang of how profiles work and Im in cycle
>> of changing a profile with many redefines.
>>
>> How ever when I drop and replace the file "bsc.profile.uml" and opens
>> an existing '*.uml' file where i have applied the profile, the
>> connection /references to applied stereotypes seems lost
>>
>> And at the top level in the my1.uml file there are now extra elements
>> outside the <uml:Model> element.
>>
>> Such as:
>> <BusinessSemanticComponent:SemanticComponent
>> xmi:id="_pSRaEKs9Edypn7TO-27LDg"
>> base_Classifier="_oZuiAKpMEdy6V5U3TuHlaQ"/>
>>
>> More over in the ProfileApplication element in *.uml file the
>> UML::Reference is now = "null"
>>
>> I always define the profile after changed and I keep the
>> annotation:nsURI to the same value between defines.
>>
>> I also keep the latest annotation in profile file (i.e I remove the
>> last one since I make soo many changed/addition)
>>
>>
>> thanks for any hints
>> /anders
> I have achieved this with a transformation in ATL.
Re: Reapplying a profile after its has be re-defined [message #476774 is a reply to message #476766] Mon, 17 December 2007 17:59 Go to previous messageGo to next message
Anders W. Tell is currently offline Anders W. TellFriend
Messages: 69
Registered: July 2009
Member
Kenn,

Ok, is this behavior conformant with OMG profiling? Does this work
portable with profiles expressed in plain XMI?

How to one automatically update an existing applied profile (in an
*.uml) to a newer and improved one?

One problem (for me) seems that the ID of stereotypes changes when one
save the profile.uml. Is it possible to prevent the saving of new ID for
stereotype?

/anders


Kenn Hussey wrote:
> Anders,
>
> If you're deleting annotations, you're deleting the metadata that is needed
> in order to successfully recognize stereotype applications based on older
> versions of the profile... So if you want to keep your stereotype
> applications, don't delete the annotations.
>
> Kenn
>
> "Anders W.Tell" <opensource@toolsmiths.se> wrote in message
> news:fk1cdf$40j$1@build.eclipse.org...
>> Hi,
>>
>> Im still trying to get the hang of how profiles work and Im in cycle of
>> changing a profile with many redefines.
>>
>> How ever when I drop and replace the file "bsc.profile.uml" and opens an
>> existing '*.uml' file where i have applied the profile, the connection
>> /references to applied stereotypes seems lost
>>
>> And at the top level in the my1.uml file there are now extra elements
>> outside the <uml:Model> element.
>>
>> Such as:
>> <BusinessSemanticComponent:SemanticComponent
>> xmi:id="_pSRaEKs9Edypn7TO-27LDg"
>> base_Classifier="_oZuiAKpMEdy6V5U3TuHlaQ"/>
>>
>> More over in the ProfileApplication element in *.uml file the
>> UML::Reference is now = "null"
>>
>> I always define the profile after changed and I keep the annotation:nsURI
>> to the same value between defines.
>>
>> I also keep the latest annotation in profile file (i.e I remove the last
>> one since I make soo many changed/addition)
>>
>>
>> thanks for any hints
>> /anders
>
>
Re: Reapplying a profile after its has be re-defined [message #476775 is a reply to message #476774] Mon, 17 December 2007 18:10 Go to previous messageGo to next message
Kenn Hussey is currently offline Kenn HusseyFriend
Messages: 1620
Registered: July 2009
Senior Member
Anders,

The UML specification doesn't dictate how tools are supposed to behave in
this area, so yes, it's conformant.

To update applied stereotypes to a new definition of a profile, simply
reapply the profile; tag values will be automatically be migrated on a
best-effort basis.

IDs shouldn't change every time the profie is saved; how are you saving the
profile: using the editor or from a Java program?

Kenn

"Anders W.Tell" <opensource@toolsmiths.se> wrote in message
news:fk6de6$6il$3@build.eclipse.org...
> Kenn,
>
> Ok, is this behavior conformant with OMG profiling? Does this work
> portable with profiles expressed in plain XMI?
>
> How to one automatically update an existing applied profile (in an *.uml)
> to a newer and improved one?
>
> One problem (for me) seems that the ID of stereotypes changes when one
> save the profile.uml. Is it possible to prevent the saving of new ID for
> stereotype?
>
> /anders
>
>
> Kenn Hussey wrote:
>> Anders,
>>
>> If you're deleting annotations, you're deleting the metadata that is
>> needed in order to successfully recognize stereotype applications based
>> on older versions of the profile... So if you want to keep your
>> stereotype applications, don't delete the annotations.
>>
>> Kenn
>>
>> "Anders W.Tell" <opensource@toolsmiths.se> wrote in message
>> news:fk1cdf$40j$1@build.eclipse.org...
>>> Hi,
>>>
>>> Im still trying to get the hang of how profiles work and Im in cycle of
>>> changing a profile with many redefines.
>>>
>>> How ever when I drop and replace the file "bsc.profile.uml" and opens an
>>> existing '*.uml' file where i have applied the profile, the connection
>>> /references to applied stereotypes seems lost
>>>
>>> And at the top level in the my1.uml file there are now extra elements
>>> outside the <uml:Model> element.
>>>
>>> Such as:
>>> <BusinessSemanticComponent:SemanticComponent
>>> xmi:id="_pSRaEKs9Edypn7TO-27LDg"
>>> base_Classifier="_oZuiAKpMEdy6V5U3TuHlaQ"/>
>>>
>>> More over in the ProfileApplication element in *.uml file the
>>> UML::Reference is now = "null"
>>>
>>> I always define the profile after changed and I keep the
>>> annotation:nsURI to the same value between defines.
>>>
>>> I also keep the latest annotation in profile file (i.e I remove the last
>>> one since I make soo many changed/addition)
>>>
>>>
>>> thanks for any hints
>>> /anders
>>
Re: Reapplying a profile after its has be re-defined [message #476784 is a reply to message #476773] Tue, 18 December 2007 14:17 Go to previous messageGo to next message
urs zeidler is currently offline urs zeidlerFriend
Messages: 91
Registered: July 2009
Member
This is a multi-part message in MIME format.
--------------020808090907040606030806
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Anders W.Tell schrieb:
> Interesting is it difficult?
> /anders
>
Not really, you can use this transformation as a base.

--------------020808090907040606030806
Content-Type: text/plain;
name="uml2copy_direct_with_Stereotypes.atl"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="uml2copy_direct_with_Stereotypes.atl"

-- @atlcompiler atl2006
module Transformation;

create OUT : UML2 from IN : UML2,PRO:UML2;

helper def : inElements : Set(UML2!"ecore::EObject") = UML2!"ecore::EObject"->allInstancesFrom('IN');

helper def : isIncluded(invar : OclAny) : Boolean =
true
;


helper def : CommentGuard(invar : UML2!"uml::Comment") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Comment") ;

helper def : PackageGuard(invar : UML2!"uml::Package") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Package") ;

helper def : DependencyGuard(invar : UML2!"uml::Dependency") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Dependency") ;

helper def : ElementImportGuard(invar : UML2!"uml::ElementImport") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ElementImport") ;

helper def : PackageImportGuard(invar : UML2!"uml::PackageImport") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::PackageImport") ;

helper def : ConstraintGuard(invar : UML2!"uml::Constraint") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Constraint") ;

helper def : AssociationGuard(invar : UML2!"uml::Association") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Association") ;

helper def : TemplateBindingGuard(invar : UML2!"uml::TemplateBinding") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::TemplateBinding") ;

helper def : TemplateSignatureGuard(invar : UML2!"uml::TemplateSignature") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::TemplateSignature") ;

helper def : TemplateParameterGuard(invar : UML2!"uml::TemplateParameter") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::TemplateParameter") ;

helper def : TemplateParameterSubstitutionGuard(invar : UML2!"uml::TemplateParameterSubstitution") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::TemplateParameterSubstitution") ;

helper def : GeneralizationGuard(invar : UML2!"uml::Generalization") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Generalization") ;

helper def : GeneralizationSetGuard(invar : UML2!"uml::GeneralizationSet") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::GeneralizationSet") ;

helper def : SubstitutionGuard(invar : UML2!"uml::Substitution") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Substitution") ;

helper def : RealizationGuard(invar : UML2!"uml::Realization") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Realization") ;

helper def : AbstractionGuard(invar : UML2!"uml::Abstraction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Abstraction") ;

helper def : OpaqueExpressionGuard(invar : UML2!"uml::OpaqueExpression") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::OpaqueExpression") ;

helper def : ParameterGuard(invar : UML2!"uml::Parameter") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Parameter") ;

helper def : ConnectableElementTemplateParameterGuard(invar : UML2!"uml::ConnectableElementTemplateParameter") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ConnectableElementTemplateParameter ") ;

helper def : ConnectorEndGuard(invar : UML2!"uml::ConnectorEnd") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ConnectorEnd") ;

helper def : PropertyGuard(invar : UML2!"uml::Property") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Property") ;

helper def : DeploymentGuard(invar : UML2!"uml::Deployment") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Deployment") ;

helper def : DeploymentSpecificationGuard(invar : UML2!"uml::DeploymentSpecification") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::DeploymentSpecification") ;

helper def : ArtifactGuard(invar : UML2!"uml::Artifact") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Artifact") ;

helper def : ManifestationGuard(invar : UML2!"uml::Manifestation") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Manifestation") ;

helper def : OperationGuard(invar : UML2!"uml::Operation") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Operation") ;

helper def : ClassGuard(invar : UML2!"uml::Class") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Class") ;

helper def : InterfaceRealizationGuard(invar : UML2!"uml::InterfaceRealization") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::InterfaceRealization") ;

helper def : InterfaceGuard(invar : UML2!"uml::Interface") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Interface") ;

helper def : ReceptionGuard(invar : UML2!"uml::Reception") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Reception") ;

helper def : SignalGuard(invar : UML2!"uml::Signal") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Signal") ;

helper def : ProtocolStateMachineGuard(invar : UML2!"uml::ProtocolStateMachine") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ProtocolStateMachine") ;

helper def : StateMachineGuard(invar : UML2!"uml::StateMachine") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::StateMachine") ;

helper def : RegionGuard(invar : UML2!"uml::Region") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Region") ;

helper def : TransitionGuard(invar : UML2!"uml::Transition") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Transition") ;

helper def : TriggerGuard(invar : UML2!"uml::Trigger") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Trigger") ;

helper def : PortGuard(invar : UML2!"uml::Port") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Port") ;

helper def : StateGuard(invar : UML2!"uml::State") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::State") ;

helper def : ConnectionPointReferenceGuard(invar : UML2!"uml::ConnectionPointReference") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ConnectionPointReference") ;

helper def : PseudostateGuard(invar : UML2!"uml::Pseudostate") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Pseudostate") ;

helper def : ProtocolConformanceGuard(invar : UML2!"uml::ProtocolConformance") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ProtocolConformance") ;

helper def : ConnectorGuard(invar : UML2!"uml::Connector") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Connector") ;

helper def : ExtensionGuard(invar : UML2!"uml::Extension") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Extension") ;

helper def : ExtensionEndGuard(invar : UML2!"uml::ExtensionEnd") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ExtensionEnd") ;

helper def : StereotypeGuard(invar : UML2!"uml::Stereotype") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Stereotype") ;

helper def : ImageGuard(invar : UML2!"uml::Image") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Image") ;

helper def : ProfileGuard(invar : UML2!"uml::Profile") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Profile") ;

helper def : ModelGuard(invar : UML2!"uml::Model") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Model") ;

helper def : ParameterSetGuard(invar : UML2!"uml::ParameterSet") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ParameterSet") ;

helper def : DataTypeGuard(invar : UML2!"uml::DataType") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::DataType") ;

helper def : OperationTemplateParameterGuard(invar : UML2!"uml::OperationTemplateParameter") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::OperationTemplateParameter") ;

helper def : CollaborationUseGuard(invar : UML2!"uml::CollaborationUse") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::CollaborationUse") ;

helper def : CollaborationGuard(invar : UML2!"uml::Collaboration") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Collaboration") ;

helper def : UseCaseGuard(invar : UML2!"uml::UseCase") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::UseCase") ;

helper def : IncludeGuard(invar : UML2!"uml::Include") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Include") ;

helper def : ExtendGuard(invar : UML2!"uml::Extend") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Extend") ;

helper def : ExtensionPointGuard(invar : UML2!"uml::ExtensionPoint") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ExtensionPoint") ;

helper def : RedefinableTemplateSignatureGuard(invar : UML2!"uml::RedefinableTemplateSignature") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::RedefinableTemplateSignature") ;

helper def : ClassifierTemplateParameterGuard(invar : UML2!"uml::ClassifierTemplateParameter") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ClassifierTemplateParameter") ;

helper def : StringExpressionGuard(invar : UML2!"uml::StringExpression") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::StringExpression") ;

helper def : ExpressionGuard(invar : UML2!"uml::Expression") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Expression") ;

helper def : UsageGuard(invar : UML2!"uml::Usage") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Usage") ;

helper def : PackageMergeGuard(invar : UML2!"uml::PackageMerge") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::PackageMerge") ;

helper def : ProfileApplicationGuard(invar : UML2!"uml::ProfileApplication") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ProfileApplication") ;

helper def : EnumerationGuard(invar : UML2!"uml::Enumeration") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Enumeration") ;

helper def : EnumerationLiteralGuard(invar : UML2!"uml::EnumerationLiteral") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::EnumerationLiteral") ;

helper def : InstanceSpecificationGuard(invar : UML2!"uml::InstanceSpecification") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::InstanceSpecification") ;

helper def : SlotGuard(invar : UML2!"uml::Slot") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Slot") ;

helper def : PrimitiveTypeGuard(invar : UML2!"uml::PrimitiveType") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::PrimitiveType") ;

helper def : LiteralIntegerGuard(invar : UML2!"uml::LiteralInteger") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::LiteralInteger") ;

helper def : LiteralStringGuard(invar : UML2!"uml::LiteralString") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::LiteralString") ;

helper def : LiteralBooleanGuard(invar : UML2!"uml::LiteralBoolean") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::LiteralBoolean") ;

helper def : LiteralNullGuard(invar : UML2!"uml::LiteralNull") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::LiteralNull") ;

helper def : InstanceValueGuard(invar : UML2!"uml::InstanceValue") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::InstanceValue") ;

helper def : LiteralUnlimitedNaturalGuard(invar : UML2!"uml::LiteralUnlimitedNatural") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::LiteralUnlimitedNatural") ;

helper def : OpaqueBehaviorGuard(invar : UML2!"uml::OpaqueBehavior") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::OpaqueBehavior") ;

helper def : FunctionBehaviorGuard(invar : UML2!"uml::FunctionBehavior") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::FunctionBehavior") ;

helper def : OpaqueActionGuard(invar : UML2!"uml::OpaqueAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::OpaqueAction") ;

helper def : StructuredActivityNodeGuard(invar : UML2!"uml::StructuredActivityNode") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::StructuredActivityNode") ;

helper def : ActivityGuard(invar : UML2!"uml::Activity") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Activity") ;

helper def : VariableGuard(invar : UML2!"uml::Variable") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Variable") ;

helper def : ActivityPartitionGuard(invar : UML2!"uml::ActivityPartition") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ActivityPartition") ;

helper def : InterruptibleActivityRegionGuard(invar : UML2!"uml::InterruptibleActivityRegion") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::InterruptibleActivityRegion") ;

helper def : ExceptionHandlerGuard(invar : UML2!"uml::ExceptionHandler") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ExceptionHandler") ;

helper def : OutputPinGuard(invar : UML2!"uml::OutputPin") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::OutputPin") ;

helper def : PinGuard(invar : UML2!"uml::Pin") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Pin") ;

helper def : InputPinGuard(invar : UML2!"uml::InputPin") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::InputPin") ;

helper def : SendSignalActionGuard(invar : UML2!"uml::SendSignalAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::SendSignalAction") ;

helper def : CallOperationActionGuard(invar : UML2!"uml::CallOperationAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::CallOperationAction") ;

helper def : CallBehaviorActionGuard(invar : UML2!"uml::CallBehaviorAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::CallBehaviorAction") ;

helper def : SequenceNodeGuard(invar : UML2!"uml::SequenceNode") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::SequenceNode") ;

helper def : ControlFlowGuard(invar : UML2!"uml::ControlFlow") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ControlFlow") ;

helper def : InitialNodeGuard(invar : UML2!"uml::InitialNode") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::InitialNode") ;

helper def : ActivityParameterNodeGuard(invar : UML2!"uml::ActivityParameterNode") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ActivityParameterNode") ;

helper def : ValuePinGuard(invar : UML2!"uml::ValuePin") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ValuePin") ;

helper def : MessageGuard(invar : UML2!"uml::Message") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Message") ;

helper def : InteractionGuard(invar : UML2!"uml::Interaction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Interaction") ;

helper def : LifelineGuard(invar : UML2!"uml::Lifeline") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Lifeline") ;

helper def : PartDecompositionGuard(invar : UML2!"uml::PartDecomposition") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::PartDecomposition") ;

helper def : InteractionUseGuard(invar : UML2!"uml::InteractionUse") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::InteractionUse") ;

helper def : GateGuard(invar : UML2!"uml::Gate") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Gate") ;

helper def : GeneralOrderingGuard(invar : UML2!"uml::GeneralOrdering") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::GeneralOrdering") ;

helper def : OccurrenceSpecificationGuard(invar : UML2!"uml::OccurrenceSpecification") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::OccurrenceSpecification") ;

helper def : InteractionOperandGuard(invar : UML2!"uml::InteractionOperand") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::InteractionOperand") ;

helper def : InteractionConstraintGuard(invar : UML2!"uml::InteractionConstraint") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::InteractionConstraint") ;

helper def : StateInvariantGuard(invar : UML2!"uml::StateInvariant") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::StateInvariant") ;

helper def : ActionExecutionSpecificationGuard(invar : UML2!"uml::ActionExecutionSpecification") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ActionExecutionSpecification") ;

helper def : BehaviorExecutionSpecificationGuard(invar : UML2!"uml::BehaviorExecutionSpecification") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::BehaviorExecutionSpecification ") ;

helper def : ExecutionEventGuard(invar : UML2!"uml::ExecutionEvent") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ExecutionEvent") ;

helper def : CreationEventGuard(invar : UML2!"uml::CreationEvent") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::CreationEvent") ;

helper def : DestructionEventGuard(invar : UML2!"uml::DestructionEvent") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::DestructionEvent") ;

helper def : SendOperationEventGuard(invar : UML2!"uml::SendOperationEvent") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::SendOperationEvent") ;

helper def : SendSignalEventGuard(invar : UML2!"uml::SendSignalEvent") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::SendSignalEvent") ;

helper def : MessageOccurrenceSpecificationGuard(invar : UML2!"uml::MessageOccurrenceSpecification") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::MessageOccurrenceSpecification ") ;

helper def : ExecutionOccurrenceSpecificationGuard(invar : UML2!"uml::ExecutionOccurrenceSpecification") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ExecutionOccurrenceSpecification ") ;

helper def : ReceiveOperationEventGuard(invar : UML2!"uml::ReceiveOperationEvent") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ReceiveOperationEvent") ;

helper def : ReceiveSignalEventGuard(invar : UML2!"uml::ReceiveSignalEvent") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ReceiveSignalEvent") ;

helper def : ActorGuard(invar : UML2!"uml::Actor") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Actor") ;

helper def : CallEventGuard(invar : UML2!"uml::CallEvent") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::CallEvent") ;

helper def : ChangeEventGuard(invar : UML2!"uml::ChangeEvent") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ChangeEvent") ;

helper def : SignalEventGuard(invar : UML2!"uml::SignalEvent") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::SignalEvent") ;

helper def : AnyReceiveEventGuard(invar : UML2!"uml::AnyReceiveEvent") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::AnyReceiveEvent") ;

helper def : ForkNodeGuard(invar : UML2!"uml::ForkNode") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ForkNode") ;

helper def : FlowFinalNodeGuard(invar : UML2!"uml::FlowFinalNode") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::FlowFinalNode") ;

helper def : CentralBufferNodeGuard(invar : UML2!"uml::CentralBufferNode") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::CentralBufferNode") ;

helper def : MergeNodeGuard(invar : UML2!"uml::MergeNode") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::MergeNode") ;

helper def : DecisionNodeGuard(invar : UML2!"uml::DecisionNode") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::DecisionNode") ;

helper def : ActivityFinalNodeGuard(invar : UML2!"uml::ActivityFinalNode") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ActivityFinalNode") ;

helper def : ComponentRealizationGuard(invar : UML2!"uml::ComponentRealization") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ComponentRealization") ;

helper def : ComponentGuard(invar : UML2!"uml::Component") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Component") ;

helper def : NodeGuard(invar : UML2!"uml::Node") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Node") ;

helper def : DeviceGuard(invar : UML2!"uml::Device") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Device") ;

helper def : ExecutionEnvironmentGuard(invar : UML2!"uml::ExecutionEnvironment") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ExecutionEnvironment") ;

helper def : CommunicationPathGuard(invar : UML2!"uml::CommunicationPath") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::CommunicationPath") ;

helper def : CombinedFragmentGuard(invar : UML2!"uml::CombinedFragment") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::CombinedFragment") ;

helper def : ContinuationGuard(invar : UML2!"uml::Continuation") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Continuation") ;

helper def : ConsiderIgnoreFragmentGuard(invar : UML2!"uml::ConsiderIgnoreFragment") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ConsiderIgnoreFragment") ;

helper def : CreateObjectActionGuard(invar : UML2!"uml::CreateObjectAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::CreateObjectAction") ;

helper def : DestroyObjectActionGuard(invar : UML2!"uml::DestroyObjectAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::DestroyObjectAction") ;

helper def : TestIdentityActionGuard(invar : UML2!"uml::TestIdentityAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::TestIdentityAction") ;

helper def : ReadSelfActionGuard(invar : UML2!"uml::ReadSelfAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ReadSelfAction") ;

helper def : ReadStructuralFeatureActionGuard(invar : UML2!"uml::ReadStructuralFeatureAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ReadStructuralFeatureAction") ;

helper def : ClearStructuralFeatureActionGuard(invar : UML2!"uml::ClearStructuralFeatureAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ClearStructuralFeatureAction") ;

helper def : RemoveStructuralFeatureValueActionGuard(invar : UML2!"uml::RemoveStructuralFeatureValueAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::RemoveStructuralFeatureValueAction ") ;

helper def : AddStructuralFeatureValueActionGuard(invar : UML2!"uml::AddStructuralFeatureValueAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::AddStructuralFeatureValueAction ") ;

helper def : LinkEndDataGuard(invar : UML2!"uml::LinkEndData") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::LinkEndData") ;

helper def : QualifierValueGuard(invar : UML2!"uml::QualifierValue") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::QualifierValue") ;

helper def : ReadLinkActionGuard(invar : UML2!"uml::ReadLinkAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ReadLinkAction") ;

helper def : LinkEndCreationDataGuard(invar : UML2!"uml::LinkEndCreationData") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::LinkEndCreationData") ;

helper def : CreateLinkActionGuard(invar : UML2!"uml::CreateLinkAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::CreateLinkAction") ;

helper def : DestroyLinkActionGuard(invar : UML2!"uml::DestroyLinkAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::DestroyLinkAction") ;

helper def : LinkEndDestructionDataGuard(invar : UML2!"uml::LinkEndDestructionData") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::LinkEndDestructionData") ;

helper def : ClearAssociationActionGuard(invar : UML2!"uml::ClearAssociationAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ClearAssociationAction") ;

helper def : BroadcastSignalActionGuard(invar : UML2!"uml::BroadcastSignalAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::BroadcastSignalAction") ;

helper def : SendObjectActionGuard(invar : UML2!"uml::SendObjectAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::SendObjectAction") ;

helper def : ValueSpecificationActionGuard(invar : UML2!"uml::ValueSpecificationAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ValueSpecificationAction") ;

helper def : TimeExpressionGuard(invar : UML2!"uml::TimeExpression") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::TimeExpression") ;

helper def : DurationGuard(invar : UML2!"uml::Duration") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Duration") ;

helper def : DurationIntervalGuard(invar : UML2!"uml::DurationInterval") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::DurationInterval") ;

helper def : IntervalGuard(invar : UML2!"uml::Interval") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Interval") ;

helper def : TimeConstraintGuard(invar : UML2!"uml::TimeConstraint") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::TimeConstraint") ;

helper def : IntervalConstraintGuard(invar : UML2!"uml::IntervalConstraint") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::IntervalConstraint") ;

helper def : TimeIntervalGuard(invar : UML2!"uml::TimeInterval") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::TimeInterval") ;

helper def : DurationConstraintGuard(invar : UML2!"uml::DurationConstraint") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::DurationConstraint") ;

helper def : TimeObservationGuard(invar : UML2!"uml::TimeObservation") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::TimeObservation") ;

helper def : DurationObservationGuard(invar : UML2!"uml::DurationObservation") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::DurationObservation") ;

helper def : FinalStateGuard(invar : UML2!"uml::FinalState") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::FinalState") ;

helper def : TimeEventGuard(invar : UML2!"uml::TimeEvent") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::TimeEvent") ;

helper def : ReadVariableActionGuard(invar : UML2!"uml::ReadVariableAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ReadVariableAction") ;

helper def : ClearVariableActionGuard(invar : UML2!"uml::ClearVariableAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ClearVariableAction") ;

helper def : AddVariableValueActionGuard(invar : UML2!"uml::AddVariableValueAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::AddVariableValueAction") ;

helper def : RemoveVariableValueActionGuard(invar : UML2!"uml::RemoveVariableValueAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::RemoveVariableValueAction") ;

helper def : RaiseExceptionActionGuard(invar : UML2!"uml::RaiseExceptionAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::RaiseExceptionAction") ;

helper def : ActionInputPinGuard(invar : UML2!"uml::ActionInputPin") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ActionInputPin") ;

helper def : InformationItemGuard(invar : UML2!"uml::InformationItem") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::InformationItem") ;

helper def : InformationFlowGuard(invar : UML2!"uml::InformationFlow") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::InformationFlow") ;

helper def : ReadExtentActionGuard(invar : UML2!"uml::ReadExtentAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ReadExtentAction") ;

helper def : ReclassifyObjectActionGuard(invar : UML2!"uml::ReclassifyObjectAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ReclassifyObjectAction") ;

helper def : ReadIsClassifiedObjectActionGuard(invar : UML2!"uml::ReadIsClassifiedObjectAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ReadIsClassifiedObjectAction") ;

helper def : StartClassifierBehaviorActionGuard(invar : UML2!"uml::StartClassifierBehaviorAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::StartClassifierBehaviorAction") ;

helper def : ReadLinkObjectEndActionGuard(invar : UML2!"uml::ReadLinkObjectEndAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ReadLinkObjectEndAction") ;

helper def : ReadLinkObjectEndQualifierActionGuard(invar : UML2!"uml::ReadLinkObjectEndQualifierAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ReadLinkObjectEndQualifierAction ") ;

helper def : CreateLinkObjectActionGuard(invar : UML2!"uml::CreateLinkObjectAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::CreateLinkObjectAction") ;

helper def : AcceptEventActionGuard(invar : UML2!"uml::AcceptEventAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::AcceptEventAction") ;

helper def : AcceptCallActionGuard(invar : UML2!"uml::AcceptCallAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::AcceptCallAction") ;

helper def : ReplyActionGuard(invar : UML2!"uml::ReplyAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ReplyAction") ;

helper def : UnmarshallActionGuard(invar : UML2!"uml::UnmarshallAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::UnmarshallAction") ;

helper def : ReduceActionGuard(invar : UML2!"uml::ReduceAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ReduceAction") ;

helper def : JoinNodeGuard(invar : UML2!"uml::JoinNode") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::JoinNode") ;

helper def : DataStoreNodeGuard(invar : UML2!"uml::DataStoreNode") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::DataStoreNode") ;

helper def : ObjectFlowGuard(invar : UML2!"uml::ObjectFlow") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ObjectFlow") ;

helper def : ConditionalNodeGuard(invar : UML2!"uml::ConditionalNode") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ConditionalNode") ;

helper def : ClauseGuard(invar : UML2!"uml::Clause") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Clause") ;

helper def : LoopNodeGuard(invar : UML2!"uml::LoopNode") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::LoopNode") ;

helper def : ExpansionNodeGuard(invar : UML2!"uml::ExpansionNode") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ExpansionNode") ;

helper def : ExpansionRegionGuard(invar : UML2!"uml::ExpansionRegion") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ExpansionRegion") ;

helper def : ProtocolTransitionGuard(invar : UML2!"uml::ProtocolTransition") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ProtocolTransition") ;

helper def : AssociationClassGuard(invar : UML2!"uml::AssociationClass") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::AssociationClass") ;


rule copyStereoType(invar : UML2!"uml::Element",outvar : UML2!"uml::Element"){
do{

--invar.getAppliedStereotypes().debug('applied stereotypes');

for(st in invar.getAppliedStereotypes()){
-- st.getName().debug('stereotype working on');
outvar.applyStereotype(st);
for (a in st.getAllAttributes()){
-- a.debug('attribute :');

-- invar.getValue(st,a.name).debug('value for '+a.name);
if(not invar.getValue(st,a.name).oclIsUndefined()){
if ( not a.name.startsWith('base_') ){
outvar.setValue(st,a.name, invar.getValue(st,a.name) );
}
}else{
if(a.name='tableName'){
outvar.setValue(st,a.name, invar.name.toLower() );
}
}

}
}

}--do
}

endpoint rule endpointRule() {
do {


}


}

entrypoint rule entrypointRule() {
do {


}


}



rule CommentRule {
from invar : UML2!"uml::Comment" (thisModule.CommentGuard(invar))
to Commentvar : UML2!Comment (
body <- invar.body,
eAnnotations <- invar.eAnnotations,
ownedComment <- invar.ownedComment,
annotatedElement <- invar.annotatedElement
)
do {

--invar.debug('CommentRule');
}
}

rule PackageRule {
from invar : UML2!"uml::Package" (thisModule.PackageGuard(invar))
to Packagevar : UML2!Package (
name <- invar.name,
visibility <- invar.visibility,
eAnnotations <- invar.eAnnotations,
ownedComment <- invar.ownedComment,
clientDependency <- invar.clientDependency,
nameExpression <- invar.nameExpression,
elementImport <- invar.elementImport,
packageImport <- invar.packageImport,
ownedRule <- invar.ownedRule,
owningTemplateParameter <- invar.owningTemplateParameter,
templateParameter <- invar.templateParameter,
templateBinding <- invar.templateBinding,
ownedTemplateSignature <- invar.ownedTemplateSignature,
ownedType <- invar.ownedType,
packageMerge <- invar.packageMerge,
packagedElement <- invar.packagedElement,
-- nestedPackage <- invar.nestedPackage,
nestingPackage <- invar.nestingPackage,
profileApplication <- invar.profileApplication
)
do {

invar.debug('PackageRule');
}
}

rule DependencyRule {
from invar : UML2!"uml::Dependency" (thisModule.DependencyGuard(invar))
to Dependencyvar : UML2!Dependency (
name <- invar.name,
visibility <- invar.visibility,
eAnnotations <- invar.eAnnotations,
ownedComment <- invar.ownedComment,
clientDependency <- invar.clientDependency,
nameExpression <- invar.nameExpression,
owningTemplateParameter <- invar.owningTemplateParameter,
templateParameter <- invar.templateParameter,
supplier <- invar.supplier,
client <- invar.client
)
do {

thisModule.copyStereoType(invar,Dependencyvar);
invar.debug('DependencyRule');
}
}

rule ElementImportRule {
from invar : UML2!"uml::ElementImport" (thisModule.ElementImportGuard(invar))
to ElementImportvar : UML2!ElementImport (
visibility <- invar.visibility,
alias <- invar.alias,
eAnnotations <- invar.eAnnotations,
ownedComment <- invar.ownedComment,
importedElement <- invar.importedElement,
importingNamespace <- invar.importingNamespace
)
do {

thisModule.copyStereoType(invar,ElementImportvar);
invar.debug('ElementImportRule');
}
}

rule PackageImportRule {
from invar : UML2!"uml::PackageImport" (thisModule.PackageImportGuard(invar))
to PackageImportvar : UML2!PackageImport (
visibility <- invar.visibility,
eAnnotations <- invar.eAnnotations,
ownedComment <- invar.ownedComment,
importedPackage <- invar.importedPackage,
importingNamespace <- invar.importingNamespace
)
do {

thisModule.copyStereoType(invar,PackageImportvar);
invar.debug('PackageImportRule');
}
}

rule ConstraintRule {
from invar : UML2!"uml::Constraint" (thisModule.ConstraintGuard(invar))
to Constraintvar : UML2!Constraint (
name <- invar.name,
visibility <- invar.visibility,
eAnnotations <- invar.eAnnotations,
ownedComment <- invar.ownedComment,
clientDependency <- invar.clientDependency,
nameExpression <- invar.nameExpression,
owningTemplateParameter <- invar.owningTemplateParameter,
templateParameter <- invar.templateParameter,
constrainedElement <- invar.constrainedElement,
specification <- invar.specification,
"context" <- invar."context"
)
do {

thisModule.copyStereoType(invar,Constraintvar);
invar.debug('ConstraintRule');
}
}

rule AssociationRule {
from invar : UML2!"uml::Association" (thisModule.AssociationGuard(invar))
to Associationvar : UML2!Association (
name <- invar.name,
visibility <- invar.visibility,
isLeaf <- invar.isLeaf,
isAbstract <- invar.isAbstract,
isDerived <- invar.isDerived,
eAnnotations <- invar.eAnnotations,
ownedComment <- invar.ownedComment,
clientDependency <- invar.clientDependency,
nameExpression <- invar.nameExpression,
elementImport <- invar.elementImport,
packageImport <- invar.packageImport,
ownedRule <- invar.ownedRule,
owningTemplateParameter <- invar.owningTemplateParameter,
templateParameter <- invar.templateParameter,
package <- invar.package,
templateBinding <- invar.templateBinding,
ownedTemplateSignature <- invar.ownedTemplateSignature,
generalization <- invar.generalization,
powertypeExtent <- invar.powertypeExtent,
redefinedClassifier <- invar.redefinedClassifier,
general <- invar.general,
substitution <- invar.substitution,
representation <- invar.representation,
collaborationUse <- invar.collaborationUse,
ownedUseCase <- invar.ownedUseCase,
useCase <- invar.useCase,
ownedEnd <- invar.ownedEnd,
memberEnd <- invar.memberEnd,
navigableOwnedEnd <- invar.navigableOwnedEnd
)
do {

thisModule.copyStereoType(invar,Associationvar);

invar.debug('AssociationRule');
}
}

rule TemplateBindingRule {
from invar : UML2!"uml::TemplateBinding" (thisModule.TemplateBindingGuard(invar))
to TemplateBindingvar : UML2!TemplateBinding (
eAnnotations <- invar.eAnnotations,
ownedComment <- invar.ownedComment,
signature <- invar.signature,
parameterSubstitution <- invar.parameterSubstitution,
boundElement <- invar.boundElement
)
do {

thisModule.copyStereoType(invar,TemplateBindingvar);
invar.debug('TemplateBindingRule');
}
}

rule TemplateSignatureRule {
from invar : UML2!"uml::TemplateSignature" (thisModule.TemplateSignatureGuard(invar))
to TemplateSignaturevar : UML2!TemplateSignature (
eAnnotations <- invar.eAnnotations,
ownedComment <- invar.ownedComment,
parameter <- invar.parameter,
ownedParameter <- invar.ownedParameter,
template <- invar.template
)
do {

thisModule.copyStereoType(invar,TemplateSignaturevar);
invar.debug('TemplateSignatureRule');
}
}

rule TemplateParameterRule {
from invar : UML2!"uml::TemplateParameter" (thisModule.TemplateParameterGuard(invar))
to TemplateParametervar : UML2!TemplateParameter (
eAnnotations <- invar.eAnnotations,
ownedComment <- invar.ownedComment,
signature <- invar.signature,
parameteredElement <- invar.parameteredElement,
ownedParameteredElement <- invar.ownedParameteredElement,
default <- invar.default,
ownedDefault <- invar.ownedDefault
)
do {

thisModule.copyStereoType(invar,TemplateParametervar);
invar.debug('TemplateParameterRule');
}
}

rule TemplateParameterSubstitutionRule {
from invar : UML2!"uml::TemplateParameterSubstitution" (thisModule.TemplateParameterSubstitutionGuard(invar))
to TemplateParameterSubstitutionvar : UML2!TemplateParameterSubstitution (
eAnnotations <- invar.eAnnotations,
ownedComment <- invar.ownedComment,
formal <- invar.formal,
actual <- invar.actual,
ownedActual <- invar.ownedActual,
templateBinding <- invar.templateBinding
)
do {

thisModule.copyStereoType(invar,TemplateParameterSubstitutio nvar);
invar.debug('TemplateParameterSubstitutionRule');
}
}

rule GeneralizationRule {
from invar : UML2!"uml::Generalization" (thisModule.GeneralizationGuard(invar))
to Generalizationvar : UML2!Generalization (
isSubstitutable <- invar.isSubstitutable,
eAnnotations <- invar.eAnnotations,
ownedComment <- invar.ownedComment,
general <- invar.general,
generalizationSet <- invar.generalizationSet,
specific <- invar.specific
)
do {
thisModule.copyStereoType(invar,Generalizationvar);
invar.debug('GeneralizationRule');
}
}

rule GeneralizationSetRule {
from invar : UML2!"uml::GeneralizationSet" (thisModule.GeneralizationSetGuard(invar))
to GeneralizationSetvar : UML2!GeneralizationSet (
name <- invar.name,
visibility <- invar.visibility,
isCovering <- invar.isCovering,
isDisjoint <- invar.isDisjoint,
eAnnotations <- invar.eAnnotations,
ownedComment <- invar.ownedComment,
clientDependency <- invar.clientDependency,
nameExpression <- invar.nameExpression,
owningTemplateParameter <- invar.owningTemplateParameter,
templateParameter <- invar.templateParameter,
powertype <- invar.powertype,
generalization <- invar.generalization
)
do {

thisModule.copyStereoType(invar,GeneralizationSetvar);
invar.debug('GeneralizationSetRule');
}
}

rule SubstitutionRule {
from invar : UML2!"uml::Substitution" (thisModule.SubstitutionGuard(invar))
to Substitutionvar : UML2!Substitution (
name <- invar.name,
visibility <- invar.visibility,
eAnnotations <- invar.eAnnotations,
ownedComment <- invar.ownedComment,
clientDependency <- invar.clientDependency,
nameExpression <- invar.nameExpression,
owningTemplateParameter <- invar.owningTemplateParameter,
templateParameter <- invar.templateParameter,
supplier <- invar.supplier,
client <- invar.client,
mapping <- invar.mapping,
contract <- invar.contract,
substitutingClassifier <- invar.substitutingClassifier
)
do {

thisModule.copyStereoType(invar,Substitutionvar);
invar.debug('SubstitutionRule');
}
}

rule RealizationRule {
from invar : UML2!"uml::Realization" (thisModule.RealizationGuard(invar))
to Realizationvar : UML2!Realization (
name <- invar.name,
visibility <- invar.visibility,
eAnnotations <- invar.eAnnotations,
ownedComment <- invar.ownedComment,
clientDependency <- invar.clientDependency,
nameExpression <- invar.nameExpression,
owningTemplateParameter <- invar.owningTemplateParameter,
templateParameter <- invar.templateParameter,
supplier <- invar.supplier,
client <- invar.client,
mapping <- invar.mapping
)
do {

thisModule.copyStereoType(invar,Realizationvar);
invar.debug('RealizationRule');
}
}

rule AbstractionRule {
from invar : UML2!"uml::Abstraction" (thisModule.AbstractionGuard(invar))
to Abstractionvar : UML2!Abstraction (
name <- invar.name,
visibility <- invar.visibility,
eAnnotations <- invar.eAnnotations,
ownedComment <- invar.ownedComment,
clientDependency <- invar.clientDependency,
nameExpression <- invar.nameExpression,
owningTemplateParameter <- invar.owningTemplateParameter,
templateParameter <- invar.templateParameter,
supplier <- invar.supplier,
client <- invar.client,
mapping <- invar.mapping
)
do {

thisModule.copyStereoType(invar,Abstractionvar);
invar.debug('AbstractionRule');
}
}

rule OpaqueExpressionRule {
from invar : UML2!"uml::OpaqueExpression" (thisModule.OpaqueExpressionGuard(invar))
to OpaqueExpressionvar : UML2!OpaqueExpression (
name <- invar.name,
visibility <- invar.visibility,
body <- invar.body,
language <- invar.language,
eAnnotations <- invar.eAnnotations,
ownedComment <- invar.ownedComment,
clientDependency <- invar.clientDependency,
nameExpression <- invar.nameExpression,
owningTemplateParameter <- invar.owningTemplateParameter,
templateParameter <- invar.templateParameter,
type <- invar.type,
behavior <- invar.behavior
)
do {

thisModule.copyStereoType(invar,OpaqueExpressionvar);
invar.debug('OpaqueExpressionRule');
}
}

rule ParameterRule {
from invar : UML2!"uml::Parameter" (thisModule.ParameterGuard(invar))
to Parametervar : UML2!Parameter (
name <- invar.name,
visibility <- invar.visibility,
isOrdered <- invar.isOrdered,
isUnique <- invar.isUnique,
upper <- invar.upper,
lower <- invar.lower,
direction <- invar.direction,
default <- invar.default,
isException <- invar.isException,
isStream <- invar.isStream,
effect <- invar.effect,
eAnnotations <- invar.eAnnotations,
ownedComment <- invar.ownedComment,
clientDependency <- invar.clientDependency,
nameExpression <- invar.nameExpression,
type <- invar.type,
owningTemplateParameter <- invar.owningTemplateParameter,
templateParameter <- invar.templateParameter,
end <- invar.end,
upperValue <- invar.upperValue,
lowerValue <- invar.lowerValue,
parameterSet <- invar.parameterSet,
defaultValue <- invar.defaultValue
)
do {

thisModule.copyStereoType(invar,Parametervar);
invar.debug('ParameterRule');
}
}

rule ConnectableElementTemplateParameterRule {
from invar : UML2!"uml::ConnectableElementTemplateParameter" (thisModule.ConnectableElementTemplateParameterGuard(invar))
to ConnectableElementTemplateParametervar : UML2!ConnectableElementTemplateParameter (
eAnnotations <- invar.eAnnotations,
ownedComment <- invar.ownedComment,
signature <- invar.signature,
parameteredElement <- invar.parameteredElement,
ownedParameteredElement <- invar.ownedParameteredElement,
default <- invar.default,
ownedDefault <- invar.ownedDefault
)
do {

thisModule.copyStereoType(invar,ConnectableElementTemplatePa rametervar);
invar.debug('ConnectableElementTemplateParameterRule');
}
}

rule ConnectorEndRule {
from invar : UML2!"uml::ConnectorEnd" (thisModule.ConnectorEndGuard(invar))
to ConnectorEndvar : UML2!ConnectorEnd (
isOrdered <- invar.isOrdered,
isUnique <- invar.isUnique,
upper <- invar.upper,
lower <- invar.lower,
eAnnotations <- invar.eAnnotations,
ownedComment <- invar.ownedComment,
upperValue <- invar.upperValue,
lowerValue <- invar.lowerValue,
partWithPort <- invar.partWithPort,
role <- invar.role
)
do {

thisModule.copyStereoType(invar,ConnectorEndvar);
invar.debug('ConnectorEndRule');
}
}

rule PropertyRule {
from invar : UML2!"uml::Property" (thisModule.PropertyGuard(invar))
to Propertyvar : UML2!Property (
name <- invar.name,
visibility <- invar.visibility,
isLeaf <- invar.isLeaf,
isStatic <- invar.isStatic,
isOrdered <- invar.isOrdered,
isUnique <- invar.isUnique,
upper <- invar.upper,
lower <- invar.lower,
isReadOnly <- invar.isReadOnly,
isDerived <- invar.isDerived,
isDerivedUnion <- invar.isDerivedUnion,
default <- invar.default,
aggregation <- invar.aggregation,
isComposite <- invar.isComposite,
eAnnotations <- invar.eAnnotations,
ownedComment <- invar.ownedComment,
clientDependency <- invar.clientDependency,
nameExpression <- invar.nameExpression,
type <- invar.type,
upperValue <- invar.upperValue,
lowerValue <- invar.lowerValue,
owningTemplateParameter <- invar.owningTemplateParameter,
templateParameter <- invar.templateParameter,
end <- invar.end,
deployment <- invar.deployment,
templateBinding <- invar.templateBinding,
ownedTemplateSignature <- invar.ownedTemplateSignature,
datatype <-invar.datatype,
redefinedProperty <- invar.redefinedProperty,
owningAssociation <- invar.owningAssociation,
defaultValue <- invar.defaultValue,
--opposite <- invar.opposite,
subsettedProperty <- invar.subsettedProperty,
association <- invar.association,
qualifier <- invar.qualifier,
associationEnd <- invar.associationEnd
)
do {

thisModule.copyStereoType(invar,Propertyvar);
invar.debug('PropertyRule');
}
}

rule DeploymentRule {
from invar : UML2!"uml::Deployment" (thisModule.DeploymentGuard(invar))
to Deploymentvar : UML2!Deployment (
name <- invar.name,
visibility <- invar.visibility,
eAnnotations <- invar.eAnnotations,
ownedComment <- invar.ownedComment,
clientDependency <- invar.clientDependency,
nameExpression <- invar.nameExpression,
owningTemplateParameter <- invar.owningTemplateParameter,
templateParameter <- invar.templateParameter,
supplier <- invar.supplier,
client <- invar.client,
deployedArtifact <- invar.deployedArtifact,
configuration <- invar.configuration,
location <- invar.location
)
do {

thisModule.copyStereoType(invar,Deploymentvar);
invar.debug('DeploymentRule');
}
}

rule DeploymentSpecificationRule {
from invar : UML2!"uml::DeploymentSpecification" (thisModule.DeploymentSpecificationGuard(invar))
to DeploymentSpecificationvar : UML2!DeploymentSpecification (
name <- invar.name,
visibility <- invar.visibility,
isLeaf <- invar.isLeaf,
isAbstract <- invar.isAbstract,
fileName <- invar.fileName,
deploymentLocation <- invar.deploymentLocation,
executionLocation <- invar.executionLocation,
eAnnotations <- invar.eAnnotations,
ownedComment <- invar.ownedComment,
clientDependency <- invar.clientDependency,
nameExpression <- invar.nameExpression,
elementImport <- invar.elementImport,
packageImport <- invar.packageImport,
ownedRule <- invar.ownedRule,
owningTemplateParameter <- invar.owningTemplateParameter,
templateParameter <- invar.templateParameter,
package <- invar.package,
templateBinding <- invar.templateBinding,
ownedTemplateSignature <- invar.ownedTemplateSignature,
generalization <- invar.generalization,
powertypeExtent <- invar.powertypeExtent,
redefinedClassifier <- invar.redefinedClassifier,
general <- invar.general,
substitution <- invar.substitution,
representation <- invar.representation,
collaborationUse <- invar.collaborationUse,
ownedUseCase <- invar.ownedUseCase,
useCase <- invar.useCase,
nestedArtifact <- invar.nestedArtifact,
manifestation <- invar.manifestation,
ownedOperation <- invar.ownedOperation,
ownedAttribute <- invar.ownedAttribute,
deployment <- invar.deployment
)
do {

thisModule.copyStereoType(invar,DeploymentSpecificationvar);
invar.debug('DeploymentSpecificationRule');
}
}

rul
Re: Reapplying a profile after its has be re-defined [message #476847 is a reply to message #476775] Sat, 12 January 2008 14:35 Go to previous messageGo to next message
Anders W. Tell is currently offline Anders W. TellFriend
Messages: 69
Registered: July 2009
Member
Kenn,
>
> To update applied stereotypes to a new definition of a profile, simply
> reapply the profile; tag values will be automatically be migrated on a
> best-effort basis.

Ok, how does one "Re-apply" the profile? (I cant see any menu item for
reapply, only unapply an apply) Do I have to make my own menu?



thanks for any help.

/anders
Re: Reapplying a profile after its has be re-defined [message #476849 is a reply to message #476847] Mon, 14 January 2008 14:52 Go to previous message
Kenn Hussey is currently offline Kenn HusseyFriend
Messages: 1620
Registered: July 2009
Senior Member
Anders,

Just apply it again using the same menu item you used when you first applied
it...

Kenn

"Anders W.Tell" <opensource@toolsmiths.se> wrote in message
news:fmaj6q$r6b$1@build.eclipse.org...
> Kenn,
>>
>> To update applied stereotypes to a new definition of a profile, simply
>> reapply the profile; tag values will be automatically be migrated on a
>> best-effort basis.
>
> Ok, how does one "Re-apply" the profile? (I cant see any menu item for
> reapply, only unapply an apply) Do I have to make my own menu?
>
>
>
> thanks for any help.
>
> /anders
Re: Reapplying a profile after its has be re-defined [message #625738 is a reply to message #476763] Mon, 17 December 2007 14:02 Go to previous message
urs zeidler is currently offline urs zeidlerFriend
Messages: 91
Registered: July 2009
Member
Anders W.Tell schrieb:
> Hi,
>
> Im still trying to get the hang of how profiles work and Im in cycle of
> changing a profile with many redefines.
>
> How ever when I drop and replace the file "bsc.profile.uml" and opens an
> existing '*.uml' file where i have applied the profile, the connection
> /references to applied stereotypes seems lost
>
> And at the top level in the my1.uml file there are now extra elements
> outside the <uml:Model> element.
>
> Such as:
> <BusinessSemanticComponent:SemanticComponent
> xmi:id="_pSRaEKs9Edypn7TO-27LDg"
> base_Classifier="_oZuiAKpMEdy6V5U3TuHlaQ"/>
>
> More over in the ProfileApplication element in *.uml file the
> UML::Reference is now = "null"
>
> I always define the profile after changed and I keep the
> annotation:nsURI to the same value between defines.
>
> I also keep the latest annotation in profile file (i.e I remove the last
> one since I make soo many changed/addition)
>
>
> thanks for any hints
> /anders
I have achieved this with a transformation in ATL.
Re: Reapplying a profile after its has be re-defined [message #625739 is a reply to message #476763] Mon, 17 December 2007 15:03 Go to previous message
Kenn Hussey is currently offline Kenn HusseyFriend
Messages: 1620
Registered: July 2009
Senior Member
Anders,

If you're deleting annotations, you're deleting the metadata that is needed
in order to successfully recognize stereotype applications based on older
versions of the profile... So if you want to keep your stereotype
applications, don't delete the annotations.

Kenn

"Anders W.Tell" <opensource@toolsmiths.se> wrote in message
news:fk1cdf$40j$1@build.eclipse.org...
> Hi,
>
> Im still trying to get the hang of how profiles work and Im in cycle of
> changing a profile with many redefines.
>
> How ever when I drop and replace the file "bsc.profile.uml" and opens an
> existing '*.uml' file where i have applied the profile, the connection
> /references to applied stereotypes seems lost
>
> And at the top level in the my1.uml file there are now extra elements
> outside the <uml:Model> element.
>
> Such as:
> <BusinessSemanticComponent:SemanticComponent
> xmi:id="_pSRaEKs9Edypn7TO-27LDg"
> base_Classifier="_oZuiAKpMEdy6V5U3TuHlaQ"/>
>
> More over in the ProfileApplication element in *.uml file the
> UML::Reference is now = "null"
>
> I always define the profile after changed and I keep the annotation:nsURI
> to the same value between defines.
>
> I also keep the latest annotation in profile file (i.e I remove the last
> one since I make soo many changed/addition)
>
>
> thanks for any hints
> /anders
Re: Reapplying a profile after its has be re-defined [message #625745 is a reply to message #476765] Mon, 17 December 2007 17:54 Go to previous message
Anders W. Tell is currently offline Anders W. TellFriend
Messages: 69
Registered: July 2009
Member
Interesting is it difficult?
/anders

urs zeidler wrote:
> Anders W.Tell schrieb:
>> Hi,
>>
>> Im still trying to get the hang of how profiles work and Im in cycle
>> of changing a profile with many redefines.
>>
>> How ever when I drop and replace the file "bsc.profile.uml" and opens
>> an existing '*.uml' file where i have applied the profile, the
>> connection /references to applied stereotypes seems lost
>>
>> And at the top level in the my1.uml file there are now extra elements
>> outside the <uml:Model> element.
>>
>> Such as:
>> <BusinessSemanticComponent:SemanticComponent
>> xmi:id="_pSRaEKs9Edypn7TO-27LDg"
>> base_Classifier="_oZuiAKpMEdy6V5U3TuHlaQ"/>
>>
>> More over in the ProfileApplication element in *.uml file the
>> UML::Reference is now = "null"
>>
>> I always define the profile after changed and I keep the
>> annotation:nsURI to the same value between defines.
>>
>> I also keep the latest annotation in profile file (i.e I remove the
>> last one since I make soo many changed/addition)
>>
>>
>> thanks for any hints
>> /anders
> I have achieved this with a transformation in ATL.
Re: Reapplying a profile after its has be re-defined [message #625746 is a reply to message #476765] Mon, 17 December 2007 17:56 Go to previous message
Anders W. Tell is currently offline Anders W. TellFriend
Messages: 69
Registered: July 2009
Member
Interesting is it difficult?
/anders

urs zeidler wrote:
> Anders W.Tell schrieb:
>> Hi,
>>
>> Im still trying to get the hang of how profiles work and Im in cycle
>> of changing a profile with many redefines.
>>
>> How ever when I drop and replace the file "bsc.profile.uml" and opens
>> an existing '*.uml' file where i have applied the profile, the
>> connection /references to applied stereotypes seems lost
>>
>> And at the top level in the my1.uml file there are now extra elements
>> outside the <uml:Model> element.
>>
>> Such as:
>> <BusinessSemanticComponent:SemanticComponent
>> xmi:id="_pSRaEKs9Edypn7TO-27LDg"
>> base_Classifier="_oZuiAKpMEdy6V5U3TuHlaQ"/>
>>
>> More over in the ProfileApplication element in *.uml file the
>> UML::Reference is now = "null"
>>
>> I always define the profile after changed and I keep the
>> annotation:nsURI to the same value between defines.
>>
>> I also keep the latest annotation in profile file (i.e I remove the
>> last one since I make soo many changed/addition)
>>
>>
>> thanks for any hints
>> /anders
> I have achieved this with a transformation in ATL.
Re: Reapplying a profile after its has be re-defined [message #625747 is a reply to message #476766] Mon, 17 December 2007 17:59 Go to previous message
Anders W. Tell is currently offline Anders W. TellFriend
Messages: 69
Registered: July 2009
Member
Kenn,

Ok, is this behavior conformant with OMG profiling? Does this work
portable with profiles expressed in plain XMI?

How to one automatically update an existing applied profile (in an
*.uml) to a newer and improved one?

One problem (for me) seems that the ID of stereotypes changes when one
save the profile.uml. Is it possible to prevent the saving of new ID for
stereotype?

/anders


Kenn Hussey wrote:
> Anders,
>
> If you're deleting annotations, you're deleting the metadata that is needed
> in order to successfully recognize stereotype applications based on older
> versions of the profile... So if you want to keep your stereotype
> applications, don't delete the annotations.
>
> Kenn
>
> "Anders W.Tell" <opensource@toolsmiths.se> wrote in message
> news:fk1cdf$40j$1@build.eclipse.org...
>> Hi,
>>
>> Im still trying to get the hang of how profiles work and Im in cycle of
>> changing a profile with many redefines.
>>
>> How ever when I drop and replace the file "bsc.profile.uml" and opens an
>> existing '*.uml' file where i have applied the profile, the connection
>> /references to applied stereotypes seems lost
>>
>> And at the top level in the my1.uml file there are now extra elements
>> outside the <uml:Model> element.
>>
>> Such as:
>> <BusinessSemanticComponent:SemanticComponent
>> xmi:id="_pSRaEKs9Edypn7TO-27LDg"
>> base_Classifier="_oZuiAKpMEdy6V5U3TuHlaQ"/>
>>
>> More over in the ProfileApplication element in *.uml file the
>> UML::Reference is now = "null"
>>
>> I always define the profile after changed and I keep the annotation:nsURI
>> to the same value between defines.
>>
>> I also keep the latest annotation in profile file (i.e I remove the last
>> one since I make soo many changed/addition)
>>
>>
>> thanks for any hints
>> /anders
>
>
Re: Reapplying a profile after its has be re-defined [message #625748 is a reply to message #476774] Mon, 17 December 2007 18:10 Go to previous message
Kenn Hussey is currently offline Kenn HusseyFriend
Messages: 1620
Registered: July 2009
Senior Member
Anders,

The UML specification doesn't dictate how tools are supposed to behave in
this area, so yes, it's conformant.

To update applied stereotypes to a new definition of a profile, simply
reapply the profile; tag values will be automatically be migrated on a
best-effort basis.

IDs shouldn't change every time the profie is saved; how are you saving the
profile: using the editor or from a Java program?

Kenn

"Anders W.Tell" <opensource@toolsmiths.se> wrote in message
news:fk6de6$6il$3@build.eclipse.org...
> Kenn,
>
> Ok, is this behavior conformant with OMG profiling? Does this work
> portable with profiles expressed in plain XMI?
>
> How to one automatically update an existing applied profile (in an *.uml)
> to a newer and improved one?
>
> One problem (for me) seems that the ID of stereotypes changes when one
> save the profile.uml. Is it possible to prevent the saving of new ID for
> stereotype?
>
> /anders
>
>
> Kenn Hussey wrote:
>> Anders,
>>
>> If you're deleting annotations, you're deleting the metadata that is
>> needed in order to successfully recognize stereotype applications based
>> on older versions of the profile... So if you want to keep your
>> stereotype applications, don't delete the annotations.
>>
>> Kenn
>>
>> "Anders W.Tell" <opensource@toolsmiths.se> wrote in message
>> news:fk1cdf$40j$1@build.eclipse.org...
>>> Hi,
>>>
>>> Im still trying to get the hang of how profiles work and Im in cycle of
>>> changing a profile with many redefines.
>>>
>>> How ever when I drop and replace the file "bsc.profile.uml" and opens an
>>> existing '*.uml' file where i have applied the profile, the connection
>>> /references to applied stereotypes seems lost
>>>
>>> And at the top level in the my1.uml file there are now extra elements
>>> outside the <uml:Model> element.
>>>
>>> Such as:
>>> <BusinessSemanticComponent:SemanticComponent
>>> xmi:id="_pSRaEKs9Edypn7TO-27LDg"
>>> base_Classifier="_oZuiAKpMEdy6V5U3TuHlaQ"/>
>>>
>>> More over in the ProfileApplication element in *.uml file the
>>> UML::Reference is now = "null"
>>>
>>> I always define the profile after changed and I keep the
>>> annotation:nsURI to the same value between defines.
>>>
>>> I also keep the latest annotation in profile file (i.e I remove the last
>>> one since I make soo many changed/addition)
>>>
>>>
>>> thanks for any hints
>>> /anders
>>
Re: Reapplying a profile after its has be re-defined [message #625759 is a reply to message #476773] Tue, 18 December 2007 14:17 Go to previous message
urs zeidler is currently offline urs zeidlerFriend
Messages: 91
Registered: July 2009
Member
This is a multi-part message in MIME format.
--------------020808090907040606030806
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Anders W.Tell schrieb:
> Interesting is it difficult?
> /anders
>
Not really, you can use this transformation as a base.

--------------020808090907040606030806
Content-Type: text/plain;
name="uml2copy_direct_with_Stereotypes.atl"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="uml2copy_direct_with_Stereotypes.atl"

-- @atlcompiler atl2006
module Transformation;

create OUT : UML2 from IN : UML2,PRO:UML2;

helper def : inElements : Set(UML2!"ecore::EObject") = UML2!"ecore::EObject"->allInstancesFrom('IN');

helper def : isIncluded(invar : OclAny) : Boolean =
true
;


helper def : CommentGuard(invar : UML2!"uml::Comment") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Comment") ;

helper def : PackageGuard(invar : UML2!"uml::Package") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Package") ;

helper def : DependencyGuard(invar : UML2!"uml::Dependency") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Dependency") ;

helper def : ElementImportGuard(invar : UML2!"uml::ElementImport") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ElementImport") ;

helper def : PackageImportGuard(invar : UML2!"uml::PackageImport") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::PackageImport") ;

helper def : ConstraintGuard(invar : UML2!"uml::Constraint") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Constraint") ;

helper def : AssociationGuard(invar : UML2!"uml::Association") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Association") ;

helper def : TemplateBindingGuard(invar : UML2!"uml::TemplateBinding") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::TemplateBinding") ;

helper def : TemplateSignatureGuard(invar : UML2!"uml::TemplateSignature") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::TemplateSignature") ;

helper def : TemplateParameterGuard(invar : UML2!"uml::TemplateParameter") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::TemplateParameter") ;

helper def : TemplateParameterSubstitutionGuard(invar : UML2!"uml::TemplateParameterSubstitution") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::TemplateParameterSubstitution") ;

helper def : GeneralizationGuard(invar : UML2!"uml::Generalization") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Generalization") ;

helper def : GeneralizationSetGuard(invar : UML2!"uml::GeneralizationSet") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::GeneralizationSet") ;

helper def : SubstitutionGuard(invar : UML2!"uml::Substitution") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Substitution") ;

helper def : RealizationGuard(invar : UML2!"uml::Realization") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Realization") ;

helper def : AbstractionGuard(invar : UML2!"uml::Abstraction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Abstraction") ;

helper def : OpaqueExpressionGuard(invar : UML2!"uml::OpaqueExpression") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::OpaqueExpression") ;

helper def : ParameterGuard(invar : UML2!"uml::Parameter") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Parameter") ;

helper def : ConnectableElementTemplateParameterGuard(invar : UML2!"uml::ConnectableElementTemplateParameter") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ConnectableElementTemplateParameter ") ;

helper def : ConnectorEndGuard(invar : UML2!"uml::ConnectorEnd") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ConnectorEnd") ;

helper def : PropertyGuard(invar : UML2!"uml::Property") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Property") ;

helper def : DeploymentGuard(invar : UML2!"uml::Deployment") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Deployment") ;

helper def : DeploymentSpecificationGuard(invar : UML2!"uml::DeploymentSpecification") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::DeploymentSpecification") ;

helper def : ArtifactGuard(invar : UML2!"uml::Artifact") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Artifact") ;

helper def : ManifestationGuard(invar : UML2!"uml::Manifestation") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Manifestation") ;

helper def : OperationGuard(invar : UML2!"uml::Operation") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Operation") ;

helper def : ClassGuard(invar : UML2!"uml::Class") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Class") ;

helper def : InterfaceRealizationGuard(invar : UML2!"uml::InterfaceRealization") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::InterfaceRealization") ;

helper def : InterfaceGuard(invar : UML2!"uml::Interface") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Interface") ;

helper def : ReceptionGuard(invar : UML2!"uml::Reception") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Reception") ;

helper def : SignalGuard(invar : UML2!"uml::Signal") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Signal") ;

helper def : ProtocolStateMachineGuard(invar : UML2!"uml::ProtocolStateMachine") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ProtocolStateMachine") ;

helper def : StateMachineGuard(invar : UML2!"uml::StateMachine") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::StateMachine") ;

helper def : RegionGuard(invar : UML2!"uml::Region") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Region") ;

helper def : TransitionGuard(invar : UML2!"uml::Transition") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Transition") ;

helper def : TriggerGuard(invar : UML2!"uml::Trigger") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Trigger") ;

helper def : PortGuard(invar : UML2!"uml::Port") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Port") ;

helper def : StateGuard(invar : UML2!"uml::State") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::State") ;

helper def : ConnectionPointReferenceGuard(invar : UML2!"uml::ConnectionPointReference") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ConnectionPointReference") ;

helper def : PseudostateGuard(invar : UML2!"uml::Pseudostate") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Pseudostate") ;

helper def : ProtocolConformanceGuard(invar : UML2!"uml::ProtocolConformance") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ProtocolConformance") ;

helper def : ConnectorGuard(invar : UML2!"uml::Connector") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Connector") ;

helper def : ExtensionGuard(invar : UML2!"uml::Extension") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Extension") ;

helper def : ExtensionEndGuard(invar : UML2!"uml::ExtensionEnd") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ExtensionEnd") ;

helper def : StereotypeGuard(invar : UML2!"uml::Stereotype") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Stereotype") ;

helper def : ImageGuard(invar : UML2!"uml::Image") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Image") ;

helper def : ProfileGuard(invar : UML2!"uml::Profile") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Profile") ;

helper def : ModelGuard(invar : UML2!"uml::Model") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Model") ;

helper def : ParameterSetGuard(invar : UML2!"uml::ParameterSet") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ParameterSet") ;

helper def : DataTypeGuard(invar : UML2!"uml::DataType") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::DataType") ;

helper def : OperationTemplateParameterGuard(invar : UML2!"uml::OperationTemplateParameter") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::OperationTemplateParameter") ;

helper def : CollaborationUseGuard(invar : UML2!"uml::CollaborationUse") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::CollaborationUse") ;

helper def : CollaborationGuard(invar : UML2!"uml::Collaboration") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Collaboration") ;

helper def : UseCaseGuard(invar : UML2!"uml::UseCase") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::UseCase") ;

helper def : IncludeGuard(invar : UML2!"uml::Include") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Include") ;

helper def : ExtendGuard(invar : UML2!"uml::Extend") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Extend") ;

helper def : ExtensionPointGuard(invar : UML2!"uml::ExtensionPoint") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ExtensionPoint") ;

helper def : RedefinableTemplateSignatureGuard(invar : UML2!"uml::RedefinableTemplateSignature") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::RedefinableTemplateSignature") ;

helper def : ClassifierTemplateParameterGuard(invar : UML2!"uml::ClassifierTemplateParameter") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ClassifierTemplateParameter") ;

helper def : StringExpressionGuard(invar : UML2!"uml::StringExpression") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::StringExpression") ;

helper def : ExpressionGuard(invar : UML2!"uml::Expression") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Expression") ;

helper def : UsageGuard(invar : UML2!"uml::Usage") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Usage") ;

helper def : PackageMergeGuard(invar : UML2!"uml::PackageMerge") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::PackageMerge") ;

helper def : ProfileApplicationGuard(invar : UML2!"uml::ProfileApplication") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ProfileApplication") ;

helper def : EnumerationGuard(invar : UML2!"uml::Enumeration") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Enumeration") ;

helper def : EnumerationLiteralGuard(invar : UML2!"uml::EnumerationLiteral") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::EnumerationLiteral") ;

helper def : InstanceSpecificationGuard(invar : UML2!"uml::InstanceSpecification") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::InstanceSpecification") ;

helper def : SlotGuard(invar : UML2!"uml::Slot") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Slot") ;

helper def : PrimitiveTypeGuard(invar : UML2!"uml::PrimitiveType") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::PrimitiveType") ;

helper def : LiteralIntegerGuard(invar : UML2!"uml::LiteralInteger") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::LiteralInteger") ;

helper def : LiteralStringGuard(invar : UML2!"uml::LiteralString") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::LiteralString") ;

helper def : LiteralBooleanGuard(invar : UML2!"uml::LiteralBoolean") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::LiteralBoolean") ;

helper def : LiteralNullGuard(invar : UML2!"uml::LiteralNull") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::LiteralNull") ;

helper def : InstanceValueGuard(invar : UML2!"uml::InstanceValue") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::InstanceValue") ;

helper def : LiteralUnlimitedNaturalGuard(invar : UML2!"uml::LiteralUnlimitedNatural") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::LiteralUnlimitedNatural") ;

helper def : OpaqueBehaviorGuard(invar : UML2!"uml::OpaqueBehavior") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::OpaqueBehavior") ;

helper def : FunctionBehaviorGuard(invar : UML2!"uml::FunctionBehavior") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::FunctionBehavior") ;

helper def : OpaqueActionGuard(invar : UML2!"uml::OpaqueAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::OpaqueAction") ;

helper def : StructuredActivityNodeGuard(invar : UML2!"uml::StructuredActivityNode") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::StructuredActivityNode") ;

helper def : ActivityGuard(invar : UML2!"uml::Activity") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Activity") ;

helper def : VariableGuard(invar : UML2!"uml::Variable") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Variable") ;

helper def : ActivityPartitionGuard(invar : UML2!"uml::ActivityPartition") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ActivityPartition") ;

helper def : InterruptibleActivityRegionGuard(invar : UML2!"uml::InterruptibleActivityRegion") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::InterruptibleActivityRegion") ;

helper def : ExceptionHandlerGuard(invar : UML2!"uml::ExceptionHandler") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ExceptionHandler") ;

helper def : OutputPinGuard(invar : UML2!"uml::OutputPin") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::OutputPin") ;

helper def : PinGuard(invar : UML2!"uml::Pin") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Pin") ;

helper def : InputPinGuard(invar : UML2!"uml::InputPin") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::InputPin") ;

helper def : SendSignalActionGuard(invar : UML2!"uml::SendSignalAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::SendSignalAction") ;

helper def : CallOperationActionGuard(invar : UML2!"uml::CallOperationAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::CallOperationAction") ;

helper def : CallBehaviorActionGuard(invar : UML2!"uml::CallBehaviorAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::CallBehaviorAction") ;

helper def : SequenceNodeGuard(invar : UML2!"uml::SequenceNode") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::SequenceNode") ;

helper def : ControlFlowGuard(invar : UML2!"uml::ControlFlow") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ControlFlow") ;

helper def : InitialNodeGuard(invar : UML2!"uml::InitialNode") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::InitialNode") ;

helper def : ActivityParameterNodeGuard(invar : UML2!"uml::ActivityParameterNode") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ActivityParameterNode") ;

helper def : ValuePinGuard(invar : UML2!"uml::ValuePin") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ValuePin") ;

helper def : MessageGuard(invar : UML2!"uml::Message") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Message") ;

helper def : InteractionGuard(invar : UML2!"uml::Interaction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Interaction") ;

helper def : LifelineGuard(invar : UML2!"uml::Lifeline") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Lifeline") ;

helper def : PartDecompositionGuard(invar : UML2!"uml::PartDecomposition") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::PartDecomposition") ;

helper def : InteractionUseGuard(invar : UML2!"uml::InteractionUse") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::InteractionUse") ;

helper def : GateGuard(invar : UML2!"uml::Gate") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Gate") ;

helper def : GeneralOrderingGuard(invar : UML2!"uml::GeneralOrdering") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::GeneralOrdering") ;

helper def : OccurrenceSpecificationGuard(invar : UML2!"uml::OccurrenceSpecification") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::OccurrenceSpecification") ;

helper def : InteractionOperandGuard(invar : UML2!"uml::InteractionOperand") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::InteractionOperand") ;

helper def : InteractionConstraintGuard(invar : UML2!"uml::InteractionConstraint") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::InteractionConstraint") ;

helper def : StateInvariantGuard(invar : UML2!"uml::StateInvariant") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::StateInvariant") ;

helper def : ActionExecutionSpecificationGuard(invar : UML2!"uml::ActionExecutionSpecification") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ActionExecutionSpecification") ;

helper def : BehaviorExecutionSpecificationGuard(invar : UML2!"uml::BehaviorExecutionSpecification") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::BehaviorExecutionSpecification ") ;

helper def : ExecutionEventGuard(invar : UML2!"uml::ExecutionEvent") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ExecutionEvent") ;

helper def : CreationEventGuard(invar : UML2!"uml::CreationEvent") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::CreationEvent") ;

helper def : DestructionEventGuard(invar : UML2!"uml::DestructionEvent") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::DestructionEvent") ;

helper def : SendOperationEventGuard(invar : UML2!"uml::SendOperationEvent") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::SendOperationEvent") ;

helper def : SendSignalEventGuard(invar : UML2!"uml::SendSignalEvent") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::SendSignalEvent") ;

helper def : MessageOccurrenceSpecificationGuard(invar : UML2!"uml::MessageOccurrenceSpecification") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::MessageOccurrenceSpecification ") ;

helper def : ExecutionOccurrenceSpecificationGuard(invar : UML2!"uml::ExecutionOccurrenceSpecification") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ExecutionOccurrenceSpecification ") ;

helper def : ReceiveOperationEventGuard(invar : UML2!"uml::ReceiveOperationEvent") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ReceiveOperationEvent") ;

helper def : ReceiveSignalEventGuard(invar : UML2!"uml::ReceiveSignalEvent") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ReceiveSignalEvent") ;

helper def : ActorGuard(invar : UML2!"uml::Actor") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Actor") ;

helper def : CallEventGuard(invar : UML2!"uml::CallEvent") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::CallEvent") ;

helper def : ChangeEventGuard(invar : UML2!"uml::ChangeEvent") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ChangeEvent") ;

helper def : SignalEventGuard(invar : UML2!"uml::SignalEvent") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::SignalEvent") ;

helper def : AnyReceiveEventGuard(invar : UML2!"uml::AnyReceiveEvent") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::AnyReceiveEvent") ;

helper def : ForkNodeGuard(invar : UML2!"uml::ForkNode") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ForkNode") ;

helper def : FlowFinalNodeGuard(invar : UML2!"uml::FlowFinalNode") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::FlowFinalNode") ;

helper def : CentralBufferNodeGuard(invar : UML2!"uml::CentralBufferNode") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::CentralBufferNode") ;

helper def : MergeNodeGuard(invar : UML2!"uml::MergeNode") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::MergeNode") ;

helper def : DecisionNodeGuard(invar : UML2!"uml::DecisionNode") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::DecisionNode") ;

helper def : ActivityFinalNodeGuard(invar : UML2!"uml::ActivityFinalNode") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ActivityFinalNode") ;

helper def : ComponentRealizationGuard(invar : UML2!"uml::ComponentRealization") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ComponentRealization") ;

helper def : ComponentGuard(invar : UML2!"uml::Component") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Component") ;

helper def : NodeGuard(invar : UML2!"uml::Node") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Node") ;

helper def : DeviceGuard(invar : UML2!"uml::Device") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Device") ;

helper def : ExecutionEnvironmentGuard(invar : UML2!"uml::ExecutionEnvironment") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ExecutionEnvironment") ;

helper def : CommunicationPathGuard(invar : UML2!"uml::CommunicationPath") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::CommunicationPath") ;

helper def : CombinedFragmentGuard(invar : UML2!"uml::CombinedFragment") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::CombinedFragment") ;

helper def : ContinuationGuard(invar : UML2!"uml::Continuation") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Continuation") ;

helper def : ConsiderIgnoreFragmentGuard(invar : UML2!"uml::ConsiderIgnoreFragment") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ConsiderIgnoreFragment") ;

helper def : CreateObjectActionGuard(invar : UML2!"uml::CreateObjectAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::CreateObjectAction") ;

helper def : DestroyObjectActionGuard(invar : UML2!"uml::DestroyObjectAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::DestroyObjectAction") ;

helper def : TestIdentityActionGuard(invar : UML2!"uml::TestIdentityAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::TestIdentityAction") ;

helper def : ReadSelfActionGuard(invar : UML2!"uml::ReadSelfAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ReadSelfAction") ;

helper def : ReadStructuralFeatureActionGuard(invar : UML2!"uml::ReadStructuralFeatureAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ReadStructuralFeatureAction") ;

helper def : ClearStructuralFeatureActionGuard(invar : UML2!"uml::ClearStructuralFeatureAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ClearStructuralFeatureAction") ;

helper def : RemoveStructuralFeatureValueActionGuard(invar : UML2!"uml::RemoveStructuralFeatureValueAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::RemoveStructuralFeatureValueAction ") ;

helper def : AddStructuralFeatureValueActionGuard(invar : UML2!"uml::AddStructuralFeatureValueAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::AddStructuralFeatureValueAction ") ;

helper def : LinkEndDataGuard(invar : UML2!"uml::LinkEndData") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::LinkEndData") ;

helper def : QualifierValueGuard(invar : UML2!"uml::QualifierValue") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::QualifierValue") ;

helper def : ReadLinkActionGuard(invar : UML2!"uml::ReadLinkAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ReadLinkAction") ;

helper def : LinkEndCreationDataGuard(invar : UML2!"uml::LinkEndCreationData") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::LinkEndCreationData") ;

helper def : CreateLinkActionGuard(invar : UML2!"uml::CreateLinkAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::CreateLinkAction") ;

helper def : DestroyLinkActionGuard(invar : UML2!"uml::DestroyLinkAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::DestroyLinkAction") ;

helper def : LinkEndDestructionDataGuard(invar : UML2!"uml::LinkEndDestructionData") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::LinkEndDestructionData") ;

helper def : ClearAssociationActionGuard(invar : UML2!"uml::ClearAssociationAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ClearAssociationAction") ;

helper def : BroadcastSignalActionGuard(invar : UML2!"uml::BroadcastSignalAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::BroadcastSignalAction") ;

helper def : SendObjectActionGuard(invar : UML2!"uml::SendObjectAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::SendObjectAction") ;

helper def : ValueSpecificationActionGuard(invar : UML2!"uml::ValueSpecificationAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ValueSpecificationAction") ;

helper def : TimeExpressionGuard(invar : UML2!"uml::TimeExpression") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::TimeExpression") ;

helper def : DurationGuard(invar : UML2!"uml::Duration") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Duration") ;

helper def : DurationIntervalGuard(invar : UML2!"uml::DurationInterval") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::DurationInterval") ;

helper def : IntervalGuard(invar : UML2!"uml::Interval") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Interval") ;

helper def : TimeConstraintGuard(invar : UML2!"uml::TimeConstraint") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::TimeConstraint") ;

helper def : IntervalConstraintGuard(invar : UML2!"uml::IntervalConstraint") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::IntervalConstraint") ;

helper def : TimeIntervalGuard(invar : UML2!"uml::TimeInterval") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::TimeInterval") ;

helper def : DurationConstraintGuard(invar : UML2!"uml::DurationConstraint") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::DurationConstraint") ;

helper def : TimeObservationGuard(invar : UML2!"uml::TimeObservation") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::TimeObservation") ;

helper def : DurationObservationGuard(invar : UML2!"uml::DurationObservation") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::DurationObservation") ;

helper def : FinalStateGuard(invar : UML2!"uml::FinalState") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::FinalState") ;

helper def : TimeEventGuard(invar : UML2!"uml::TimeEvent") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::TimeEvent") ;

helper def : ReadVariableActionGuard(invar : UML2!"uml::ReadVariableAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ReadVariableAction") ;

helper def : ClearVariableActionGuard(invar : UML2!"uml::ClearVariableAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ClearVariableAction") ;

helper def : AddVariableValueActionGuard(invar : UML2!"uml::AddVariableValueAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::AddVariableValueAction") ;

helper def : RemoveVariableValueActionGuard(invar : UML2!"uml::RemoveVariableValueAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::RemoveVariableValueAction") ;

helper def : RaiseExceptionActionGuard(invar : UML2!"uml::RaiseExceptionAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::RaiseExceptionAction") ;

helper def : ActionInputPinGuard(invar : UML2!"uml::ActionInputPin") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ActionInputPin") ;

helper def : InformationItemGuard(invar : UML2!"uml::InformationItem") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::InformationItem") ;

helper def : InformationFlowGuard(invar : UML2!"uml::InformationFlow") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::InformationFlow") ;

helper def : ReadExtentActionGuard(invar : UML2!"uml::ReadExtentAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ReadExtentAction") ;

helper def : ReclassifyObjectActionGuard(invar : UML2!"uml::ReclassifyObjectAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ReclassifyObjectAction") ;

helper def : ReadIsClassifiedObjectActionGuard(invar : UML2!"uml::ReadIsClassifiedObjectAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ReadIsClassifiedObjectAction") ;

helper def : StartClassifierBehaviorActionGuard(invar : UML2!"uml::StartClassifierBehaviorAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::StartClassifierBehaviorAction") ;

helper def : ReadLinkObjectEndActionGuard(invar : UML2!"uml::ReadLinkObjectEndAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ReadLinkObjectEndAction") ;

helper def : ReadLinkObjectEndQualifierActionGuard(invar : UML2!"uml::ReadLinkObjectEndQualifierAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ReadLinkObjectEndQualifierAction ") ;

helper def : CreateLinkObjectActionGuard(invar : UML2!"uml::CreateLinkObjectAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::CreateLinkObjectAction") ;

helper def : AcceptEventActionGuard(invar : UML2!"uml::AcceptEventAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::AcceptEventAction") ;

helper def : AcceptCallActionGuard(invar : UML2!"uml::AcceptCallAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::AcceptCallAction") ;

helper def : ReplyActionGuard(invar : UML2!"uml::ReplyAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ReplyAction") ;

helper def : UnmarshallActionGuard(invar : UML2!"uml::UnmarshallAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::UnmarshallAction") ;

helper def : ReduceActionGuard(invar : UML2!"uml::ReduceAction") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ReduceAction") ;

helper def : JoinNodeGuard(invar : UML2!"uml::JoinNode") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::JoinNode") ;

helper def : DataStoreNodeGuard(invar : UML2!"uml::DataStoreNode") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::DataStoreNode") ;

helper def : ObjectFlowGuard(invar : UML2!"uml::ObjectFlow") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ObjectFlow") ;

helper def : ConditionalNodeGuard(invar : UML2!"uml::ConditionalNode") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ConditionalNode") ;

helper def : ClauseGuard(invar : UML2!"uml::Clause") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::Clause") ;

helper def : LoopNodeGuard(invar : UML2!"uml::LoopNode") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::LoopNode") ;

helper def : ExpansionNodeGuard(invar : UML2!"uml::ExpansionNode") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ExpansionNode") ;

helper def : ExpansionRegionGuard(invar : UML2!"uml::ExpansionRegion") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ExpansionRegion") ;

helper def : ProtocolTransitionGuard(invar : UML2!"uml::ProtocolTransition") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::ProtocolTransition") ;

helper def : AssociationClassGuard(invar : UML2!"uml::AssociationClass") : Boolean = thisModule.isIncluded(invar) and
invar.oclIsTypeOf(UML2!"uml::AssociationClass") ;


rule copyStereoType(invar : UML2!"uml::Element",outvar : UML2!"uml::Element"){
do{

--invar.getAppliedStereotypes().debug('applied stereotypes');

for(st in invar.getAppliedStereotypes()){
-- st.getName().debug('stereotype working on');
outvar.applyStereotype(st);
for (a in st.getAllAttributes()){
-- a.debug('attribute :');

-- invar.getValue(st,a.name).debug('value for '+a.name);
if(not invar.getValue(st,a.name).oclIsUndefined()){
if ( not a.name.startsWith('base_') ){
outvar.setValue(st,a.name, invar.getValue(st,a.name) );
}
}else{
if(a.name='tableName'){
outvar.setValue(st,a.name, invar.name.toLower() );
}
}

}
}

}--do
}

endpoint rule endpointRule() {
do {


}


}

entrypoint rule entrypointRule() {
do {


}


}



rule CommentRule {
from invar : UML2!"uml::Comment" (thisModule.CommentGuard(invar))
to Commentvar : UML2!Comment (
body <- invar.body,
eAnnotations <- invar.eAnnotations,
ownedComment <- invar.ownedComment,
annotatedElement <- invar.annotatedElement
)
do {

--invar.debug('CommentRule');
}
}

rule PackageRule {
from invar : UML2!"uml::Package" (thisModule.PackageGuard(invar))
to Packagevar : UML2!Package (
name <- invar.name,
visibility <- invar.visibility,
eAnnotations <- invar.eAnnotations,
ownedComment <- invar.ownedComment,
clientDependency <- invar.clientDependency,
nameExpression <- invar.nameExpression,
elementImport <- invar.elementImport,
packageImport <- invar.packageImport,
ownedRule <- invar.ownedRule,
owningTemplateParameter <- invar.owningTemplateParameter,
templateParameter <- invar.templateParameter,
templateBinding <- invar.templateBinding,
ownedTemplateSignature <- invar.ownedTemplateSignature,
ownedType <- invar.ownedType,
packageMerge <- invar.packageMerge,
packagedElement <- invar.packagedElement,
-- nestedPackage <- invar.nestedPackage,
nestingPackage <- invar.nestingPackage,
profileApplication <- invar.profileApplication
)
do {

invar.debug('PackageRule');
}
}

rule DependencyRule {
from invar : UML2!"uml::Dependency" (thisModule.DependencyGuard(invar))
to Dependencyvar : UML2!Dependency (
name <- invar.name,
visibility <- invar.visibility,
eAnnotations <- invar.eAnnotations,
ownedComment <- invar.ownedComment,
clientDependency <- invar.clientDependency,
nameExpression <- invar.nameExpression,
owningTemplateParameter <- invar.owningTemplateParameter,
templateParameter <- invar.templateParameter,
supplier <- invar.supplier,
client <- invar.client
)
do {

thisModule.copyStereoType(invar,Dependencyvar);
invar.debug('DependencyRule');
}
}

rule ElementImportRule {
from invar : UML2!"uml::ElementImport" (thisModule.ElementImportGuard(invar))
to ElementImportvar : UML2!ElementImport (
visibility <- invar.visibility,
alias <- invar.alias,
eAnnotations <- invar.eAnnotations,
ownedComment <- invar.ownedComment,
importedElement <- invar.importedElement,
importingNamespace <- invar.importingNamespace
)
do {

thisModule.copyStereoType(invar,ElementImportvar);
invar.debug('ElementImportRule');
}
}

rule PackageImportRule {
from invar : UML2!"uml::PackageImport" (thisModule.PackageImportGuard(invar))
to PackageImportvar : UML2!PackageImport (
visibility <- invar.visibility,
eAnnotations <- invar.eAnnotations,
ownedComment <- invar.ownedComment,
importedPackage <- invar.importedPackage,
importingNamespace <- invar.importingNamespace
)
do {

thisModule.copyStereoType(invar,PackageImportvar);
invar.debug('PackageImportRule');
}
}

rule ConstraintRule {
from invar : UML2!"uml::Constraint" (thisModule.ConstraintGuard(invar))
to Constraintvar : UML2!Constraint (
name <- invar.name,
visibility <- invar.visibility,
eAnnotations <- invar.eAnnotations,
ownedComment <- invar.ownedComment,
clientDependency <- invar.clientDependency,
nameExpression <- invar.nameExpression,
owningTemplateParameter <- invar.owningTemplateParameter,
templateParameter <- invar.templateParameter,
constrainedElement <- invar.constrainedElement,
specification <- invar.specification,
"context" <- invar."context"
)
do {

thisModule.copyStereoType(invar,Constraintvar);
invar.debug('ConstraintRule');
}
}

rule AssociationRule {
from invar : UML2!"uml::Association" (thisModule.AssociationGuard(invar))
to Associationvar : UML2!Association (
name <- invar.name,
visibility <- invar.visibility,
isLeaf <- invar.isLeaf,
isAbstract <- invar.isAbstract,
isDerived <- invar.isDerived,
eAnnotations <- invar.eAnnotations,
ownedComment <- invar.ownedComment,
clientDependency <- invar.clientDependency,
nameExpression <- invar.nameExpression,
elementImport <- invar.elementImport,
packageImport <- invar.packageImport,
ownedRule <- invar.ownedRule,
owningTemplateParameter <- invar.owningTemplateParameter,
templateParameter <- invar.templateParameter,
package <- invar.package,
templateBinding <- invar.templateBinding,
ownedTemplateSignature <- invar.ownedTemplateSignature,
generalization <- invar.generalization,
powertypeExtent <- invar.powertypeExtent,
redefinedClassifier <- invar.redefinedClassifier,
general <- invar.general,
substitution <- invar.substitution,
representation <- invar.representation,
collaborationUse <- invar.collaborationUse,
ownedUseCase <- invar.ownedUseCase,
useCase <- invar.useCase,
ownedEnd <- invar.ownedEnd,
memberEnd <- invar.memberEnd,
navigableOwnedEnd <- invar.navigableOwnedEnd
)
do {

thisModule.copyStereoType(invar,Associationvar);

invar.debug('AssociationRule');
}
}

rule TemplateBindingRule {
from invar : UML2!"uml::TemplateBinding" (thisModule.TemplateBindingGuard(invar))
to TemplateBindingvar : UML2!TemplateBinding (
eAnnotations <- invar.eAnnotations,
ownedComment <- invar.ownedComment,
signature <- invar.signature,
parameterSubstitution <- invar.parameterSubstitution,
boundElement <- invar.boundElement
)
do {

thisModule.copyStereoType(invar,TemplateBindingvar);
invar.debug('TemplateBindingRule');
}
}

rule TemplateSignatureRule {
from invar : UML2!"uml::TemplateSignature" (thisModule.TemplateSignatureGuard(invar))
to TemplateSignaturevar : UML2!TemplateSignature (
eAnnotations <- invar.eAnnotations,
ownedComment <- invar.ownedComment,
parameter <- invar.parameter,
ownedParameter <- invar.ownedParameter,
template <- invar.template
)
do {

thisModule.copyStereoType(invar,TemplateSignaturevar);
invar.debug('TemplateSignatureRule');
}
}

rule TemplateParameterRule {
from invar : UML2!"uml::TemplateParameter" (thisModule.TemplateParameterGuard(invar))
to TemplateParametervar : UML2!TemplateParameter (
eAnnotations <- invar.eAnnotations,
ownedComment <- invar.ownedComment,
signature <- invar.signature,
parameteredElement <- invar.parameteredElement,
ownedParameteredElement <- invar.ownedParameteredElement,
default <- invar.default,
ownedDefault <- invar.ownedDefault
)
do {

thisModule.copyStereoType(invar,TemplateParametervar);
invar.debug('TemplateParameterRule');
}
}

rule TemplateParameterSubstitutionRule {
from invar : UML2!"uml::TemplateParameterSubstitution" (thisModule.TemplateParameterSubstitutionGuard(invar))
to TemplateParameterSubstitutionvar : UML2!TemplateParameterSubstitution (
eAnnotations <- invar.eAnnotations,
ownedComment <- invar.ownedComment,
formal <- invar.formal,
actual <- invar.actual,
ownedActual <- invar.ownedActual,
templateBinding <- invar.templateBinding
)
do {

thisModule.copyStereoType(invar,TemplateParameterSubstitutio nvar);
invar.debug('TemplateParameterSubstitutionRule');
}
}

rule GeneralizationRule {
from invar : UML2!"uml::Generalization" (thisModule.GeneralizationGuard(invar))
to Generalizationvar : UML2!Generalization (
isSubstitutable <- invar.isSubstitutable,
eAnnotations <- invar.eAnnotations,
ownedComment <- invar.ownedComment,
general <- invar.general,
generalizationSet <- invar.generalizationSet,
specific <- invar.specific
)
do {
thisModule.copyStereoType(invar,Generalizationvar);
invar.debug('GeneralizationRule');
}
}

rule GeneralizationSetRule {
from invar : UML2!"uml::GeneralizationSet" (thisModule.GeneralizationSetGuard(invar))
to GeneralizationSetvar : UML2!GeneralizationSet (
name <- invar.name,
visibility <- invar.visibility,
isCovering <- invar.isCovering,
isDisjoint <- invar.isDisjoint,
eAnnotations <- invar.eAnnotations,
ownedComment <- invar.ownedComment,
clientDependency <- invar.clientDependency,
nameExpression <- invar.nameExpression,
owningTemplateParameter <- invar.owningTemplateParameter,
templateParameter <- invar.templateParameter,
powertype <- invar.powertype,
generalization <- invar.generalization
)
do {

thisModule.copyStereoType(invar,GeneralizationSetvar);
invar.debug('GeneralizationSetRule');
}
}

rule SubstitutionRule {
from invar : UML2!"uml::Substitution" (thisModule.SubstitutionGuard(invar))
to Substitutionvar : UML2!Substitution (
name <- invar.name,
visibility <- invar.visibility,
eAnnotations <- invar.eAnnotations,
ownedComment <- invar.ownedComment,
clientDependency <- invar.clientDependency,
nameExpression <- invar.nameExpression,
owningTemplateParameter <- invar.owningTemplateParameter,
templateParameter <- invar.templateParameter,
supplier <- invar.supplier,
client <- invar.client,
mapping <- invar.mapping,
contract <- invar.contract,
substitutingClassifier <- invar.substitutingClassifier
)
do {

thisModule.copyStereoType(invar,Substitutionvar);
invar.debug('SubstitutionRule');
}
}

rule RealizationRule {
from invar : UML2!"uml::Realization" (thisModule.RealizationGuard(invar))
to Realizationvar : UML2!Realization (
name <- invar.name,
visibility <- invar.visibility,
eAnnotations <- invar.eAnnotations,
ownedComment <- invar.ownedComment,
clientDependency <- invar.clientDependency,
nameExpression <- invar.nameExpression,
owningTemplateParameter <- invar.owningTemplateParameter,
templateParameter <- invar.templateParameter,
supplier <- invar.supplier,
client <- invar.client,
mapping <- invar.mapping
)
do {

thisModule.copyStereoType(invar,Realizationvar);
invar.debug('RealizationRule');
}
}

rule AbstractionRule {
from invar : UML2!"uml::Abstraction" (thisModule.AbstractionGuard(invar))
to Abstractionvar : UML2!Abstraction (
name <- invar.name,
visibility <- invar.visibility,
eAnnotations <- invar.eAnnotations,
ownedComment <- invar.ownedComment,
clientDependency <- invar.clientDependency,
nameExpression <- invar.nameExpression,
owningTemplateParameter <- invar.owningTemplateParameter,
templateParameter <- invar.templateParameter,
supplier <- invar.supplier,
client <- invar.client,
mapping <- invar.mapping
)
do {

thisModule.copyStereoType(invar,Abstractionvar);
invar.debug('AbstractionRule');
}
}

rule OpaqueExpressionRule {
from invar : UML2!"uml::OpaqueExpression" (thisModule.OpaqueExpressionGuard(invar))
to OpaqueExpressionvar : UML2!OpaqueExpression (
name <- invar.name,
visibility <- invar.visibility,
body <- invar.body,
language <- invar.language,
eAnnotations <- invar.eAnnotations,
ownedComment <- invar.ownedComment,
clientDependency <- invar.clientDependency,
nameExpression <- invar.nameExpression,
owningTemplateParameter <- invar.owningTemplateParameter,
templateParameter <- invar.templateParameter,
type <- invar.type,
behavior <- invar.behavior
)
do {

thisModule.copyStereoType(invar,OpaqueExpressionvar);
invar.debug('OpaqueExpressionRule');
}
}

rule ParameterRule {
from invar : UML2!"uml::Parameter" (thisModule.ParameterGuard(invar))
to Parametervar : UML2!Parameter (
name <- invar.name,
visibility <- invar.visibility,
isOrdered <- invar.isOrdered,
isUnique <- invar.isUnique,
upper <- invar.upper,
lower <- invar.lower,
direction <- invar.direction,
default <- invar.default,
isException <- invar.isException,
isStream <- invar.isStream,
effect <- invar.effect,
eAnnotations <- invar.eAnnotations,
ownedComment <- invar.ownedComment,
clientDependency <- invar.clientDependency,
nameExpression <- invar.nameExpression,
type <- invar.type,
owningTemplateParameter <- invar.owningTemplateParameter,
templateParameter <- invar.templateParameter,
end <- invar.end,
upperValue <- invar.upperValue,
lowerValue <- invar.lowerValue,
parameterSet <- invar.parameterSet,
defaultValue <- invar.defaultValue
)
do {

thisModule.copyStereoType(invar,Parametervar);
invar.debug('ParameterRule');
}
}

rule ConnectableElementTemplateParameterRule {
from invar : UML2!"uml::ConnectableElementTemplateParameter" (thisModule.ConnectableElementTemplateParameterGuard(invar))
to ConnectableElementTemplateParametervar : UML2!ConnectableElementTemplateParameter (
eAnnotations <- invar.eAnnotations,
ownedComment <- invar.ownedComment,
signature <- invar.signature,
parameteredElement <- invar.parameteredElement,
ownedParameteredElement <- invar.ownedParameteredElement,
default <- invar.default,
ownedDefault <- invar.ownedDefault
)
do {

thisModule.copyStereoType(invar,ConnectableElementTemplatePa rametervar);
invar.debug('ConnectableElementTemplateParameterRule');
}
}

rule ConnectorEndRule {
from invar : UML2!"uml::ConnectorEnd" (thisModule.ConnectorEndGuard(invar))
to ConnectorEndvar : UML2!ConnectorEnd (
isOrdered <- invar.isOrdered,
isUnique <- invar.isUnique,
upper <- invar.upper,
lower <- invar.lower,
eAnnotations <- invar.eAnnotations,
ownedComment <- invar.ownedComment,
upperValue <- invar.upperValue,
lowerValue <- invar.lowerValue,
partWithPort <- invar.partWithPort,
role <- invar.role
)
do {

thisModule.copyStereoType(invar,ConnectorEndvar);
invar.debug('ConnectorEndRule');
}
}

rule PropertyRule {
from invar : UML2!"uml::Property" (thisModule.PropertyGuard(invar))
to Propertyvar : UML2!Property (
name <- invar.name,
visibility <- invar.visibility,
isLeaf <- invar.isLeaf,
isStatic <- invar.isStatic,
isOrdered <- invar.isOrdered,
isUnique <- invar.isUnique,
upper <- invar.upper,
lower <- invar.lower,
isReadOnly <- invar.isReadOnly,
isDerived <- invar.isDerived,
isDerivedUnion <- invar.isDerivedUnion,
default <- invar.default,
aggregation <- invar.aggregation,
isComposite <- invar.isComposite,
eAnnotations <- invar.eAnnotations,
ownedComment <- invar.ownedComment,
clientDependency <- invar.clientDependency,
nameExpression <- invar.nameExpression,
type <- invar.type,
upperValue <- invar.upperValue,
lowerValue <- invar.lowerValue,
owningTemplateParameter <- invar.owningTemplateParameter,
templateParameter <- invar.templateParameter,
end <- invar.end,
deployment <- invar.deployment,
templateBinding <- invar.templateBinding,
ownedTemplateSignature <- invar.ownedTemplateSignature,
datatype <-invar.datatype,
redefinedProperty <- invar.redefinedProperty,
owningAssociation <- invar.owningAssociation,
defaultValue <- invar.defaultValue,
--opposite <- invar.opposite,
subsettedProperty <- invar.subsettedProperty,
association <- invar.association,
qualifier <- invar.qualifier,
associationEnd <- invar.associationEnd
)
do {

thisModule.copyStereoType(invar,Propertyvar);
invar.debug('PropertyRule');
}
}

rule DeploymentRule {
from invar : UML2!"uml::Deployment" (thisModule.DeploymentGuard(invar))
to Deploymentvar : UML2!Deployment (
name <- invar.name,
visibility <- invar.visibility,
eAnnotations <- invar.eAnnotations,
ownedComment <- invar.ownedComment,
clientDependency <- invar.clientDependency,
nameExpression <- invar.nameExpression,
owningTemplateParameter <- invar.owningTemplateParameter,
templateParameter <- invar.templateParameter,
supplier <- invar.supplier,
client <- invar.client,
deployedArtifact <- invar.deployedArtifact,
configuration <- invar.configuration,
location <- invar.location
)
do {

thisModule.copyStereoType(invar,Deploymentvar);
invar.debug('DeploymentRule');
}
}

rule DeploymentSpecificationRule {
from invar : UML2!"uml::DeploymentSpecification" (thisModule.DeploymentSpecificationGuard(invar))
to DeploymentSpecificationvar : UML2!DeploymentSpecification (
name <- invar.name,
visibility <- invar.visibility,
isLeaf <- invar.isLeaf,
isAbstract <- invar.isAbstract,
fileName <- invar.fileName,
deploymentLocation <- invar.deploymentLocation,
executionLocation <- invar.executionLocation,
eAnnotations <- invar.eAnnotations,
ownedComment <- invar.ownedComment,
clientDependency <- invar.clientDependency,
nameExpression <- invar.nameExpression,
elementImport <- invar.elementImport,
packageImport <- invar.packageImport,
ownedRule <- invar.ownedRule,
owningTemplateParameter <- invar.owningTemplateParameter,
templateParameter <- invar.templateParameter,
package <- invar.package,
templateBinding <- invar.templateBinding,
ownedTemplateSignature <- invar.ownedTemplateSignature,
generalization <- invar.generalization,
powertypeExtent <- invar.powertypeExtent,
redefinedClassifier <- invar.redefinedClassifier,
general <- invar.general,
substitution <- invar.substitution,
representation <- invar.representation,
collaborationUse <- invar.collaborationUse,
ownedUseCase <- invar.ownedUseCase,
useCase <- invar.useCase,
nestedArtifact <- invar.nestedArtifact,
manifestation <- invar.manifestation,
ownedOperation <- invar.ownedOperation,
ownedAttribute <- invar.ownedAttribute,
deployment <- invar.deployment
)
do {

thisModule.copyStereoType(invar,DeploymentSpecificationvar);
invar.debug('DeploymentSpecificationRule');
}
}

rul
Re: Reapplying a profile after its has be re-defined [message #625895 is a reply to message #476775] Sat, 12 January 2008 14:35 Go to previous message
Anders W. Tell is currently offline Anders W. TellFriend
Messages: 69
Registered: July 2009
Member
Kenn,
>
> To update applied stereotypes to a new definition of a profile, simply
> reapply the profile; tag values will be automatically be migrated on a
> best-effort basis.

Ok, how does one "Re-apply" the profile? (I cant see any menu item for
reapply, only unapply an apply) Do I have to make my own menu?



thanks for any help.

/anders
Re: Reapplying a profile after its has be re-defined [message #625897 is a reply to message #476847] Mon, 14 January 2008 14:52 Go to previous message
Kenn Hussey is currently offline Kenn HusseyFriend
Messages: 1620
Registered: July 2009
Senior Member
Anders,

Just apply it again using the same menu item you used when you first applied
it...

Kenn

"Anders W.Tell" <opensource@toolsmiths.se> wrote in message
news:fmaj6q$r6b$1@build.eclipse.org...
> Kenn,
>>
>> To update applied stereotypes to a new definition of a profile, simply
>> reapply the profile; tag values will be automatically be migrated on a
>> best-effort basis.
>
> Ok, how does one "Re-apply" the profile? (I cant see any menu item for
> reapply, only unapply an apply) Do I have to make my own menu?
>
>
>
> thanks for any help.
>
> /anders
Previous Topic:Primitive Type reuse
Next Topic:State diagram for the component
Goto Forum:
  


Current Time: Thu Mar 28 16:35:11 GMT 2024

Powered by FUDForum. Page generated in 0.06310 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top