<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:wfw="http://wellformedweb.org/CommentAPI/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
>
<!-- MHonArc v2.6.10 -->
	<channel>
		<title>henshin-dev</title>
		<link>http://dev.eclipse.org/mhonarc/lists/henshin-dev/maillist.html</link>
		<description>henshin-dev</description>
		<language>en-us</language>
		<pubDate>Sun, 13 May 2012 20:30:08 GMT</pubDate>
		<lastBuildDate>Sun, 13 May 2012 20:30:08 GMT</lastBuildDate>
		<docs>http://blogs.law.harvard.edu/tech/rss</docs>
		<generator>MHonArc RSS 2.0 RCFile</generator>
		<managingEditor>webmaster@eclipse.org (Webmaster)</managingEditor>
		<webMaster>webmaster@eclipse.org (Webmaster)</webMaster>
		<image>
			<title>henshin-dev</title>
			<url>http://www.eclipse.org/eclipse.org-common/themes/Phoenix/images/eclipse_home_header.jpg</url>
			<link>http://dev.eclipse.org/mhonarc/lists/henshin-dev/maillist.html</link>
		</image>
 

	<item>
		<title>[henshin-dev] Finalizing the interpreter API</title>
		<link>http://dev.eclipse.org/mhonarc/lists/henshin-dev/msg00432.html</link>
		<description> Everybody, I am in the process of finalizing the new API for the Henshin interpreter. You can have a quick look at it here: http://dev.eclipse.org/svnroot/modeling/org.eclipse.emft.henshin/branches/performance/org.eclipse.emf.henshin.interpreter/src/org/e...</description>
		<content:encoded><![CDATA[<table width="100%"><tr><td bgcolor="#FFFFFF" style="background-color: #FFFFFF; color: #000000; "><font color="#000000">
  
  
    Everybody,<br>
    <br>
    I am in the process of finalizing the new API for the Henshin
    interpreter. You can have a quick look at it here:<br>
    <br>
    
    <a
href="http://dev.eclipse.org/svnroot/modeling/org.eclipse.emft.henshin/branches/performance/org.eclipse.emf.henshin.interpreter/src/org/eclipse/emf/henshin/interpreter/">http://dev.eclipse.org/svnroot/modeling/org.eclipse.emft.henshin/branches/performance/org.eclipse.emf.henshin.interpreter/src/org/eclipse/emf/henshin/interpreter/</a><br>
    <br>
    If you have ideas or suggestions to improve it further, please say
    it now.<br>
    <br>
    In a benchmark of one of our Master students, the EMF Change model
    that is used to execute rules in Henshin showed very bad
    performance. That is why I replaced it with a simply change model
    that is now implemented directly in Henshin.<br>
    <br>
    I migrated the examples and about 90% of the test classes. When
    everything is migrated and works, I plan to reintegrate the new API
    into the trunk again (and override the old API).<br>
    <br>
    Cheers,<br>
    Christian<br>
    <br>
    <br>
    <br>
  

</font></td></tr></table>]]></content:encoded>
		<pubDate>Sun, 13 May 2012 20:24:59 GMT</pubDate>
		<guid isPermaLink="true">http://dev.eclipse.org/mhonarc/lists/henshin-dev/msg00432.html</guid>
		<author>henshin.ck@xxxxxxx (Christian Krause)</author>
	</item>


	<item>
		<title>[henshin-dev] Project meta data is out of date for	modeling.emft.henshin</title>
		<link>http://dev.eclipse.org/mhonarc/lists/henshin-dev/msg00431.html</link>
		<description>Christian, Projects are required to keep meta data up to date using the MyFoundation Portal (http://portal.eclipse.org/). The following problems were found with this project's meta-data: * The date for release &amp;quot;0.9.0&amp;quot; is in the past, but the release is not...</description>
		<content:encoded><![CDATA[<pre>Christian,
Projects are required to keep meta data up to date using the MyFoundation
Portal (<a  href="http://portal.eclipse.org/">http://portal.eclipse.org/</a>).  The following problems were found
with this project's meta-data:

* The date for release &quot;0.9.0&quot; is in the past, but the release is not
marked as completed. If it is completed, it should be marked as completed;
if it has been postponed, it should be given a new target date.
* There is no next/future release of this project. All Eclipse projects
must have a &quot;next release&quot; planned and scheduled.


</pre>]]></content:encoded>
		<pubDate>Sat, 05 May 2012 04:00:04 GMT</pubDate>
		<guid isPermaLink="true">http://dev.eclipse.org/mhonarc/lists/henshin-dev/msg00431.html</guid>
		<author>emo@xxxxxxx (portal on behalf of emo)</author>
	</item>


	<item>
		<title>Re: [henshin-dev] Interpreter API draft</title>
		<link>http://dev.eclipse.org/mhonarc/lists/henshin-dev/msg00430.html</link>
		<description> Everything sounds reasonable.  Keep on the good work! I will re-join when my dissertation has been finished. Until that, I am afraid I can solely give needless comments ;-) Am 30.04.2012 23:43, schrieb Christian Krause: Attachment: signature.asc Descripti...</description>
		<content:encoded><![CDATA[<table width="100%"><tr><td bgcolor="#FFFFFF" style="background-color: #FFFFFF; color: #000000; "><font color="#000000">
  
  
    Everything sounds reasonable.&nbsp; <br>
    <br>
    Keep on the good work! I will re-join when my dissertation has been
    finished. Until that, I am afraid I can solely give needless
    comments ;-)<br>
    <br>
    Am 30.04.2012 23:43, schrieb Christian Krause:
    <blockquote cite="" type="cite">Hi,
      <br>
      <br>
      I created a first draft for the new API -- see the attached
      interfaces. We should now discuss the details and design
      decisions. I'm keen to hear your ideas :).
      <br>
      <br>
      A few comments up-front:
      <br>
      <br>
      - all classes are meant to be reusable (for multiple executions)
      <br>
      - all objects are supposed to be created using a factory
      <br>
      - the engine has 2 jobs now: (1) find matches, (2) create a model
      changes
      <br>
      - options are directly stored in the engine (no
      TransformationOption class)
      <br>
      - the engine internally keeps the reference to the _javascript_
      engine (the reason for keeping the engine separately)
      <br>
      - matches are computed on-the-fly in an iterator
      <br>
      - for applying a rule either a partial match (e.g. an empty one)
      or a complete match can be specified. Partial matches are
      completed automatically if no complete match is defined
      explicitly.
      <br>
      <br>
      If you don't understand something, please ask. The API should be
      powerful, user-friendly, minimal and allow to build efficient
      implementations.
      <br>
      <br>
      Please make suggestions for (and *briefly* say why):
      <br>
      <br>
      - Names of interfaces / methods etc.
      <br>
      - Functionality that you think should be moved, added, deleted,
      <br>
      - Any other ideas you have ;)
      <br>
      <br>
      Cheers,
      <br>
      Christian
      <br>
      <br>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
henshin-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:henshin-dev@xxxxxxxxxxx">henshin-dev@xxxxxxxxxxx</a>
<a class="moz-txt-link-freetext" href="https://dev.eclipse.org/mailman/listinfo/henshin-dev">https://dev.eclipse.org/mailman/listinfo/henshin-dev</a>
</pre>
    </blockquote>
    <br>
  

</font></td></tr></table><p><strong>Attachment:
<a href="pgpZlIZZ6EV2u.pgp" ><tt>signature.asc</tt></a></strong><br>
<em>Description:</em> OpenPGP digital signature</p>
]]></content:encoded>
		<pubDate>Fri, 04 May 2012 07:13:26 GMT</pubDate>
		<guid isPermaLink="true">http://dev.eclipse.org/mhonarc/lists/henshin-dev/msg00430.html</guid>
		<author>henshin.stj@xxxxxxx (Stefan Jurack)</author>
	</item>


	<item>
		<title>[henshin-dev] Interpreter API draft</title>
		<link>http://dev.eclipse.org/mhonarc/lists/henshin-dev/msg00429.html</link>
		<description>Hi, I created a first draft for the new API -- see the attached interfaces. We should now discuss the details and design decisions. I'm keen to hear your ideas :). A few comments up-front: - all classes are meant to be reusable (for multiple executions) - ...</description>
		<content:encoded><![CDATA[<pre style="margin: 0em;">Hi,</pre><br>
<tt>I created a first draft for the new API -- see the attached interfaces. 
We should now discuss the details and design decisions. I'm keen to hear 
your ideas :).</tt><br>
<br>
<pre style="margin: 0em;">A few comments up-front:</pre><br>
<tt>- all classes are meant to be reusable (for multiple executions)<br>
- all objects are supposed to be created using a factory<br>
- the engine has 2 jobs now: (1) find matches, (2) create a model changes<br>
- options are directly stored in the engine (no TransformationOption class)<br>
- the engine internally keeps the reference to the JavaScript engine 
(the reason for keeping the engine separately)<br>
- matches are computed on-the-fly in an iterator<br>
- for applying a rule either a partial match (e.g. an empty one) or a 
complete match can be specified. Partial matches are completed 
automatically if no complete match is defined explicitly.</tt><br>
<br>
<tt>If you don't understand something, please ask. The API should be 
powerful, user-friendly, minimal and allow to build efficient 
implementations.</tt><br>
<br>
<pre style="margin: 0em;">Please make suggestions for (and *briefly* say why):</pre><br>
<pre style="margin: 0em;">- Names of interfaces / methods etc.
- Functionality that you think should be moved, added, deleted,
- Any other ideas you have ;)</pre><br>
<pre style="margin: 0em;">Cheers,
Christian</pre><br>
<pre>package org.eclipse.emf.henshin.interpreter;

