Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » M2T (model-to-text transformation) » Template returns "invalid" after switching from "Acceleo Plug-in Application" to(Template returns "invalid" after switching from "Acceleo Plug-in Application" to "Java Application")
Template returns "invalid" after switching from "Acceleo Plug-in Application" to [message #1782558] Mon, 26 February 2018 13:16 Go to next message
Frank Poppen is currently offline Frank PoppenFriend
Messages: 21
Registered: February 2018
Junior Member
What I want to do:
===================
I'm working with a SysML Model. I want to find all "Requirements" that are part of my "SysML" model and check what "Block" should fulfill the requirement. The following Acceleo template code does mainly do what I need (as a test case):

[for (aRequirement : Requirement | collectionOfAllRequirements())]
  aRequirement: [aRequirement/]
    aRequirement.satisfiedBy: [aRequirement.satisfiedBy/]
  [for (satisfyingBlock : NamedElement | aRequirement.satisfiedBy)]
      satisfyingBlock.name: [satisfyingBlock.name/]
  [/for]
[/for]


The resulting output is is:

	  
aRequirement: org.eclipse.papyrus.sysml14.requirements.RequirementCustomImpl@1f65433a (id: CONTRACT_System, text: 
A: Input occurs every 33ms with jitter 5ms.
G: Reaction(Input,Output) within [0,33]ms.)

  aRequirement.satisfiedBy: org.eclipse.uml2.uml.internal.impl.ClassImpl@4f33c0de (name: BLOCK_System, visibility: <unset>) (isLeaf: false, isAbstract: false, isFinalSpecialization: false) (isActive: false)

    satisfyingBlock.name: BLOCK_System


Which is correct: I have a requirement named "CONTRACT_System" which is to be fulfilled by the block "BLOCK_System"

PROBLEM:
=========
Due to the issue https://www.eclipse.org/forums/index.php/t/1091816/ I learned that I should no longer use the "Acceleo Plug-in Application" and I switched to "Java Application". With this the same code now generates an invalid return:

aRequirement: org.eclipse.papyrus.sysml14.requirements.internal.impl.RequirementImpl@2f9a01c1 (id: CONTRACT_System, text: 
A: Input occurs every 33ms with jitter 5ms.
G: Reaction(Input,Output) within [0,33]ms.)

  aRequirement.satisfiedBy: invalid


With the "invalid" of course I get messages like: "Invalid loop iteration at line 41 in Module moduleBlock for block for (aRequirement.satisfiedBy)"

QUESTION:
==========
How come that "[aRequirement.satisfiedBy/]" suddenly becomes invalid when I change the runtime environment? Something else that needs to be done when switching from "Acceleo Plug-in Application" to "Java Application"? What are the difference between the two?
Re: Template returns "invalid" after switching from "Acceleo Plug-in Application" [message #1782559 is a reply to message #1782558] Mon, 26 February 2018 13:32 Go to previous messageGo to next message
Ed Willink is currently offline Ed WillinkFriend
Messages: 7655
Registered: July 2009
Senior Member
Hi

"invalid" is a bottom line summary that something went wrong preventing a successful OCL/Acceleo evaluation. There are numerous possibilities. Model registrations and consequently proxies being the most likely.

Regards

Ed Willink
Re: Template returns "invalid" after switching from "Acceleo Plug-in Application& [message #1782571 is a reply to message #1782559] Mon, 26 February 2018 15:06 Go to previous messageGo to next message
Frank Poppen is currently offline Frank PoppenFriend
Messages: 21
Registered: February 2018
Junior Member
I'm not sure, if the last answer involved all of the situation I described above. But I'm also very new to all of this. So let me rephrase.

The template works with "Acceleo Plug-in Application"
The template does NOT work with "Java Application"

I created another test as follows:

[aRequirement.base_Class.name/].derived : [aRequirement.derived/]
[aRequirement.base_Class.name/].derivedFrom : [aRequirement.derivedFrom/]
[aRequirement.base_Class.name/].id : [aRequirement.id/]
[aRequirement.base_Class.name/].master : [aRequirement.master/]
[aRequirement.base_Class.name/].refinedBy : [aRequirement.refinedBy/]
[aRequirement.base_Class.name/].satisfiedBy : [aRequirement.satisfiedBy/]
[aRequirement.base_Class.name/].text : [aRequirement.text/]
[aRequirement.base_Class.name/].tracedTo : [aRequirement.tracedTo/]
[aRequirement.base_Class.name/].verifiedBy : [aRequirement.verifiedBy/]


The result that returns with "Acceleo Plug-in Application" is:

CONTRACT_System.derived : 
CONTRACT_System.derivedFrom : 
CONTRACT_System.id : CONTRACT_System
CONTRACT_System.master : 
CONTRACT_System.refinedBy : 
CONTRACT_System.satisfiedBy : org.eclipse.uml2.uml.internal.impl.ClassImpl@36f40ddf (name: BLOCK_System, visibility: <unset>) (isLeaf: false, isAbstract: false, isFinalSpecialization: false) (isActive: false)
CONTRACT_System.text : 
A: Input occurs every 33ms with jitter 5ms.
G: Reaction(Input,Output) within [0,33]ms.
CONTRACT_System.tracedTo : 
CONTRACT_System.verifiedBy : 


If I change the configuration to "Java Application" (and change nothing else) I get:

CONTRACT_System.derived : invalid
CONTRACT_System.derivedFrom : invalid
CONTRACT_System.id : CONTRACT_System
CONTRACT_System.master : invalid
CONTRACT_System.refinedBy : invalid
CONTRACT_System.satisfiedBy : invalid
CONTRACT_System.text : 
A: Input occurs every 33ms with jitter 5ms.
G: Reaction(Input,Output) within [0,33]ms.
CONTRACT_System.tracedTo : invalid
CONTRACT_System.verifiedBy : invalid



What else besides switching the configuration to "Java Application" has to be configured to make this work (again)?

Especially: "CONTRACT_System.id" and "CONTRACT_System.text " are working for both cases. So after change, the template is not broken completely. What is the difference between the call to ".id" and ".satisfiedBy"? (The first working, the second not working.)

[Updated on: Mon, 26 February 2018 15:09]

Report message to a moderator

Re: Template returns "invalid" after switching from "Acceleo Plug-in Application& [message #1782572 is a reply to message #1782571] Mon, 26 February 2018 15:30 Go to previous messageGo to next message
Ed Willink is currently offline Ed WillinkFriend
Messages: 7655
Registered: July 2009
Senior Member
Hi

If you want constructive help you have to provide a repro.

The old Plugin launch was a plugin launch and so all plugin registrations were provided automatically.

The Java launch is a standalone launch so only what you declare is registered. Of course if Acceleo used the EcorePlugin.ExtensionProcessor, everything on the classpath might be visible, but even then you have a fundamentally different environment platform:-wise.

Regards

Ed Willink

Re: Template returns "invalid" after switching from "Acceleo Plug-in Application& [message #1782635 is a reply to message #1782572] Tue, 27 February 2018 10:00 Go to previous messageGo to next message
Laurent Goubet is currently offline Laurent GoubetFriend
Messages: 1902
Registered: July 2009
Senior Member
Hello Frank,

"Acceleo plug-in application" was trying to run your generator in the context of your current eclipse.
"Acceleo Java application" is running your generator in standalone.

What this means is that for the second, you have to be careful to properly register all required packages and profiles. In your case, I'll wager you're missing the registration for SysML.

Please check that the "registerResourceFactories" method in your generated launcher has the line "UMLResourcesUtil.init(resourceSet)" so that everything from the UML side is properly registered.

As for SysML, there is no "all-in-one" utility method to properly set it up as far as I recall. You should raise a bug against Papyrus so that they provide a "SysMLResourcesUtil.init(...)" that will take care of registrations as the UMLResourcesUtil does for UML.

At the very least, you will need the following, hopefully I'm not forgetting too many:

resourceSet.getPackageRegistry().put(SysmlPackage.eNS_URI, SysmlPackage.eINSTANCE);
resourceSet.getPackageRegistry().put(BlocksPackage.eNS_URI, BlocksPackage.eINSTANCE);

uri = URI.createURI("platform:/plugin/org.eclipse.papyrus.sysml14");
uriMap.put(URI.createURI(SysMLResource.LIBRARIES_PATHMAP), uri.appendSegment("libraries").appendSegment(""));
uriMap.put(URI.createURI(SysmlResource.PROFILES_PATHMAP), uri.appendSegment("model").appendSegment("")); 


Laurent Goubet
Obeo
Re: Template returns "invalid" after switching from "Acceleo Plug-in Application& [message #1782636 is a reply to message #1782572] Tue, 27 February 2018 10:03 Go to previous messageGo to next message
Frank Poppen is currently offline Frank PoppenFriend
Messages: 21
Registered: February 2018
Junior Member
OK, I striped my project down to a minimum example project to be found at:

https://github.com/pipsoft/AcceleoIssueWithInvalids

If you run it with "Acceleo Plug-in Application" and open the generated file "src-gen/CONTRACT_System.txt" you see

RELEVANT
===============
CONTRACT_System.id : CONTRACT_System
CONTRACT_System.satisfiedBy : BLOCK_System
CONTRACT_System.text : 
A: Input occurs every 33ms with jitter 5ms.
G: Reaction(Input,Output) within [0,33]ms.

EXTRA
===============
CONTRACT_System.derived : 
CONTRACT_System.derivedFrom : 
CONTRACT_System.master : 
CONTRACT_System.refinedBy : 
CONTRACT_System.tracedTo : 
CONTRACT_System.verifiedBy : 


If you change the configuration to "Java Application" you will get:

RELEVANT
===============
CONTRACT_System.id : CONTRACT_System
CONTRACT_System.satisfiedBy : invalid
CONTRACT_System.text : 
A: Input occurs every 33ms with jitter 5ms.
G: Reaction(Input,Output) within [0,33]ms.

EXTRA
===============
CONTRACT_System.derived : invalid
CONTRACT_System.derivedFrom : invalid
CONTRACT_System.master : invalid
CONTRACT_System.refinedBy : invalid
CONTRACT_System.tracedTo : invalid
CONTRACT_System.verifiedBy : invalid
Re: Template returns "invalid" after switching from "Acceleo Plug-in Application& [message #1782638 is a reply to message #1782635] Tue, 27 February 2018 10:13 Go to previous messageGo to next message
Frank Poppen is currently offline Frank PoppenFriend
Messages: 21
Registered: February 2018
Junior Member
Thanks a lot! I will have a look into this. Wasn't aware of this answer when I uploaded my Repro. We did this at the same time (3 minutes apart) :-)

[Updated on: Tue, 27 February 2018 10:14]

Report message to a moderator

Re: Template returns "invalid" after switching from "Acceleo Plug-in Application& [message #1782709 is a reply to message #1782638] Wed, 28 February 2018 08:16 Go to previous messageGo to next message
Frank Poppen is currently offline Frank PoppenFriend
Messages: 21
Registered: February 2018
Junior Member
Update:
=================
We were working on this quite some time yesterday, but did not find the solution yet. Today I will (have to) with a debugger step through the working runtime and in parallel through the not working runtime, to figure out what the difference is. Hope I find something.

What I understand:
===================
In the meantime I got it, that we are not only talking about compiling/linking but also the execution where things have to be registered in a factory. Laurent Goubet answer gave me a good inside into this, but the Acceleo generated code already seems to contain all of this:

public void registerPackages(ResourceSet resourceSet) {
        super.registerPackages(resourceSet);
        if (!isInWorkspace(org.eclipse.uml2.uml.UMLPackage.class)) {
            resourceSet.getPackageRegistry().put(org.eclipse.uml2.uml.UMLPackage.eINSTANCE.getNsURI(), org.eclipse.uml2.uml.UMLPackage.eINSTANCE);
        }
        if (!isInWorkspace(org.eclipse.papyrus.sysml14.sysmlPackage.class)) {
            resourceSet.getPackageRegistry().put(org.eclipse.papyrus.sysml14.sysmlPackage.eINSTANCE.getNsURI(), org.eclipse.papyrus.sysml14.sysmlPackage.eINSTANCE);
        }
        if (!isInWorkspace(org.eclipse.papyrus.sysml14.activities.ActivitiesPackage.class)) {
            resourceSet.getPackageRegistry().put(org.eclipse.papyrus.sysml14.activities.ActivitiesPackage.eINSTANCE.getNsURI(), org.eclipse.papyrus.sysml14.activities.ActivitiesPackage.eINSTANCE);
        }
        if (!isInWorkspace(org.eclipse.papyrus.sysml14.allocations.AllocationsPackage.class)) {
            resourceSet.getPackageRegistry().put(org.eclipse.papyrus.sysml14.allocations.AllocationsPackage.eINSTANCE.getNsURI(), org.eclipse.papyrus.sysml14.allocations.AllocationsPackage.eINSTANCE);
        }
        if (!isInWorkspace(org.eclipse.papyrus.sysml14.blocks.BlocksPackage.class)) {
            resourceSet.getPackageRegistry().put(org.eclipse.papyrus.sysml14.blocks.BlocksPackage.eINSTANCE.getNsURI(), org.eclipse.papyrus.sysml14.blocks.BlocksPackage.eINSTANCE);
        }
        if (!isInWorkspace(org.eclipse.papyrus.sysml14.constraintblocks.ConstraintblocksPackage.class)) {
            resourceSet.getPackageRegistry().put(org.eclipse.papyrus.sysml14.constraintblocks.ConstraintblocksPackage.eINSTANCE.getNsURI(), org.eclipse.papyrus.sysml14.constraintblocks.ConstraintblocksPackage.eINSTANCE);
        }
        if (!isInWorkspace(org.eclipse.papyrus.sysml14.deprecatedelements.DeprecatedelementsPackage.class)) {
            resourceSet.getPackageRegistry().put(org.eclipse.papyrus.sysml14.deprecatedelements.DeprecatedelementsPackage.eINSTANCE.getNsURI(), org.eclipse.papyrus.sysml14.deprecatedelements.DeprecatedelementsPackage.eINSTANCE);
        }
        if (!isInWorkspace(org.eclipse.papyrus.sysml14.portsandflows.PortsandflowsPackage.class)) {
            resourceSet.getPackageRegistry().put(org.eclipse.papyrus.sysml14.portsandflows.PortsandflowsPackage.eINSTANCE.getNsURI(), org.eclipse.papyrus.sysml14.portsandflows.PortsandflowsPackage.eINSTANCE);
        }
        if (!isInWorkspace(org.eclipse.papyrus.sysml14.modelelements.ModelelementsPackage.class)) {
            resourceSet.getPackageRegistry().put(org.eclipse.papyrus.sysml14.modelelements.ModelelementsPackage.eINSTANCE.getNsURI(), org.eclipse.papyrus.sysml14.modelelements.ModelelementsPackage.eINSTANCE);
        }
        if (!isInWorkspace(org.eclipse.papyrus.sysml14.requirements.RequirementsPackage.class)) {
            resourceSet.getPackageRegistry().put(org.eclipse.papyrus.sysml14.requirements.RequirementsPackage.eINSTANCE.getNsURI(), org.eclipse.papyrus.sysml14.requirements.RequirementsPackage.eINSTANCE);
        }


Never the less I added also to "registerResourceFactories" the following (which, too, did not do the trick):

resourceSet.getPackageRegistry().put(UMLPackage.eNS_URI,                UMLPackage.eINSTANCE               );
resourceSet.getPackageRegistry().put(sysmlPackage.eNS_URI,              sysmlPackage.eINSTANCE             );
resourceSet.getPackageRegistry().put(ActivitiesPackage.eNS_URI,         ActivitiesPackage.eINSTANCE        );
resourceSet.getPackageRegistry().put(AllocationsPackage.eNS_URI,        AllocationsPackage.eINSTANCE       );
resourceSet.getPackageRegistry().put(BlocksPackage.eNS_URI,             BlocksPackage.eINSTANCE            );
resourceSet.getPackageRegistry().put(ConstraintblocksPackage.eNS_URI,   ConstraintblocksPackage.eINSTANCE  );
resourceSet.getPackageRegistry().put(DeprecatedelementsPackage.eNS_URI, DeprecatedelementsPackage.eINSTANCE);
resourceSet.getPackageRegistry().put(PortsandflowsPackage.eNS_URI,      PortsandflowsPackage.eINSTANCE     );
resourceSet.getPackageRegistry().put(ModelelementsPackage.eNS_URI,      ModelelementsPackage.eINSTANCE     );
resourceSet.getPackageRegistry().put(RequirementsPackage.eNS_URI,       RequirementsPackage.eINSTANCE      );


Unless I don't receive further ideas, like I wrote, I will have to step through the code to figure this out.

=====================================================================================
IMPORTANT QUESTION: Is Accello mature enough to be used in a productive environment?
=====================================================================================

(Created a new Issue on this: https://www.eclipse.org/forums/index.php/m/1782710/#msg_1782710)

[Updated on: Wed, 28 February 2018 08:22]

Report message to a moderator

Re: Template returns "invalid" after switching from "Acceleo Plug-in Application& [message #1782711 is a reply to message #1782709] Wed, 28 February 2018 08:38 Go to previous messageGo to next message
Ed Willink is currently offline Ed WillinkFriend
Messages: 7655
Registered: July 2009
Senior Member
Hi

(Repetitious code such as your example that has five repeats of each declaration really should be refactored into a helper method that uses only one. It is far too easy to make copy paste errors.)

Bad registration leading to bad Resource and consequent proxy issues are one of the most common problems in non-trivial EMF applications.

Insight into more than one Resource (metamodel schizophrenia) problems can be gained by instrumenting a println in all Resource constructors.

Insight into no Resource problems can be tackled by stepping from a breakpoint set on the catch retry about 17 lines into EcoreUtil.resolve(EObject proxy, ResourceSet resourceSet)

EMF is well-behaved. Checkout/Import a copy of org.eclipse.emf.ecore and/or org.eclipse.emf.ecore.xmi into your workspace and add instrumentation code. Don't check out all of EMF since you do not need to worry about the complexities of JET templates.

Once you have finished, close the EMF projects and restart Eclipse; another example of Eclipse not updating correctly after a change. You may want to actually delete the EMF projects to avoid obscure problems from careless code that uses closed siblings of workspace projects.

Regards

Ed Willink
Re: Template returns "invalid" after switching from "Acceleo Plug-in Application& [message #1782771 is a reply to message #1782711] Thu, 01 March 2018 08:58 Go to previous messageGo to next message
Laurent Goubet is currently offline Laurent GoubetFriend
Messages: 1902
Registered: July 2009
Senior Member
Frank,

You shouldn't be doing any registration for UML. As I mentionned above, everything from UML will be (and should be) handled through UMLResourcesUtil.init(resourceSet). You do not want to do anything else than that.

The problem is papyrus and what should be registered to use its metamodels and profiles in standalone. You are not registering any of its profiles, so that will be something that cannot work on your generation. See my previous message for the minimum you need, knowing that there might be a few things missing from this that you should ask to the papyrus team either through their forum or the bugzilla:

resourceSet.getPackageRegistry().put(SysmlPackage.eNS_URI, SysmlPackage.eINSTANCE);
resourceSet.getPackageRegistry().put(BlocksPackage.eNS_URI, BlocksPackage.eINSTANCE);

uri = URI.createURI("platform:/plugin/org.eclipse.papyrus.sysml14");
resourceSet.getURIConverter().getURIMap().put(URI.createURI(SysMLResource.LIBRARIES_PATHMAP), uri.appendSegment("libraries").appendSegment(""));
resourceSet.getURIConverter().getURIMap().put(URI.createURI(SysmlResource.PROFILES_PATHMAP), uri.appendSegment("model").appendSegment("")); 


Laurent Goubet
Obeo
Re: Template returns "invalid" after switching from "Acceleo Plug-in Application& [message #1782772 is a reply to message #1782771] Thu, 01 March 2018 09:16 Go to previous messageGo to next message
Ed Willink is currently offline Ed WillinkFriend
Messages: 7655
Registered: July 2009
Senior Member
Hi

I've raised https://bugs.eclipse.org/bugs/show_bug.cgi?id=531840 to request a SysMLResourcesUtil.init().

Regards

Ed Willink
Re: Template returns "invalid" after switching from "Acceleo Plug-in Application& [message #1782779 is a reply to message #1782772] Thu, 01 March 2018 10:29 Go to previous messageGo to next message
Frank Poppen is currently offline Frank PoppenFriend
Messages: 21
Registered: February 2018
Junior Member
I'm worried, that my questions are getting more stupid:

1.) I cannot find 'UMLResourcesUtil.init()'. What I seem to find is the information "Java Code Examples for org.eclipse.uml2.uml.resources.util.UMLResourcesUtil.init() ", but completion in my project leads me to "import org.eclipse.uml2.uml.resource.*" no "resources" and especially no 'UMLResourcesUtil.init()'. I'm confused once more.

2.) Why would I even need 'UMLResourcesUtil.init()'. As it seems to me UML2 is working just fine. Look at the trace example above. I do receive UML information like 'name' and 'text' so I would say that UML is fully functional I hope. Then again I do not see the 'UMLResourcesUtil.init()' being called to enable this.
Re: Template returns "invalid" after switching from "Acceleo Plug-in Application& [message #1782783 is a reply to message #1782779] Thu, 01 March 2018 11:05 Go to previous messageGo to next message
Ed Willink is currently offline Ed WillinkFriend
Messages: 7655
Registered: July 2009
Senior Member
Hi

Completion assist is never likely to be perfect so you should always treat it with caution. Sometimes it just doesn't work for me. Sometimes I find that the required completion is sometimes ridiculously far down the list of choices. If you choose the 'wrong' assistance you may dig a hole by having wrong declarations occluding what you want. If in doubt use Control-Shift-T to find the type of interest than manually construct the import. If Control-Shift-T doesn't show what you want, create a dummy plugin project that requires the plugins that are interesting to you. (JDT hides everything that you are not using anywhere.)

UMLResourcesUtil.init() does full initialization. Partial initialization may work fine today, but you just create a significant risk of obscure problems later. (You might have a car that you can drive just fine during the day, but if it has no headlights, driving at night is challenging.)

Regards

Ed Willink
Re: Template returns "invalid" after switching from "Acceleo Plug-in Application& [message #1782787 is a reply to message #1782783] Thu, 01 March 2018 11:46 Go to previous messageGo to next message
Frank Poppen is currently offline Frank PoppenFriend
Messages: 21
Registered: February 2018
Junior Member
OK, the Acceleo project that was created using 'New->Acelleo Project' was missing in the plugin dependencies the 'org.eclipse.uml2.resources_5.3.0.v20170605-1616.jar'. I now added that from \Users\...\.p2\pool\plugins and finally found 'UMLResourcesUtil.init()'
Re: Template returns "invalid" after switching from "Acceleo Plug-in Application& [message #1782788 is a reply to message #1782787] Thu, 01 March 2018 12:05 Go to previous messageGo to next message
Frank Poppen is currently offline Frank PoppenFriend
Messages: 21
Registered: February 2018
Junior Member
Updated the repro at 'https://github.com/pipsoft/AcceleoIssueWithInvalids'

The 'registerResourceFactories(ResourceSet resourceSet)' now contains:

        UMLResourcesUtil.init(resourceSet);
        URI uri = URI.createURI("platform:/plugin/org.eclipse.papyrus.sysml14");
        Map<URI, URI> uriMap = resourceSet.getURIConverter().getURIMap();
        uriMap.put(URI.createURI(SysMLResource.LIBRARIES_PATHMAP), uri.appendSegment("libraries").appendSegment(""));
        uriMap.put(URI.createURI(SysMLResource.PROFILES_PATHMAP), uri.appendSegment("model").appendSegment(""));



It does not throw any errors but the 'invalid' remain. We keep working from here.

[Updated on: Thu, 01 March 2018 12:16]

Report message to a moderator

Re: Template returns "invalid" after switching from "Acceleo Plug-in Application& [message #1782867 is a reply to message #1782788] Fri, 02 March 2018 16:36 Go to previous message
Frank Poppen is currently offline Frank PoppenFriend
Messages: 21
Registered: February 2018
Junior Member
The code I mentioned above ...

uriMap.put(URI.createURI(SysMLResource.LIBRARIES_PATHMAP), uri.appendSegment("libraries").appendSegment(""));
uriMap.put(URI.createURI(SysMLResource.PROFILES_PATHMAP), uri.appendSegment("model").appendSegment(""));


... when I print-debug the content of the uriMap I see ...

pathmap://UML_PROFILES/StandardL3.profile.uml								pathmap://UML_PROFILES/Standard.profile.uml
pathmap://UML_PROFILES/StandardL2.profile.uml								pathmap://UML_PROFILES/Standard.profile.uml
pathmap://UML_PROFILES/Standard.profile.uml#_yzU58YinEdqtvbnfB2L_5w			http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/
pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2					pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml
pathmap://UML2_PROFILES/Basic.profile.uml2#_9vsGw686Edih9-GG5afQ0g			pathmap://UML_PROFILES/Standard.profile.uml#BuildComponent
pathmap://UML2_PROFILES/Basic.profile.uml2#_9vsGyK86Edih9-GG5afQ0g			pathmap://UML_PROFILES/Standard.profile.uml#BuildComponent-base_Component
pathmap://UML2_PROFILES/Basic.profile.uml2#_9vsGxq86Edih9-GG5afQ0g			pathmap://UML_PROFILES/Standard.profile.uml#Component_BuildComponent-extension_BuildComponent
pathmap://UML2_LIBRARIES/JavaPrimitiveTypes.library.uml2					pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml
pathmap://UML2_PROFILES/Complete.profile.uml2#_O1-5Ua87Edih9-GG5afQ0g		pathmap://UML_PROFILES/Standard.profile.uml#Model_Metamodel
pathmap://UML2_METAMODELS/UML2.metamodel.uml2								pathmap://UML_METAMODELS/UML.metamodel.uml
pathmap://UML2_PROFILES/Complete.profile.uml2#_O2E_8a87Edih9-GG5afQ0g		pathmap://UML_PROFILES/Standard.profile.uml#Model_SystemModel-extension_SystemModel
pathmap://UML2_LIBRARIES/EcorePrimitiveTypes.library.uml2					pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml
pathmap://UML2_PROFILES/Complete.profile.uml2#_O2E_8K87Edih9-GG5afQ0g		pathmap://UML_PROFILES/Standard.profile.uml#Model_SystemModel
pathmap://UML2_PROFILES/Complete.profile.uml2#_O2E_8687Edih9-GG5afQ0g		pathmap://UML_PROFILES/Standard.profile.uml#SystemModel-base_Model
pathmap://UML2_PROFILES/Complete.profile.uml2#_O1-5Uq87Edih9-GG5afQ0g		pathmap://UML_PROFILES/Standard.profile.uml#Model_Metamodel-extension_Metamodel
pathmap://UML2_PROFILES/Basic.profile.uml2									pathmap://UML_PROFILES/Standard.profile.uml
pathmap://UML2_PROFILES/Complete.profile.uml2								pathmap://UML_PROFILES/Standard.profile.uml
pathmap://UML2_PROFILES/Ecore.profile.uml2									pathmap://UML_PROFILES/Ecore.profile.uml
pathmap://UML2_PROFILES/Basic.profile.uml2#_9vsGxa86Edih9-GG5afQ0g			pathmap://UML_PROFILES/Standard.profile.uml#Component_BuildComponent
pathmap://UML2_PROFILES/Complete.profile.uml2#_O1-5VK87Edih9-GG5afQ0g		pathmap://UML_PROFILES/Standard.profile.uml#Metamodel-base_Model
pathmap://UML2_PROFILES/Complete.profile.uml2#_O1-5Va87Edih9-GG5afQ0g		pathmap://UML_PROFILES/Standard.profile.uml#SystemModel
pathmap://UML2_PROFILES/Intermediate.profile.uml2							pathmap://UML_PROFILES/Standard.profile.uml
pathmap://UML2_METAMODELS/Ecore.metamodel.uml2								pathmap://UML_METAMODELS/Ecore.metamodel.uml
pathmap://UML2_PROFILES/Complete.profile.uml2#_Ox98AK87Edih9-GG5afQ0g		pathmap://UML_PROFILES/Standard.profile.uml#Metamodel
http://schema.omg.org/spec/UML/2.2/StandardProfileL2.xmi					pathmap://UML_PROFILES/Standard.profile.uml
http://www.omg.org/spec/UML/20110701/StandardProfileL2.xmi					pathmap://UML_PROFILES/Standard.profile.uml
http://www.omg.org/spec/UML/20110701/StandardProfileL3.xmi					pathmap://UML_PROFILES/Standard.profile.uml
http://www.omg.org/spec/UML/20100901/StandardProfileL3.xmi					pathmap://UML_PROFILES/Standard.profile.uml
http://www.omg.org/spec/UML/20100901/StandardProfileL2.xmi					pathmap://UML_PROFILES/Standard.profile.uml
http://www.omg.org/spec/UML/20131001/StandardProfile.xmi					pathmap://UML_PROFILES/Standard.profile.uml
http://schema.omg.org/spec/UML/2.2/StandardProfileL3.xmi					pathmap://UML_PROFILES/Standard.profile.uml
http://schema.omg.org/spec/UML/2.1/StandardProfileL2.xmi					pathmap://UML_PROFILES/Standard.profile.uml
http://schema.omg.org/spec/UML/2.1.1/StandardProfileL2.xmi					pathmap://UML_PROFILES/Standard.profile.uml
http://schema.omg.org/spec/UML/2.1/StandardProfileL3.xmi					pathmap://UML_PROFILES/Standard.profile.uml
http://schema.omg.org/spec/UML/2.1.1/StandardProfileL3.xmi					pathmap://UML_PROFILES/Standard.profile.uml
pathmap://SysML14_LIBRARIES/											platform:/plugin/org.eclipse.papyrus.sysml14/libraries/
pathmap://SysML14_PROFILES/											platform:/plugin/org.eclipse.papyrus.sysml14/model/


ANALYZIS:
My last two entries that I create according to the feedback here don't seem to fit the UML entries. It seems reversed. Opinion?
Previous Topic:unable get SysML stereotypes
Next Topic:[Acceleo]
Goto Forum:
  


Current Time: Thu Mar 28 21:19:21 GMT 2024

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

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

Back to the top