Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [henshin-dev] Logging and Java2StateMachine example (from TTC 2011)

You're welcome. Thanks for the work!


Am 28.05.2012 13:59, schrieb Christian Krause:
No need to debug. The interpreter is fine. During my editing of the transformation file (either while I was switching it to dynamic EMF or when I was editing the diagram file), I must have removed the type of the "OrdinaryParameter" node. Since the type of the node was missing, the rule could not be matched. I fixed the example (and not the interpreter, Stefan ;) ) and added the example to the tests.

Stefan, thanks again for the detailed info. I would have spent a couple of hours without your hints.

Cheers,
christian

On 05/28/2012 01:20 PM, Christian Krause wrote:
Hi Stefan,

thanks for the explanations. I found this failed rule application in the log:

=== EXECUTED RULE 'createTransition' [FALSE] ===

Partial match for rule 'createTransition':
- parameter 'baseClass' => classifiers.Class@e3570c (dynamic, comments=[], name='TimeWait', fullName=null)
- parameter 'parent' => statements.ExpressionStatement@1554233 (dynamic, comments=[])
- parameter 'trigger' => 'run'
- node 'parent' => statements.ExpressionStatement@1554233 (dynamic, comments=[])
- node 'baseClass' => classifiers.Class@e3570c (dynamic, comments=[], name='TimeWait', fullName=null)

This looks like what you were describing. I'm debugging it...

cheers,
christian

On 05/26/2012 11:07 AM, Stefan Jurack wrote:
Nope.

First, before the latest changes in the interpreter the example works very well.

Second, in order to create the Transition "TimeoutException" which runs from State "TimeWait" to State "Closed", the following is matched:
Rule "createTransition" matches the ExpressionStatement to be found in Class "TimeWait" -> ClassMethod "run" -> TryBlock -> CatchBlock ! The ExpressionStatement contains the required IdentifierReference which targets Class "Closed", the MethodCall targeting ClassMethod "Instance" and the MethodCall targeting ClassMethod "activate". The name of the Transition results from CatchBlock -> OrdinaryParameter -> NamespaceClassifierReference -> ClassifierReference -> Class "TimoutException" (see rule descendTryCatch)

greetx,
Stefan



Am 25.05.2012 21:55, schrieb Christian Krause:
The rule "CreateTransition" matches two methods called "activate" and "Instance". In the class "TimeoutException" there is no such method. So how can the rule be matched? To me it looks like it's a mistake either in the input or the reference output model.

Christian

On 05/25/2012 05:04 PM, Stefan Jurack wrote:
I shall correct you: Not the example is to be fixed but the interpreter ;-)

Am 25.05.2012 16:35, schrieb Christian Krause:
When the example is fixed,


__

Attachment: signature.asc
Description: OpenPGP digital signature


Back to the top