import org.eclipse.emf.henshin.model.Parameter;
import org.eclipse.emf.henshin.model.TransformationUnit;

/**
 * Parameter assignment interface for storing parameter values.
 * @author Christian Krause
 */
public interface Assignment {

	/**
	 * Get the unit that this assignment refers to.
	 * @return The transformation unit.
	 */
	TransformationUnit getUnit();

	/**
	 * Set the unit that this assignment refers to.
	 * @param unit The transformation unit.
	 */
	void setUnit(TransformationUnit unit);

	/**
	 * Get the value assigned to a parameter.
	 * @param param The parameter.
	 * @return The assigned value or &lt;code&gt;null&lt;/code&gt;.
	 */
	Object getParameterValue(Parameter param);
	
	/**
	 * Set the assigned value for a parameter.
	 * @param param The parameter.
	 * @param value The value to be assigned with the parameter.
	 */
	void setParameterValue(Parameter param, Object value);
	
	/**
	 * Clear this assignment.
	 */
	void clear();
	
}
</pre><pre>package org.eclipse.emf.henshin.interpreter;

import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.change.ChangeDescription;

/**
 * Change descriptions for {@link EGraph}.
 * Created objects are stored in {@link #getObjectsToAttach()}.
 * Deleted objects are stored in {@link #getObjectsToDetach()}.
 * 
 * @author Christian Krause
 *
 */
