Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » OCL » illegal operation signature
illegal operation signature [message #898097] Wed, 25 July 2012 19:18 Go to next message
fv fv is currently offline fv fvFriend
Messages: 19
Registered: April 2012
Junior Member
Hi,

when parsing some OCL Constraints I'm faced with the following problems:

1. I have to Classes A and B defined in an UML diagram. Class A has an 0..5 association to Class B. The association at the end of class B is named "data".
The function f has the following declaration: f( x : Bag) : Set where Bag and Set stand for the OCL Collection Types.
I want to parse the following constraint:

f(A.allInstances().data)->notEmpty()

I get the following error:
illegal operation signature: (f(Bag(B))

Can anybody give me a hint what to do?

2. I changed the previous example and declared function f as follows:
f( x : Set) : Set

When parsing the constraint f(A.allInstances())->notEmpty(), the OCL Parser parses the constraint without any errors.


But if I change the constraint and use a function call like f(B.allInstances())->notEmpty() the OCL Parser raises the error:
illegal operation signature (f(Set(B))
If I leave the function call and just write: B.allInstances()->notEmpty() no error is raised.
Consequently it would mean that something is wrong with my function declaration of f. But as I said, using A.allInstances() instead of B.allInstances() works. So why doesn't it work using Class B?
Or isn't it allowed to use another class as function Parameter?

Thanks for your help!
Re: illegal operation signature [message #898117 is a reply to message #898097] Wed, 25 July 2012 20:14 Go to previous messageGo to next message
Ed Willink is currently offline Ed WillinkFriend
Messages: 7655
Registered: July 2009
Senior Member
Hi

You give us no clue as to how you declared f( x : Bag) : Set so it is
difficult to comment on why your declaration doesn't work.

Regards

Ed Willink


On 25/07/2012 20:18, fv fv wrote:
> Hi,
>
> when parsing some OCL Constraints I'm faced with the following problems:
>
> 1. I have to Classes A and B defined in an UML diagram. Class A has an
> 0..5 association to Class B. The association at the end of class B is
> named "data".
> The function f has the following declaration: f( x : Bag) : Set where
> Bag and Set stand for the OCL Collection Types.
> I want to parse the following constraint:
> f(A.allInstances().data)->notEmpty()
>
> I get the following error:
> illegal operation signature: (f(Bag(B))
>
> Can anybody give me a hint what to do?
>
> 2. I changed the previous example and declared function f as follows:
> f( x : Set) : Set
>
> When parsing the constraint f(A.allInstances())->notEmpty(), the OCL
> Parser parses the constraint without any errors.
>
>
> But if I change the constraint and use a function call like
> f(B.allInstances())->notEmpty() the OCL Parser raises the error:
> illegal operation signature (f(Set(B))
> If I leave the function call and just write:
> B.allInstances()->notEmpty() no error is raised.
> Consequently it would mean that something is wrong with my function
> declaration of f. But as I said, using A.allInstances() instead of
> B.allInstances() works. So why doesn't it work using Class B?
> Or isn't it allowed to use another class as function Parameter?
>
> Thanks for your help!
Re: illegal operation signature [message #898373 is a reply to message #898117] Thu, 26 July 2012 09:43 Go to previous messageGo to next message
fv fv is currently offline fv fvFriend
Messages: 19
Registered: April 2012
Junior Member
Hi,

the Class Diagram with the OCL Constraints is defined in Magic Draw.
I only declared the function in the Class A as described above. I didn't think I need to define an OCL Constraint for the function, because one of the examples works as I said.
However then I also tried to define an OCL Constraint for the function in the hope that this would help:
I used the following simple code:

context A::f( ps : Bag(B)) : Set
post: result = ps.xy->asSet()

But only the following exception was thrown:
1:1:1:4 "inv:" misplaced construct(s)

Besides I'm not sure if it's a problem that I use ps: Bag(B) as parameter type and not just ps: Bag in the OCL Constraint?



Re: illegal operation signature [message #898387 is a reply to message #898373] Thu, 26 July 2012 10:10 Go to previous messageGo to next message
Ed Willink is currently offline Ed WillinkFriend
Messages: 7655
Registered: July 2009
Senior Member
Hi

MagicDraw uses Dresden OCL rather than Eclipse OCL, so it is still far
from clear which parser is provoking the error; the error formatting
looks relatively familiar so it may be the Eclipse OCL LPG parser.

The suggestion that an 'inv' at 1:1:1:4 is a problem indicates that the
problem is in code that you haven't shared with us.

If I use fv.ecore (using the OCLinEcore editor)

package fv : pfx = 'platform:/resource/Activity/fv.ecore' {

class A {
operation f(ps : B[*]{!ordered,!unique}) : C[*]{!ordered,unique};
}


class B {
property xy : C;
}

class C {}
}

and fv.ocl (using the Complete OCL editor)

import fv : 'fv.ecore#/'

package fv

context A::f( ps : Bag(B)) : Set
post: result = ps.xy->asSet()

endpackage

I see no problem.

Regards

Ed Willink

On 26/07/2012 10:43, fv fv wrote:
> Hi,
>
> the Class Diagram with the OCL Constraints is defined in Magic Draw.
> I only declared the function in the Class A as described above. I
> didn't think I need to define an OCL Constraint for the function,
> because one of the examples works as I said. However then I also tried
> to define an OCL Constraint for the function in the hope that this
> would help:
> I used the following simple code:
>
> context A::f( ps : Bag(B)) : Set
> post: result = ps.xy->asSet()
>
> But only the following exception was thrown:
> 1:1:1:4 "inv:" misplaced construct(s)
>
> Besides I'm not sure if it's a problem that I use ps: Bag(B) as
> parameter type and not just ps: Bag in the OCL Constraint?
>
>
>
>
Re: illegal operation signature [message #898397 is a reply to message #898387] Thu, 26 July 2012 10:27 Go to previous messageGo to next message
fv fv is currently offline fv fvFriend
Messages: 19
Registered: April 2012
Junior Member
Hi,

thank's for your help and sorry that I gave too little information.
What I can tell you is that I export the Project to Eclipse UML2 (v2.x) XMI File.

The thrown Error is:
org.eclipse.ocl.SyntaxException: 1:1:1:4 "inv:" misplaced construct(s)
at org.eclipse.ocl.util.OCLUtil.checkForErrors(OCLUtil.java:350)
at org.eclipse.ocl.util.OCLUtil.checkForErrors(OCLUtil.java:322)
at org.eclipse.ocl.internal.helper.HelperUtil.checkForErrors(HelperUtil.java:518)
at org.eclipse.ocl.internal.helper.HelperUtil.parseInvariant(HelperUtil.java:207)
at org.eclipse.ocl.internal.helper.OCLHelperImpl.createInvariant(OCLHelperImpl.java:216)


Hope that helps to find the mistake.
Re: illegal operation signature [message #898417 is a reply to message #898397] Thu, 26 July 2012 10:55 Go to previous messageGo to next message
Ed Willink is currently offline Ed WillinkFriend
Messages: 7655
Registered: July 2009
Senior Member
Hi

No and suddenly you mention UML2 too. I'll leave you to find bugs in
your code that you keep to yourself. I'm not telepathic.

Regards

Ed Willink


On 26/07/2012 11:27, fv fv wrote:
> Hi,
>
> thank's for your help and sorry that I gave too little information.
> What I can tell you is that I export the Project to Eclipse UML2
> (v2.x) XMI File.
>
> The thrown Error is:
> org.eclipse.ocl.SyntaxException: 1:1:1:4 "inv:" misplaced construct(s)
> at org.eclipse.ocl.util.OCLUtil.checkForErrors(OCLUtil.java:350)
> at org.eclipse.ocl.util.OCLUtil.checkForErrors(OCLUtil.java:322)
> at
> org.eclipse.ocl.internal.helper.HelperUtil.checkForErrors(HelperUtil.java:518)
> at
> org.eclipse.ocl.internal.helper.HelperUtil.parseInvariant(HelperUtil.java:207)
> at
> org.eclipse.ocl.internal.helper.OCLHelperImpl.createInvariant(OCLHelperImpl.java:216)
>
>
> Hope that helps to find the mistake.
Re: illegal operation signature [message #900300 is a reply to message #898417] Mon, 06 August 2012 12:08 Go to previous messageGo to next message
fv fv is currently offline fv fvFriend
Messages: 19
Registered: April 2012
Junior Member
Hi,

by now I've asked an answerable colleague and she allowed me to post some more code.

I also asked in the official Magic Draw forum if the export could be wrong or if it doesn't support such Constraints but didn't get an answer up to now.

Could you please tell me where to look for the error? The hole exception error is:

org.eclipse.ocl.SyntaxException: 1:1:1:4 "inv:" misplaced construct(s)
	at org.eclipse.ocl.util.OCLUtil.checkForErrors(OCLUtil.java:350)
	at org.eclipse.ocl.util.OCLUtil.checkForErrors(OCLUtil.java:322)
	at org.eclipse.ocl.internal.helper.HelperUtil.checkForErrors(HelperUtil.java:518)
	at org.eclipse.ocl.internal.helper.HelperUtil.parseInvariant(HelperUtil.java:207)
	at org.eclipse.ocl.internal.helper.OCLHelperImpl.createInvariant(OCLHelperImpl.java:216)
	at swt.mel.OCLParser.parseOCLConstraint(OCLParser.java:88)
	at swt.mel.MELClass.parseOCLConstraints(MELClass.java:637)
	at swt.mel.MELModel.parseOCLConstraints(MELModel.java:415)
	at swt.mel.MELModel.<init>(MELModel.java:137)
	at swt.mel.MELModel.setContext(MELModel.java:85)
	at swt.Parser.setContext(Parser.java:60)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.internal.xtend.xtend.ast.JavaExtensionStatement.evaluateInternal(JavaExtensionStatement.java:78)
	at org.eclipse.internal.xtend.xtend.ast.AbstractExtension.evaluate(AbstractExtension.java:166)
	at org.eclipse.internal.xtend.expression.ast.OperationCall.evaluate(OperationCall.java:335)
	at org.eclipse.internal.xtend.expression.ast.OperationCall.evaluateInternal(OperationCall.java:104)
	at org.eclipse.internal.xtend.expression.ast.Expression.evaluate(Expression.java:50)
	at org.eclipse.internal.xpand2.ast.ExpressionStatement.evaluateInternal(ExpressionStatement.java:45)
	at org.eclipse.internal.xpand2.ast.Statement.evaluate(Statement.java:41)
	at org.eclipse.internal.xpand2.ast.AbstractDefinition.evaluate(AbstractDefinition.java:180)
	at org.eclipse.internal.xpand2.ast.ExpandStatement.invokeDefinition(ExpandStatement.java:246)
	at org.eclipse.internal.xpand2.ast.ExpandStatement.evaluateInternal(ExpandStatement.java:226)
	at org.eclipse.internal.xpand2.ast.Statement.evaluate(Statement.java:41)
	at org.eclipse.xpand2.Generator.invokeInternal2(Generator.java:333)
	at org.eclipse.xtend.expression.AbstractExpressionsUsingWorkflowComponent.invokeInternal(AbstractExpressionsUsingWorkflowComponent.java:239)
	at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:126)
	at org.eclipse.emf.mwe.core.container.CompositeComponent.internalInvoke(CompositeComponent.java:104)
	at org.eclipse.emf.mwe.core.container.CompositeComponent.invoke(CompositeComponent.java:89)
	at org.eclipse.emf.mwe.core.WorkflowEngine.executeWorkflow(WorkflowEngine.java:174)
	at org.eclipse.emf.mwe.core.WorkflowEngine.run(WorkflowEngine.java:53)
	at org.eclipse.emf.mwe.core.WorkflowRunner.doRun(WorkflowRunner.java:174)
	at org.eclipse.emf.mwe.core.WorkflowRunner.main(WorkflowRunner.java:69)
java.lang.NullPointerException
	at org.eclipse.ocl.uml.internal.UMLReflectionImpl.getSpecification(UMLReflectionImpl.java:492)
	at org.eclipse.ocl.uml.internal.UMLReflectionImpl.getSpecification(UMLReflectionImpl.java:1)
	at swt.mel.OCLParser.parseOCLConstraint(OCLParser.java:94)
	at swt.mel.MELClass.parseOCLConstraints(MELClass.java:637)
	at swt.mel.MELModel.parseOCLConstraints(MELModel.java:415)
	at swt.mel.MELModel.<init>(MELModel.java:137)
	at swt.mel.MELModel.setContext(MELModel.java:85)
	at swt.Parser.setContext(Parser.java:60)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.internal.xtend.xtend.ast.JavaExtensionStatement.evaluateInternal(JavaExtensionStatement.java:78)
	at org.eclipse.internal.xtend.xtend.ast.AbstractExtension.evaluate(AbstractExtension.java:166)
	at org.eclipse.internal.xtend.expression.ast.OperationCall.evaluate(OperationCall.java:335)
	at org.eclipse.internal.xtend.expression.ast.OperationCall.evaluateInternal(OperationCall.java:104)
	at org.eclipse.internal.xtend.expression.ast.Expression.evaluate(Expression.java:50)
	at org.eclipse.internal.xpand2.ast.ExpressionStatement.evaluateInternal(ExpressionStatement.java:45)
	at org.eclipse.internal.xpand2.ast.Statement.evaluate(Statement.java:41)
	at org.eclipse.internal.xpand2.ast.AbstractDefinition.evaluate(AbstractDefinition.java:180)
	at org.eclipse.internal.xpand2.ast.ExpandStatement.invokeDefinition(ExpandStatement.java:246)
	at org.eclipse.internal.xpand2.ast.ExpandStatement.evaluateInternal(ExpandStatement.java:226)
	at org.eclipse.internal.xpand2.ast.Statement.evaluate(Statement.java:41)
	at org.eclipse.xpand2.Generator.invokeInternal2(Generator.java:333)
	at org.eclipse.xtend.expression.AbstractExpressionsUsingWorkflowComponent.invokeInternal(AbstractExpressionsUsingWorkflowComponent.java:239)
	at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:126)
	at org.eclipse.emf.mwe.core.container.CompositeComponent.internalInvoke(CompositeComponent.java:104)
	at org.eclipse.emf.mwe.core.container.CompositeComponent.invoke(CompositeComponent.java:89)
	at org.eclipse.emf.mwe.core.WorkflowEngine.executeWorkflow(WorkflowEngine.java:174)
	at org.eclipse.emf.mwe.core.WorkflowEngine.run(WorkflowEngine.java:53)
	at org.eclipse.emf.mwe.core.WorkflowRunner.doRun(WorkflowRunner.java:174)
	at org.eclipse.emf.mwe.core.WorkflowRunner.main(WorkflowRunner.java:69)


The Exception is thrown at the following lines (within the parseOCLConstraint function):

		try {
			constraint = (Constraint)oclhelper.createInvariant(mod);
		}catch(ParserException e) {
			e.printStackTrace();
			
		}
		
		ExpressionInOCL spec = oclhelper.getEnvironment().getUMLReflection().getSpecification(constraint);
		OCLExpression result = spec.getBodyExpression();



The corresponding lines in the .uml file are:
 <ownedRule xmi:id="_17_0_1_2_e1f0316_1344253005984_55554_1771" name="unbenannt3" constrainedElement="_15_1_3b40187_1221467783890_224088_211">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="_17_0_1_2_e1f0316_1344253005984_400542_1772" name="">
            <language>English</language>
            <body>context A::f(ps : Bag(B)) : Set&#xA;post: result = ps.xy->asSet()</body>
          </specification>
        </ownedRule>





Thanks a lot!
Re: illegal operation signature [message #900307 is a reply to message #900300] Mon, 06 August 2012 12:45 Go to previous messageGo to next message
Ed Willink is currently offline Ed WillinkFriend
Messages: 7655
Registered: July 2009
Senior Member
Hi

Please provide a Zipped project, with simple instructions to enable me
to reproduce the problem.

Regards

Ed Willink

On 06/08/2012 13:08, fv fv wrote:
> Hi,
>
> by now I've asked an answerable colleague and she allowed me to post
> some more code.
>
> I also asked in the official Magic Draw forum if the export could be
> wrong or if it doesn't support such Constraints but didn't get an
> answer up to now.
>
> Could you please tell me where to look for the error? The hole
> exception error is:
>
> org.eclipse.ocl.SyntaxException: 1:1:1:4 "inv:" misplaced construct(s)
> at org.eclipse.ocl.util.OCLUtil.checkForErrors(OCLUtil.java:350)
> at org.eclipse.ocl.util.OCLUtil.checkForErrors(OCLUtil.java:322)
> at
> org.eclipse.ocl.internal.helper.HelperUtil.checkForErrors(HelperUtil.java:518)
> at
> org.eclipse.ocl.internal.helper.HelperUtil.parseInvariant(HelperUtil.java:207)
> at
> org.eclipse.ocl.internal.helper.OCLHelperImpl.createInvariant(OCLHelperImpl.java:216)
> at swt.mel.OCLParser.parseOCLConstraint(OCLParser.java:88)
> at swt.mel.MELClass.parseOCLConstraints(MELClass.java:637)
> at swt.mel.MELModel.parseOCLConstraints(MELModel.java:415)
> at swt.mel.MELModel.<init>(MELModel.java:137)
> at swt.mel.MELModel.setContext(MELModel.java:85)
> at swt.Parser.setContext(Parser.java:60)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at
> org.eclipse.internal.xtend.xtend.ast.JavaExtensionStatement.evaluateInternal(JavaExtensionStatement.java:78)
> at
> org.eclipse.internal.xtend.xtend.ast.AbstractExtension.evaluate(AbstractExtension.java:166)
> at
> org.eclipse.internal.xtend.expression.ast.OperationCall.evaluate(OperationCall.java:335)
> at
> org.eclipse.internal.xtend.expression.ast.OperationCall.evaluateInternal(OperationCall.java:104)
> at
> org.eclipse.internal.xtend.expression.ast.Expression.evaluate(Expression.java:50)
> at
> org.eclipse.internal.xpand2.ast.ExpressionStatement.evaluateInternal(ExpressionStatement.java:45)
> at
> org.eclipse.internal.xpand2.ast.Statement.evaluate(Statement.java:41)
> at
> org.eclipse.internal.xpand2.ast.AbstractDefinition.evaluate(AbstractDefinition.java:180)
> at
> org.eclipse.internal.xpand2.ast.ExpandStatement.invokeDefinition(ExpandStatement.java:246)
> at
> org.eclipse.internal.xpand2.ast.ExpandStatement.evaluateInternal(ExpandStatement.java:226)
> at
> org.eclipse.internal.xpand2.ast.Statement.evaluate(Statement.java:41)
> at org.eclipse.xpand2.Generator.invokeInternal2(Generator.java:333)
> at
> org.eclipse.xtend.expression.AbstractExpressionsUsingWorkflowComponent.invokeInternal(AbstractExpressionsUsingWorkflowComponent.java:239)
> at
> org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:126)
> at
> org.eclipse.emf.mwe.core.container.CompositeComponent.internalInvoke(CompositeComponent.java:104)
> at
> org.eclipse.emf.mwe.core.container.CompositeComponent.invoke(CompositeComponent.java:89)
> at
> org.eclipse.emf.mwe.core.WorkflowEngine.executeWorkflow(WorkflowEngine.java:174)
> at
> org.eclipse.emf.mwe.core.WorkflowEngine.run(WorkflowEngine.java:53)
> at
> org.eclipse.emf.mwe.core.WorkflowRunner.doRun(WorkflowRunner.java:174)
> at
> org.eclipse.emf.mwe.core.WorkflowRunner.main(WorkflowRunner.java:69)
> java.lang.NullPointerException
> at
> org.eclipse.ocl.uml.internal.UMLReflectionImpl.getSpecification(UMLReflectionImpl.java:492)
> at
> org.eclipse.ocl.uml.internal.UMLReflectionImpl.getSpecification(UMLReflectionImpl.java:1)
> at swt.mel.OCLParser.parseOCLConstraint(OCLParser.java:94)
> at swt.mel.MELClass.parseOCLConstraints(MELClass.java:637)
> at swt.mel.MELModel.parseOCLConstraints(MELModel.java:415)
> at swt.mel.MELModel.<init>(MELModel.java:137)
> at swt.mel.MELModel.setContext(MELModel.java:85)
> at swt.Parser.setContext(Parser.java:60)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at
> org.eclipse.internal.xtend.xtend.ast.JavaExtensionStatement.evaluateInternal(JavaExtensionStatement.java:78)
> at
> org.eclipse.internal.xtend.xtend.ast.AbstractExtension.evaluate(AbstractExtension.java:166)
> at
> org.eclipse.internal.xtend.expression.ast.OperationCall.evaluate(OperationCall.java:335)
> at
> org.eclipse.internal.xtend.expression.ast.OperationCall.evaluateInternal(OperationCall.java:104)
> at
> org.eclipse.internal.xtend.expression.ast.Expression.evaluate(Expression.java:50)
> at
> org.eclipse.internal.xpand2.ast.ExpressionStatement.evaluateInternal(ExpressionStatement.java:45)
> at
> org.eclipse.internal.xpand2.ast.Statement.evaluate(Statement.java:41)
> at
> org.eclipse.internal.xpand2.ast.AbstractDefinition.evaluate(AbstractDefinition.java:180)
> at
> org.eclipse.internal.xpand2.ast.ExpandStatement.invokeDefinition(ExpandStatement.java:246)
> at
> org.eclipse.internal.xpand2.ast.ExpandStatement.evaluateInternal(ExpandStatement.java:226)
> at
> org.eclipse.internal.xpand2.ast.Statement.evaluate(Statement.java:41)
> at org.eclipse.xpand2.Generator.invokeInternal2(Generator.java:333)
> at
> org.eclipse.xtend.expression.AbstractExpressionsUsingWorkflowComponent.invokeInternal(AbstractExpressionsUsingWorkflowComponent.java:239)
> at
> org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:126)
> at
> org.eclipse.emf.mwe.core.container.CompositeComponent.internalInvoke(CompositeComponent.java:104)
> at
> org.eclipse.emf.mwe.core.container.CompositeComponent.invoke(CompositeComponent.java:89)
> at
> org.eclipse.emf.mwe.core.WorkflowEngine.executeWorkflow(WorkflowEngine.java:174)
> at
> org.eclipse.emf.mwe.core.WorkflowEngine.run(WorkflowEngine.java:53)
> at
> org.eclipse.emf.mwe.core.WorkflowRunner.doRun(WorkflowRunner.java:174)
> at
> org.eclipse.emf.mwe.core.WorkflowRunner.main(WorkflowRunner.java:69)
>
> The Exception is thrown at the following lines (within the
> parseOCLConstraint function):
>
> try {
> constraint = (Constraint)oclhelper.createInvariant(mod);
> }catch(ParserException e) {
> e.printStackTrace();
>
> }
>
> ExpressionInOCL spec =
> oclhelper.getEnvironment().getUMLReflection().getSpecification(constraint);
> OCLExpression result = spec.getBodyExpression();
>
>
> The corresponding lines in the .uml file are:
> <ownedRule xmi:id="_17_0_1_2_e1f0316_1344253005984_55554_1771"
> name="unbenannt3"
> constrainedElement="_15_1_3b40187_1221467783890_224088_211">
> <specification xmi:type="uml:OpaqueExpression"
> xmi:id="_17_0_1_2_e1f0316_1344253005984_400542_1772" name="">
> <language>English</language>
> <body>context A::f(ps : Bag(B)) : Set
> post: result = ps.xy->asSet()</body>
> </specification>
> </ownedRule>
>
>
>
>
> Thanks a lot!
Re: illegal operation signature [message #902783 is a reply to message #900307] Mon, 20 August 2012 12:40 Go to previous messageGo to next message
fv fv is currently offline fv fvFriend
Messages: 19
Registered: April 2012
Junior Member
Hi,

thank's for your proposal!
I'm creating a workspace with three projects (the one I'm focusing on uses the other two projects). You would also need XPand and Operational QVT.
Sorry that I'm not able to make it smaller, I'm trying to handle it as small as possible.
If could you please send me a private message with your e-mail address I'll send you the workspace and some more precise instructions.
Re: illegal operation signature [message #908070 is a reply to message #902783] Tue, 04 September 2012 16:42 Go to previous messageGo to next message
fv fv is currently offline fv fvFriend
Messages: 19
Registered: April 2012
Junior Member
Hi,

I suppose my reply has escaped your attention. Therefore I just wanted to ask if your proposal is still valid?

Regards
Re: illegal operation signature [message #908167 is a reply to message #908070] Tue, 04 September 2012 21:30 Go to previous messageGo to next message
Ed Willink is currently offline Ed WillinkFriend
Messages: 7655
Registered: July 2009
Senior Member
On 04/09/2012 17:42, fv fv wrote:
> Hi,
>
> I suppose my reply has escaped your attention. Therefore I just wanted
> to ask if your proposal is still valid?
>
> Regards
Dropbox provides a very convenient transfer mechanism.

Regards

Ed Willink
Re: illegal operation signature [message #911345 is a reply to message #908167] Tue, 11 September 2012 12:27 Go to previous messageGo to next message
fv fv is currently offline fv fvFriend
Messages: 19
Registered: April 2012
Junior Member
Hi,

I took your advice and created a Dropbox account which contains the eclipse workspace.
If you could please accord me your e-mail address, I will share the folder with you? So you can also modify the files.

Thank's and best regards
Re: illegal operation signature [message #911489 is a reply to message #911345] Tue, 11 September 2012 18:09 Go to previous messageGo to next message
Ed Willink is currently offline Ed WillinkFriend
Messages: 7655
Registered: July 2009
Senior Member
hi

Try ed _at_ willink _dot_ me _dot_ uk

Regards

Ed Willink

On 11/09/2012 13:27, fv fv wrote:
> Hi,
>
> I took your advice and created a Dropbox account which contains the
> eclipse workspace.
> If you could please accord me your e-mail address, I will share the
> folder with you? So you can also modify the files.
>
> Thank's and best regards
Re: illegal operation signature [message #912319 is a reply to message #911489] Thu, 13 September 2012 10:44 Go to previous messageGo to next message
fv fv is currently offline fv fvFriend
Messages: 19
Registered: April 2012
Junior Member
Hi,

I send you an invitation, now. In the main folder you find a pdf called instructions which explains the first steps.

Thank's!
Re: illegal operation signature [message #912503 is a reply to message #912319] Thu, 13 September 2012 17:12 Go to previous messageGo to next message
Ed Willink is currently offline Ed WillinkFriend
Messages: 7655
Registered: July 2009
Senior Member
Hi

You didn't identify your Eclipse versions...

But on Juno it's hopeless.
https://bugs.eclipse.org/bugs/show_bug.cgi?id=389542 raised to allow
legacy UML fgiles to be opened again.

On Indigo you use a context entrry that doesn't exist. I've never seen
"convert PIM to ASM".

Examining the XMI, it is clear that your OCL is a mess.

Some is sensible: e.g.

<language>English</language>
<body>value > 0</body>

But some is meaningless however you look at it

<language>English</language>
<body>else</body>

and some is a misguided use of Complete OCL rather than Essential OCL

<body>context Terminal::f(x: Boolean) : Boolean&#xA;post: result = x</body>

It is not surprising that an Essential OCL expression parser is unhappy.

Regards

Ed Willink



On 13/09/2012 11:44, fv fv wrote:
> Hi,
>
> I send you an invitation, now. In the main folder you find a pdf
> called instructions which explains the first steps.
>
> Thank's!
Re: illegal operation signature [message #912826 is a reply to message #912503] Fri, 14 September 2012 08:59 Go to previous message
Ed Willink is currently offline Ed WillinkFriend
Messages: 7655
Registered: July 2009
Senior Member
Hi

Correction: even your sensible OCL is bad:

<language>English</language>
<body>value > 0</body>

is presumably an 'OCL' rather than 'English' language body. Tooling
might therefore reject it outright, or just use the tooling-specific
built-in default.

Regards

Ed Willink


On 13/09/2012 18:12, Ed Willink wrote:
> Hi
>
> You didn't identify your Eclipse versions...
>
> But on Juno it's hopeless.
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=389542 raised to allow
> legacy UML fgiles to be opened again.
>
> On Indigo you use a context entrry that doesn't exist. I've never
> seen "convert PIM to ASM".
>
> Examining the XMI, it is clear that your OCL is a mess.
>
> Some is sensible: e.g.
>
> <language>English</language>
> <body>value > 0</body>
>
> But some is meaningless however you look at it
>
> <language>English</language>
> <body>else</body>
>
> and some is a misguided use of Complete OCL rather than Essential OCL
>
> <body>context Terminal::f(x: Boolean) : Boolean&#xA;post: result =
> x</body>
>
> It is not surprising that an Essential OCL expression parser is unhappy.
>
> Regards
>
> Ed Willink
>
>
>
> On 13/09/2012 11:44, fv fv wrote:
>> Hi,
>>
>> I send you an invitation, now. In the main folder you find a pdf
>> called instructions which explains the first steps.
>>
>> Thank's!
>
Previous Topic:[Announce] Eclipse OCL 4.0.1 (Juno SR1) RC2 is now available
Next Topic:Juno: Parsing OCL in Guards
Goto Forum:
  


Current Time: Fri Apr 19 23:18:22 GMT 2024

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

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

Back to the top