Requiremt export [message #1705962] |
Thu, 20 August 2015 13:04  |
Eclipse User |
|
|
|
Hi all,
I'd like to export a SysML Requirement drawn from a Papyrusmodel xm file into a
Word document by Gendoc. I'm a bit confused because they are represented diffrently from a block. Is there an example to follow?
thx David
|
|
|
Re: Requiremt export [message #1706137 is a reply to message #1705962] |
Mon, 24 August 2015 07:04   |
Eclipse User |
|
|
|
To export your requirements from Papyrus models you just have to create a template as defined in the tutorial.
for the Context tag :
select your uml file containing the requirements, if you don't generate diagrams you don't need to import Papyrus bundles
for the Gendoc tag :
Requirements are classes with the Requirement Stereotype so if you want to extract them :
// from a package :
[for (r : uml::Class | self.packagedElement->select(not getAppliedStereotype('SysML::Requirements::Requirement').oclIsUndefined()))]
...
[/for]
// using all Instances :
[for (r : uml::Class | uml::Class.allInstances()->select(not getAppliedStereotype('SysML::Requirements::Requirement').oclIsUndefined()))]
...
[/for]
To get name, ID or text attribute of your Requirement r
name: [r.name.clean()/]
id : [r.getValue(getAppliedStereotype('SysML::Requirements::Requirement'),'id')/]
text : [r.getValue(getAppliedStereotype('SysML::Requirements::Requirement'),'text')/]
|
|
|
Re: Requiremt export [message #1706504 is a reply to message #1706137] |
Thu, 27 August 2015 12:26   |
Eclipse User |
|
|
|
Hi all,
it worked fine with the provided statements thx a lot.
But I didn't get why this statement
->select(not getAppliedStereotype('SysML::Requirements::Requirement').oclIsUndefined()
provides the
Req-id and Req-text , which are stored in parallel to the model tag within the model.uml file? There is no reference to follow in the uml:Class tag representing the Requirement within the intended package.
I'd like to understand it
thx David
|
|
|
Re: Requiremt export [message #1706506 is a reply to message #1706504] |
Thu, 27 August 2015 12:32   |
Eclipse User |
|
|
|
I'm not sure to understand your issue
this line :
->select(not getAppliedStereotype('SysML::Requirements::Requirement').oclIsUndefined()
select the element that have requirement stereotype applied
The instances of stereotypes references the uml element but the invert is not the case that's why you have to use API :
getAppliedStereotype or getValue
|
|
|
Re: Requiremt export [message #1706517 is a reply to message #1706506] |
Thu, 27 August 2015 13:20   |
Eclipse User |
|
|
|
but you launch the select function on the package and the package looks like this (see below)
There is no element holding the stereo type 'SysML::Requirements::Requirement' within the package?
That's why I'm confused. Sorry
Bye David
<packagedElement xmi:type="uml:Package" xmi:id="_mWtMcEcGEeWrNbF9oWBi-A" name="p_Standorfaktoren_Turmfuß">
...
<packagedElement xmi:type="uml:Class" xmi:id="_jaKJgEcLEeWrNbF9oWBi-A" name="r_Netzspannung 230VAC"/>
<packagedElement xmi:type="uml:Class" xmi:id="_OcYLMEcPEeWrNbF9oWBi-A" name="r_Netzspannung 110VAC"/>
<packagedElement xmi:type="uml:Class" xmi:id="_F8vlEEcSEeWrNbF9oWBi-A" name="r_Netzspannung Frequenztoleranzen"/>
<packagedElement xmi:type="uml:Class" xmi:id="_vUdz0EcVEeWrNbF9oWBi-A" name="r_Netzspannung Spannungstoleranzen 1"/>
<packagedElement xmi:type="uml:Class" xmi:id="_Ufit4EcXEeWrNbF9oWBi-A" name="r_Netzspannung Spannungstoleranzen 2"/>
<packagedElement xmi:type="uml:Class" xmi:id="_sXPi0EcXEeWrNbF9oWBi-A" name="r_Netzspannung Spannungstoleranzen 3"/>
<packagedElement xmi:type="uml:Abstraction" xmi:id="_5L9WAEcYEeWrNbF9oWBi-A" name="DeriveReqt1" client="_vUdz0EcVEeWrNbF9oWBi-A" supplier="_-73SYEcIEeWrNbF9oWBi-A"/>
<packagedElement xmi:type="uml:Abstraction" xmi:id="_7MBJQEcYEeWrNbF9oWBi-A" name="DeriveReqt2" client="_Ufit4EcXEeWrNbF9oWBi-A" supplier="_-73SYEcIEeWrNbF9oWBi-A"/>
...
</packagedElement>
|
|
|
Re: Requiremt export [message #1706803 is a reply to message #1706517] |
Mon, 31 August 2015 09:35  |
Eclipse User |
|
|
|
OK i understand your concern
instances of stereotypes (like SysML::Requirements) are located at the end of the file and references (through base_...) the element with the stereotype applied.
As there is no reference between the class and the requirement you have to use getApplyStereotype functions
|
|
|
Powered by
FUDForum. Page generated in 0.03780 seconds