public interface EChange extends ChangeDescription {
	
	/**
	 * Set the {@link EGraph} this change refers to.
	 * @param graph The {@link EGraph}.
	 */
	void setEGraph(EGraph graph);

	/**
	 * Helper method for adding a reference change.
	 * @param object Object to be changed.
	 * @param reference Reference to be changed.
	 * @param value Object that should be added to or deleted from the reference.
	 * @param delete Flag indicating whether the reference should be deleted.
	 */
	void addReferenceChange(EObject object, EReference reference, EObject value, boolean delete);
	
	/**
	 * Helper method for adding an attribute change.
	 * @param object Object to be changed.
	 * @param attribute Attribute to be changed.
	 * @param value New value for the attribute.
	 * @param delete Flag indicating whether the value should be deleted.
	 */
	void addAttributeChange(EObject object, EAttribute attribute, String value, boolean delete);
	
}
</pre><pre>package org.eclipse.emf.henshin.interpreter;

import java.util.Set;

import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.util.ECrossReferenceAdapter;

/**
 * EGraph interface for storing object graphs.
 * @author Christian Krause
 */
public interface EGraph extends Set&lt;EObject&gt; {
	
	/**
	 * Adds an {@link EObject} and all its children to this graph.
	 * @param root The root object of the tree.
	 * @return &lt;code&gt;true&lt;/code&gt; if an object was added.
	 */
	boolean addTree(EObject root);
	
	/**
	 * Removes an {@link EObject} and all its children from this graph.
	 * @param root The root object of the tree.
	 * @return &lt;code&gt;true&lt;/code&gt; if any object was removed. 
	 */
	boolean removeTree(EObject root);
	
	/**
	 * Get all {@link EObject}s of this graph which are compatible with the given type.
	 * @param type The type of the objects.
	 * @param strict Whether subtypes are excluded from the result.
	 * @return A set of {@link EObject}s compatible with the type.
	 */
	Set&lt;EObject&gt; getDomain(EClass type, boolean strict);
	
	/**
	 * Check whether the domain for a type is empty. This is the case if and only
	 * if {@link #getDomain(EClass, boolean)} returns an empty list.
	 * @param type The type.
	 * @param strict Whether subtypes are excluded.
	 * @return &lt;code&gt;true&lt;/code&gt; if the domain is empty.
	 */
	boolean isDomainEmpty(EClass type, boolean strict);

	/**
	 * Get the cross reference adapter of this graph.
	 * @return The cross reference adapter.
	 */
	ECrossReferenceAdapter getCrossReferenceAdapter();

}
</pre><pre>/*******************************************************************************
 * Copyright (c) 2010 CWI Amsterdam, Technical University Berlin, 
 * Philipps-University Marburg and others. All rights reserved. 
 * This program and the accompanying materials are made 
 * available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * <a  href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>
 *
 * Contributors:
 *     Technical University Berlin - initial API and implementation
 *******************************************************************************/
package org.eclipse.emf.henshin.interpreter;

import java.util.Map;

import org.eclipse.emf.henshin.model.Rule;

/**
 * Engine interface for the Henshin interpreter.
 */
public interface Engine {
	
	/**
	 * Option for general injective rule matching. 
	 */
	String OPTION_INJECTIVE_MATCHING = &quot;INJECTIVE_MATCHING&quot;;
	
	/**
	 * Option for general checks for dangling edges.
	 */
	String OPTION_CHECK_DANGLING = &quot;CHECK_DANGLING&quot;;
	
	/**
	 * Option for general deterministic engine behavior.
	 */
	String OPTION_DETERMINISTIC = &quot;DETERMINISTIC&quot;;

