Version 2.0.10.01 now available!

5 views
Skip to first unread message

mjla...@gmail.com

unread,
Jul 7, 2005, 1:01:26 AM7/7/05
to Tef...@googlegroups.com

Hello,

I'm very pleased to announce that Tefkat version 2.0.10.01 is now
available on the update site.

This version adds a number of new features and includes a new and
improved execution engine that handles rules with both cyclic and
non-cyclic dependencies through tracking classes. This means that the
order of rules in your transformation specification is no longer
important. It also means the engine should be much faster in cases
where it used to perform fixpoint computations.

Other new features include:

* IF-THEN-ELSE now supported on the "target-side"
- SET clauses can now contain IF-THEN-ELSE statements
- the THEN and ELSE clauses can then contain MAKE, SET, and LINKING
clauses
* Added ELSEIF for cascaded conditions
* The ELSE clause is now optional (as is the THEN clause)
* Resources are now loaded on a separate thread to avoid lock-ups
* The MAP keyword is now highlighted in the editor
* 'Anonymous variables' are now anything that starts with an
underscore (previously they could only be a single underscore)
* Stratification of rules & patterns is now checked
* Editor now warns about some forms of target-side querying (the
semantics of which are undefined)

Major bugfixes include:
* Issues with Resource loading
* backslash in a string literal can now escape itself


Example IF-THEN-ELSE usage
==========================

RULE SourceITE
WHERE
println("SourceITE") AND
y = 1 AND
IF x = 1 AND println(x)
THEN
println("xxx", x)
ENDIF AND
z = 1
;

RULE TargetITE
WHERE println("TargetITE") AND z = 1
MAKE EObject y
SET
IF x = 1 AND println(x)
THEN
MAKE println("xxx"),
EObject _e FROM f("a"),
println("aaa")
ELSE
SET TRUE
ENDIF
;


Example MAP usage
=================

// MAPs are useful when you need tables of values and don't
// want to use an extra source model

MAP foo {
11 : 12,
1 : "bar",
"abc" : "def",
321 : [1, 2, "3"]
};

RULE map_it
// The map() function does a lookup in the named map for
// the value corresponding to the supplied key
WHERE println(map("foo", 11))
AND println(map("foo", "abc"))
AND println(map("foo", 321))
;

Cheers,

michael

Zhen Ru Dai

unread,
Jul 7, 2005, 6:07:48 AM7/7/05
to Tef...@googlegroups.com
Hi Michael,

great work. That was fast done!

Unfortunately, I now have an error which did not appear with the last
release. The error appears when a file is referenced by <platform:/...>.
I checked the xmi uri of the file and it is correct (please see the
attachement). Can you tell me, what the problem is?

cheers and thanks

Lulu
--

Zhen Ru Dai email: d...@fokus.fraunhofer.de
Fraunhofer FOKUS tel: +49-30-3463-7239
Kaiserin-Augusta-Allee 31 fax: +49-30-3463-8239
D-10589 Berlin http://www.fokus.fraunhofer.de/motion/
tefkat.gif

Zhen Ru Dai

unread,
Jul 11, 2005, 10:43:11 AM7/11/05
to Tef...@googlegroups.com
Hi Michael,

can you check the error described below?

cheers

Lulu
> ------------------------------------------------------------------------

Lansing, Jeff

unread,
Jul 11, 2005, 1:46:17 PM7/11/05
to Tef...@googlegroups.com
Hi,

I noticed a similar problem when I tried out the Tefkat example on the new Eclipse 3.1/EMF 2.1.

This is interesting because when I run the Tefkat engine from within a Java program (as described in a previous posting from Michael) using the same Eclipse3.1/EMF 2.1 jars, the error doesn't occur.

The error appears in the workspace/.metadata/.log file as:

!MESSAGE Errors running builder "Tefkat Builder" on project transformation.
!SUBENTRY 1 com.dstc.tefkat.plugin 4 0 2005-07-11 10:35:37.985
!MESSAGE Tefkat failed: ResourceSet is already set - call clearResourceSet() first.
!STACK 0
java.lang.IllegalStateException: ResourceSet is already set - call clearResourceSet() first.
at com.dstc.tefkat.engine.Tefkat.setResourceSet(Tefkat.java:95)
at com.dstc.tefkat.engine.Tefkat.transform(Tefkat.java:242)
at com.dstc.tefkat.engine.Tefkat.transform(Tefkat.java:236)
at com.dstc.tefkat.engine.Tefkat.transform(Tefkat.java:209)
at com.dstc.tefkat.plugin.TefkatPlugin$EngineThread.run(TefkatPlugin.java:741)

Jeff

Note:
*** Features:
com.dstc.tefkat.plugin (2.0.10.02) "Tefkat Plugin"
org.eclipse.emf (2.1.0) "Eclipse Modeling Framework (EMF)"

________________________________
winmail.dat

michael lawley

unread,
Jul 12, 2005, 6:34:27 PM7/12/05
to Tef...@googlegroups.com
Jeff, Lulu,

Do you have an explicit trace model in your tefkat.xml file? If not,
then I think that's the trigger for the bug. I'll have a patch
release out as soon as I get back to work, but as a work-around you
should be able to just add a trace model entry.

Cheers,

michael

Zhen Ru Dai

unread,
Jul 13, 2005, 2:20:57 AM7/13/05
to Tef...@googlegroups.com
Hi Michael,

michael lawley wrote:
> Jeff, Lulu,
>
> Do you have an explicit trace model in your tefkat.xml file? If not,
> then I think that's the trigger for the bug. I'll have a patch
> release out as soon as I get back to work, but as a work-around you
> should be able to just add a trace model entry.

This would be problem. I don't have a trace model. I will follow your
work-around.

thanks

Lulu

Zhen Ru Dai

unread,
Jul 13, 2005, 10:42:45 AM7/13/05
to Tef...@googlegroups.com
Hi Michael,

I downloaded the newest Tefkat version. Now the erorrs are gone. Great
work! ;)

cheers

Lulu
Reply all
Reply to author
Forward
0 new messages