	/**
	 * Find matches for a {@link Rule} in an {@link EGraph}.
	 * @param rule Rule to be matched.
	 * @param graph Graph where the match should be found.
	 * @param partialMatch Partial match (can be empty or &lt;code&gt;null&lt;/code&gt;).
	 * @return An iterable list of matches.
	 */
	Iterable&lt;Match&gt; findMatches(Rule rule, EGraph graph, Match partialMatch);

	/**
	 * Create an {@link EChange} for applying a rule
	 * @param rule Rule to be applied.
	 * @param graph Graph where the rule should be applied.
	 * @param completeMatch A &lt;b&gt;complete&lt;/b&gt; match for the rule in the graph.
	 * @return An {@link EChange} object that can be used to apply the rule
	 */
	EChange createChange(Rule rule, EGraph graph, Match completeMatch);
	
	/**
	 * Get or set the options for this engine.
	 * @return Options map.
	 */
	Map&lt;?,?&gt; getOptions();
		
}
</pre><pre>package org.eclipse.emf.henshin.interpreter;

import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.henshin.interpreter.impl.InterpreterFactoryImpl;
import org.eclipse.emf.henshin.model.Rule;
import org.eclipse.emf.henshin.model.TransformationUnit;

/**
 * Factory interface for the Henshin interpreter.
 * @author Christian Krause
 */
public interface InterpreterFactory {
	
	/**
	 * Static factory instance.
	 */
	final static InterpreterFactory INSTANCE = new InterpreterFactoryImpl();
	
	/**
	 * Create a new {@link EGraph} object.
	 * @return A new {@link EGraph}.
	 */
	EGraph createEGraph();

	/**
	 * Create a new {@link EGraph} object.
	 * @param root A root object to be used in the graph.
	 * @return A new {@link EGraph}.
	 */
	EGraph createEGraph(EObject root);
	
	/**
	 * Create a new {@link EGraph} object.
	 * @param resource A resource whose content shall be used in the graph.
	 * @return A new {@link EGraph}.
	 */
	EGraph createEGraph(Resource resource);
	
	/**
	 * Create an {@link Assignment} object.
	 * @param unit Target {@link TransformationUnit}.
	 * @return A new {@link Assignment}.
	 */
	Assignment createAssignment(TransformationUnit unit);
	
	/**
	 * Create a {@link Match} object.
	 * @param Rule to be matched.
	 * @return A new {@link Match}.
	 */
	Match createMatch(Rule rule);

	/**
	 * Create an {@link Engine} object. For engines create with this
	 * factory method, it is always ensured that fresh {@link Match}s
	 * and {@link EChange}s are created.
	 * @return A new {@link Engine}.
	 */
	Engine createEngine();
	
	/**
	 * Create a new minimal {@link Engine} object. Minimal engines
	 * save memory by reusing {@link Match}s and {@link EChange}s.
	 * @return A new minimal {@link Engine}.
	 */
	Engine createMinimalEngine();

	/**
	 * Create a new {@link UnitApplication}.
	 * @param unit {@link TransformationUnit} to be applied.
	 * @param graph {@link EGraph} the unit should be applied to.
	 * @param engine {@link Engine} to be used.
	 * @return A new {@link UnitApplication}.
	 */
	UnitApplication createUnitApplication(TransformationUnit unit, EGraph graph, Engine engine);

	/**
	 * Create a new {@link RuleApplication}.
	 * @param unit {@link Rule} to be applied.
	 * @param graph {@link EGraph} the rule should be applied to.
	 * @param engine {@link Engine} to be used.
	 * @return A new {@link RuleApplication}.
	 */
	RuleApplication createRuleApplication(Rule rule, EGraph graph, Engine engine);
	
}
</pre><pre>package org.eclipse.emf.henshin.interpreter;

import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.henshin.model.Node;
import org.eclipse.emf.henshin.model.Rule;

/**
 * Match interface for mapping {@link Node}s to {@link EObject} and 
 * assigning parameter values by extending {@link Assignment}.
 * @author Christian Krause
 */
public interface Match extends Assignment {
	
	/**
	 * Get the rule that this match is used for.
	 * @return The rule.
	 */
	Rule getRule();

	/**
	 * Set the rule that this match is used for.
	 * @param rule The rule.
	 */
	void setRule(Rule rule);

	/**
	 * Get the match target for a node.
	 * @param node The node.
	 * @return The matched target object.
	 */
	EObject getNodeTarget(Node node);
	
	/**
	 * Set the match target for a node.
	 * @param node The node.
	 * @param target The match target.
	 */
	void setNodeTarget(Node node, EObject target);
	
	/**
	 * Get the nested matches for a multi-rule.
	 * @param multiRule The multi-rule.
	 * @return List of matches.
	 */
	EList&lt;Match&gt; getNestedMatches(Rule multiRule);

	/**
	 * Checks whether this match overlaps with another match. 
	 * The second match can be from a different rule.
	 * @param match A second match to check against.
	 * @return &lt;code&gt;true&lt;/code&gt; if both matches have common targets.
	 */
	boolean overlapsWith(Match match);

	/**
	 * Checks if all nodes have a target and all nested matches are also complete.
	 * @return &lt;code&gt;true&lt;/code&gt; if all nodes are matched.
	 */
	boolean isComplete();
	
	/**
	 * Checks whether this match is complete, whether the typing of the matched
	 * objects is correct with respect to the node types, and whether all edges
	 * are present.
	 * @return &lt;code&gt;true&lt;/code&gt; if the match is valid.
	 */
	boolean isValid();

	/**
	 * Checks whether this is a comatch. 
	 * @return &lt;code&gt;true&lt;/code&gt; if it is a comatch.
	 */
	boolean isCoMatch();
	
	/**
	 * Decide whether this is a comatch. 
	 * @param isCoMatch &lt;code&gt;true&lt;/code&gt; if it is a comatch.
	 */
	void setIsCoMatch(boolean isCoMatch);

}
</pre><pre>package org.eclipse.emf.henshin.interpreter;

import org.eclipse.emf.henshin.model.Rule;

/**
 * Rule application interface for executing a {@link Rule}.
 * 
 * @author Christian Krause
 */
public interface RuleApplication extends UnitApplication {

	/**
	 * Get the rule to be applied.
	 * @return The rule to be applied.
	 */
	Rule getRule();

	/**
	 * Set the rule to be applied.
	 * @param rule The rule to be applied.
	 */
	void setRule(Rule rule);

	/**
	 * Get the partial match to be used.
	 * @return The partial match.
	 */
	Match getPartialMatch();

	/**
	 * Set the partial match to be used.
	 * @param partialMatch The partial match.
	 */
	void setPartialMatch(Match partialMatch);

	/**
	 * Get the complete match to be used.
	 * @return The complete match.
	 */
	Match getCompleteMatch();

	/**
	 * Set the complete match to be used.
	 * @param completeMatch The complete match.
	 */
	void setCompleteMatch(Match completeMatch);

	/**
	 * Get the used comatch.
	 * @return The comatch.
	 */
	Match getCoMatch();

}
</pre><pre>package org.eclipse.emf.henshin.interpreter;

import org.eclipse.emf.henshin.model.TransformationUnit;

/**
 * Unit application interface for executing a {@link TransformationUnit}.
 * If you want to execute a transformation rule, use {@link RuleApplication}
 * instead.
 * 
 * @author Christian Krause
 */
public interface UnitApplication {

	/**
	 * Get the unit to be applied.
	 * @return The transformation unit.
	 */
	TransformationUnit getUnit();

	/**
	 * Set the unit to be applied.
	 * @param unit The transformation unit.
	 */
	void setUnit(TransformationUnit unit);
	
	/**
	 * Get the parameter assignment to be used.
	 * @return The parameter assignment.
	 */
	Assignment getAssignment();

	/**
	 * Set the parameter assignment to be used.
	 * @param assignment The parameter assignment.
	 */
	void setAssignment(Assignment assignment);

	/**
	 * Execute this unit application.
	 * @return &lt;code&gt;true&lt;/code&gt; if the unit was successfully applied.
	 */
	boolean execute();
	
	/**
	 * Undo this unit application. This restores the original model as
	 * it was before calling {@link #execute()}.
	 */
	void undo();
	
	/**
	 * Redo this unit application. This method can be invoked after
	 * {@link #undo()} has been invoked. The effect is that the
	 * unit is executed again.
	 */
	void redo();
	
}
</pre>]]></content:encoded>
		<pubDate>Mon, 30 Apr 2012 21:43:34 GMT</pubDate>
		<guid isPermaLink="true">http://dev.eclipse.org/mhonarc/lists/henshin-dev/msg00429.html</guid>
		<author>henshin.ck@xxxxxxx (Christian Krause)</author>
	</item>


	<item>
		<title>Re: [henshin-dev] Fwd: Possible build problem for	cbi_henshin_nightly</title>
		<link>http://dev.eclipse.org/mhonarc/lists/henshin-dev/msg00428.html</link>
		<description> Regarding the build problem: I rebuild it manually and now it is ok again. Cheers, Christian Am 29.04.2012 09:31, schrieb Christian Krause: </description>
		<content:encoded><![CDATA[<table width="100%"><tr><td bgcolor="#FFFFFF" style="background-color: #FFFFFF; color: #000000; "><font color="#000000">
  
  
    Regarding the build problem: I rebuild it manually and now it is ok
    again.<br>
    <br>
    Cheers,<br>
    Christian<br>
    <br>
    Am 29.04.2012 09:31, schrieb Christian Krause:
    <blockquote cite="" type="cite">
      
      Due to a technical problem, I had to point the error reports to my
      address again...<br>
      <br>
      On 04/29/2012 09:23 AM, Christian Krause wrote:
      <blockquote cite="" type="cite">
        
        The promote script reported a build error for the nightly
        release. It seems like there is an SVN problem with the migratio
        plug-in. The problem occurred during the last two attempted
        builds. I am not sure what it is...<br>
        <br>
        The error reports were sent to my address up til now. I will
        point it to the mailing list now...<br>
        <br>
        Regarding the API change for the interpreter: I am close to
        finishing the new interfaces and will commit them in the next
        couple of days to the "performance" branch. Then we can discuss
        them and adopt the implementation (I already started working on
        that...)<br>
        <br>
        Cheers,<br>
        Christian<br>
        <br>
        &nbsp; <br>
        <br>
        -------- Original Message --------
        <table class="moz-email-headers-table" border="0"
          cellpadding="0" cellspacing="0">
          <tbody>
            <tr>
              <th align="RIGHT" nowrap="nowrap" valign="BASELINE">Subject:

              </th>
              <td>Possible build problem for cbi_henshin_nightly</td>
            </tr>
            <tr>
              <th align="RIGHT" nowrap="nowrap" valign="BASELINE">Date:
              </th>
              <td>Sun, 29 Apr 2012 02:20:03 -0400</td>
            </tr>
            <tr>
              <th align="RIGHT" nowrap="nowrap" valign="BASELINE">From:
              </th>
              <td><a moz-do-not-send="true"
                  class="moz-txt-link-abbreviated"
                  href="mailto:ckrause@xxxxxxxxxxx">ckrause@xxxxxxxxxxx</a>
                (Christian Krause)</td>
            </tr>
            <tr>
              <th align="RIGHT" nowrap="nowrap" valign="BASELINE">To: </th>
              <td><a moz-do-not-send="true"
                  class="moz-txt-link-abbreviated"
                  href="mailto:henshin.ck@xxxxxxxxx">henshin.ck@xxxxxxxxx</a></td>
            </tr>
          </tbody>
        </table>
        <br>
        <br>
        <pre>Check out <a moz-do-not-send="true" class="moz-txt-link-freetext" href="https://hudson.eclipse.org/hudson/job/cbi_henshin_nightly">https://hudson.eclipse.org/hudson/job/cbi_henshin_nightly</a>
</pre>
      </blockquote>
      <br>
    </blockquote>
    <br>
  

</font></td></tr></table>]]></content:encoded>
		<pubDate>Sun, 29 Apr 2012 08:53:15 GMT</pubDate>
		<guid isPermaLink="true">http://dev.eclipse.org/mhonarc/lists/henshin-dev/msg00428.html</guid>
		<author>henshin.ck@xxxxxxx (Christian Krause)</author>
	</item>
	<item>
		<title>Re: [henshin-dev] Fwd: Possible build problem for	cbi_henshin_nightly</title>
		<link>http://dev.eclipse.org/mhonarc/lists/henshin-dev/msg00427.html</link>
		<description> </description>
		<content:encoded><![CDATA[<table width="100%"><tr><td bgcolor="#FFFFFF" style="background-color: #FFFFFF; color: #000000; "><font color="#000000">
  
  
    Due to a technical problem, I had to point the error reports to my
    address again...<br>
    <br>
    On 04/29/2012 09:23 AM, Christian Krause wrote:
    <blockquote cite="" type="cite">
      
      The promote script reported a build error for the nightly release.
      It seems like there is an SVN problem with the migratio plug-in.
      The problem occurred during the last two attempted builds. I am
      not sure what it is...<br>
      <br>
      The error reports were sent to my address up til now. I will point
      it to the mailing list now...<br>
      <br>
      Regarding the API change for the interpreter: I am close to
      finishing the new interfaces and will commit them in the next
      couple of days to the "performance" branch. Then we can discuss
      them and adopt the implementation (I already started working on
      that...)<br>
      <br>
      Cheers,<br>
      Christian<br>
      <br>
      &nbsp; <br>
      <br>
      -------- Original Message --------
      <table class="moz-email-headers-table" border="0" cellpadding="0"
        cellspacing="0">
        <tbody>
          <tr>
            <th align="RIGHT" nowrap="nowrap" valign="BASELINE">Subject:
            </th>
            <td>Possible build problem for cbi_henshin_nightly</td>
          </tr>
          <tr>
            <th align="RIGHT" nowrap="nowrap" valign="BASELINE">Date: </th>
            <td>Sun, 29 Apr 2012 02:20:03 -0400</td>
          </tr>
          <tr>
            <th align="RIGHT" nowrap="nowrap" valign="BASELINE">From: </th>
            <td><a moz-do-not-send="true"
                class="moz-txt-link-abbreviated"
                href="mailto:ckrause@xxxxxxxxxxx">ckrause@xxxxxxxxxxx</a>
              (Christian Krause)</td>
          </tr>
          <tr>
            <th align="RIGHT" nowrap="nowrap" valign="BASELINE">To: </th>
            <td><a moz-do-not-send="true"
                class="moz-txt-link-abbreviated"
                href="mailto:henshin.ck@xxxxxxxxx">henshin.ck@xxxxxxxxx</a></td>
          </tr>
        </tbody>
      </table>
      <br>
      <br>
      <pre>Check out <a moz-do-not-send="true" class="moz-txt-link-freetext" href="https://hudson.eclipse.org/hudson/job/cbi_henshin_nightly">https://hudson.eclipse.org/hudson/job/cbi_henshin_nightly</a>
</pre>
    </blockquote>
    <br>
  

</font></td></tr></table>]]></content:encoded>
		<pubDate>Sun, 29 Apr 2012 07:31:35 GMT</pubDate>
		<guid isPermaLink="true">http://dev.eclipse.org/mhonarc/lists/henshin-dev/msg00427.html</guid>
		<author>henshin.ck@xxxxxxx (Christian Krause)</author>
	</item>
	<item>
		<title>[henshin-dev] Fwd: Possible build problem for cbi_henshin_nightly</title>
		<link>http://dev.eclipse.org/mhonarc/lists/henshin-dev/msg00426.html</link>
		<description> The promote script reported a build error for the nightly release. It seems like there is an SVN problem with the migratio plug-in. The problem occurred during the last two attempted builds. I am not sure what it is... The error reports were sent to my ad...</description>
		<content:encoded><![CDATA[<table width="100%"><tr><td bgcolor="#FFFFFF" style="background-color: #FFFFFF; color: #000000; "><font color="#000000">
  
  
    The promote script reported a build error for the nightly release.
    It seems like there is an SVN problem with the migratio plug-in. The
    problem occurred during the last two attempted builds. I am not sure
    what it is...<br>
    <br>
    The error reports were sent to my address up til now. I will point
    it to the mailing list now...<br>
    <br>
    Regarding the API change for the interpreter: I am close to
    finishing the new interfaces and will commit them in the next couple
    of days to the "performance" branch. Then we can discuss them and
    adopt the implementation (I already started working on that...)<br>
    <br>
    Cheers,<br>
    Christian<br>
    <br>
    &nbsp; <br>
    <br>
    -------- Original Message --------
    <table class="moz-email-headers-table" border="0" cellpadding="0"
      cellspacing="0">
      <tbody>
        <tr>
          <th align="RIGHT" nowrap="nowrap" valign="BASELINE">Subject: </th>
          <td>Possible build problem for cbi_henshin_nightly</td>
        </tr>
        <tr>
          <th align="RIGHT" nowrap="nowrap" valign="BASELINE">Date: </th>
          <td>Sun, 29 Apr 2012 02:20:03 -0400</td>
        </tr>
        <tr>
          <th align="RIGHT" nowrap="nowrap" valign="BASELINE">From: </th>
          <td><a class="moz-txt-link-abbreviated" href="mailto:ckrause@xxxxxxxxxxx">ckrause@xxxxxxxxxxx</a> (Christian Krause)</td>
        </tr>
        <tr>
          <th align="RIGHT" nowrap="nowrap" valign="BASELINE">To: </th>
          <td><a class="moz-txt-link-abbreviated" href="mailto:henshin.ck@xxxxxxxxx">henshin.ck@xxxxxxxxx</a></td>
        </tr>
      </tbody>
    </table>
    <br>
    <br>
    <pre>Check out <a class="moz-txt-link-freetext" href="https://hudson.eclipse.org/hudson/job/cbi_henshin_nightly">https://hudson.eclipse.org/hudson/job/cbi_henshin_nightly</a>
</pre>
  

</font></td></tr></table>]]></content:encoded>
		<pubDate>Sun, 29 Apr 2012 07:23:59 GMT</pubDate>
		<guid isPermaLink="true">http://dev.eclipse.org/mhonarc/lists/henshin-dev/msg00426.html</guid>
		<author>henshin.ck@xxxxxxx (Christian Krause)</author>
	</item>


	<item>
		<title>Re: [henshin-dev] Interpreter API change?</title>
		<link>http://dev.eclipse.org/mhonarc/lists/henshin-dev/msg00425.html</link>
		<description>I totally agree with that! Am 27.04.2012 13:16, schrieb Christian Krause: Attachment: signature.asc Description: OpenPGP digital signature </description>
		<content:encoded><![CDATA[<pre>I totally agree with that!

Am 27.04.2012 13:16, schrieb Christian Krause:
&gt; Hi,
&gt;
&gt; while I was working on optimizations for the interpreter, I noticed
&gt; (again) that its API has room for improvement. For example:
&gt;
&gt; - the InterpreterEngine interface knows about (the concrete class)
&gt; RuleApplication,
&gt; - it performs the matching and the application of rules, but not the
&gt; application of units,
&gt; - findMatch(), execute(), undo() and redo() are defined in
&gt; RuleApplication, (UnitApplication) and InterpreterEngine
&gt; - there are no interfaces for RuleApplication, UnitApplication, Match,
&gt; ModelChange
&gt; - TransformationOptions is defined in the matching plug-in (it is
&gt; required there, but it is strange because the matching plug-in does no
&gt; transformation)
&gt;
&gt; The API is probably 5 years old. From my side, I think we are at a
&gt; stage where we should start thinking about redesigning the API. We
&gt; have this opportunity only as long we are an incubation project. Once
&gt; we become a real project, there is no chance anymore to change the API
&gt; again. Therefore, my suggestion is to do it now.
&gt;
&gt; Cheers,
&gt; Christian
&gt; _______________________________________________
&gt; henshin-dev mailing list
&gt; henshin-dev@xxxxxxxxxxx
&gt; <a  href="https://dev.eclipse.org/mailman/listinfo/henshin-dev">https://dev.eclipse.org/mailman/listinfo/henshin-dev</a>


</pre><p><strong>Attachment:
<a href="pgp3S6jEjaCAG.pgp" ><tt>signature.asc</tt></a></strong><br>
<em>Description:</em> OpenPGP digital signature</p>
]]></content:encoded>
		<pubDate>Fri, 27 Apr 2012 11:18:22 GMT</pubDate>
		<guid isPermaLink="true">http://dev.eclipse.org/mhonarc/lists/henshin-dev/msg00425.html</guid>
		<author>henshin.stj@xxxxxxx (Stefan Jurack)</author>
	</item>
	<item>
		<title>[henshin-dev] Interpreter API change?</title>
		<link>http://dev.eclipse.org/mhonarc/lists/henshin-dev/msg00424.html</link>
		<description>Hi, while I was working on optimizations for the interpreter, I noticed (again) that its API has room for improvement. For example: - the InterpreterEngine interface knows about (the concrete class) RuleApplication, - it performs the matching and the appli...</description>
		<content:encoded><![CDATA[<pre style="margin: 0em;">Hi,</pre><br>
<tt>while I was working on optimizations for the interpreter, I noticed 
(again) that its API has room for improvement. For example:</tt><br>
<br>
<tt>- the InterpreterEngine interface knows about (the concrete class) 
RuleApplication,<br>
- it performs the matching and the application of rules, but not the 
application of units,<br>
- findMatch(), execute(), undo() and redo() are defined in 
RuleApplication, (UnitApplication) and InterpreterEngine<br>
- there are no interfaces for RuleApplication, UnitApplication, Match, 
ModelChange<br>
- TransformationOptions is defined in the matching plug-in (it is 
required there, but it is strange because the matching plug-in does no 
transformation)</tt><br>
<br>
<tt>The API is probably 5 years old. From my side, I think we are at a stage 
where we should start thinking about redesigning the API. We have this 
opportunity only as long we are an incubation project. Once we become a 
real project, there is no chance anymore to change the API again. 
Therefore, my suggestion is to do it now.</tt><br>
<br>
<pre style="margin: 0em;">Cheers,
Christian</pre><br>
]]></content:encoded>
		<pubDate>Fri, 27 Apr 2012 11:16:10 GMT</pubDate>
		<guid isPermaLink="true">http://dev.eclipse.org/mhonarc/lists/henshin-dev/msg00424.html</guid>
		<author>henshin.ck@xxxxxxx (Christian Krause)</author>
	</item>


	<item>
		<title>Re: [henshin-dev] Performance tweaks</title>
		<link>http://dev.eclipse.org/mhonarc/lists/henshin-dev/msg00423.html</link>
		<description>Hi Christian, Quoting Christian Krause &amp;lt;henshin.ck@xxxxxxxxx&amp;gt;: I somehow didn't get that you were mainly talking about improving the statespace generator's speed (I thought it was a more general point about speeding up everything). For the space generator,...</description>
		<content:encoded><![CDATA[<pre style="margin: 0em;">Hi Christian,</pre><br>
<tt>Quoting Christian Krause &lt;henshin.ck@xxxxxxxxx&gt;:
</tt><blockquote style="border-left: #5555EE solid 0.2em; margin: 0em; padding-left: 0.85em"><tt>The reason why I am saying that we need to improve the performance  
is that the state space generation tool does not work as efficient  
as it should (compared to other tools).
</tt></blockquote><tt><br>I somehow didn't get that you were mainly talking about improving the  
statespace generator's speed (I thought it was a more general point  
about speeding up everything). For the space generator, it makes  
complete sense to use large statespaces as test objects and try to  
achieve improvements in memory consumption/management as a means to  
increase speed.</tt><br>
<br>
<pre style="margin: 0em;">Felix</pre><br>
<br>
]]></content:encoded>
		<pubDate>Wed, 25 Apr 2012 18:35:26 GMT</pubDate>
		<guid isPermaLink="true">http://dev.eclipse.org/mhonarc/lists/henshin-dev/msg00423.html</guid>
		<author>Riegerf@xxxxxxx (Riegerf)</author>
	</item>

 
	</channel>
	</rss>
<!-- MHonArc v2.6.10 -->

