Yes, I plan to open source the code eventually.  Currently it's what you might call a proof-of-concept prototype -- an Agile programmer might refer to as a "spike".  I need to finish the prototype, rewrite/refactor the code, write documentation, and surround the code with tests before I open-source it.<div>
<br></div><div>Yes, I create FitNesse input from the DSCNLs.  I am taking this approach (instead of breaking completely away from FitNess) in order to retain compatibility with a currently-existing testing framework and to allow incremental porting of tests to the new approach, one test at a time.</div>
<div><br></div><div>By creating simple DSCNLs for simple subdomains I keep the complexity low.  I then take an opportunistic approach to translating from ACE to FitNesse.  Some languages require ACE --> DRS --> FitNesse and others are so simple that there's hardly any work at all to performing the translation.</div>
<div><br></div><div>My test case definition language is an example of a very simple language that is trivial to transform from ACE to Fitnesse.  In order to describe test cases you only need existential quantification and conjunction (or, as Sowa would say, existential conjunctive logic), i.e., in order to describe test cases you only need to specify the properties of the objects that exists and assume a closed world.</div>
<div><br></div><div>If the domain allows, you can use extralingual contextual information to infer the types of the objects being described.  For instance, if you are testing software that determines the price of a car based on its color, model year, and make, then you might want a section of your FitNesse tests to test only this part of your code.  Because you are in this section of the test, the context requires tests case that specifies the color, model year, and make of exactly one car. A sentence like "The car's color is blue and its model_year is 2000 and its make is Ford." would suffice.</div>
<div><br></div><div>Sentences like these are trivial to parse and interpret.  First, make sure the sentence conforms to the grammar by requiring that editing be done in ACE Edit.  Then pick out instances of the word 'is'.  The word immediately preceding each instance is a property name and the word immediately following it is the value of the property.  FitNesse tests are usually specified in tabular form, so you just create a row in the table that has the property values in the correct columns and your translation is done.</div>
<div><br></div><div>I am using ACE Editor instead of ACEWiki because I want to develop a tool that has a GUI that is substantially different from that of ACEWiki.  Also, I am not doing any reasoning at this point in time, though I plan to add reasoning in the future.  It just seemed that what I wanted was sufficiently different from ACEWiki to make development easier with ACE Editor, but I may be wrong about that.</div>
<div><br></div><div>ACE Editor is bundled with ACEWiki.  You can download the source code from ACEWiki's Launchpad site.</div><div><br></div><div>-- Ken<br><br><div class="gmail_quote">On Thu, Apr 21, 2011 at 12:53 PM, Jean-Marc Vanel <span dir="ltr"><<a href="mailto:jeanmarc.vanel@gmail.com">jeanmarc.vanel@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Hi Kenneth<br><br>Is this project code that you can open source and share ?<br>By "replace existing FitNesse tests" , I understand that somehow you translate the Attempto DRS into FitNesse input .<br>
How do you do that ?<br>
Why are you using ACE editor and not ACE Wiki ?<br>I guess it's because ACE editor is simpler ; but is ACE editor available as source ? Maybe you just use the  ACE editor instance at <a href="http://attempto.ifi.uzh.ch/webapps/aceeditor/" target="_blank">http://attempto.ifi.uzh.ch/webapps/aceeditor/</a> ...<div>
<div></div><div class="h5"><br>
<br><div class="gmail_quote">2011/4/21 Kenneth Jones <span dir="ltr"><<a href="mailto:kennethjone@gmail.com" target="_blank">kennethjone@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">

I am currently developing just such an application, but it's in its early stages.  I am actually trying to replace existing FitNesse tests.  Early results look promising.<div><br></div><div>At this point I am developing a set of domain-specific CNLs (DSCNLs), one for each section in the Fitnesse tests (a DSCNL for data specification, a DSCNL for counting, e.g., auditing rules, etc.).  By taking this approach and developing a grammar for each language I keep language design simple and minimize the amount of learning required by the users (business analysts).  I am using ACE Editor and APE.</div>


<div><br></div><div>-- Ken<br><br><div class="gmail_quote"><div><div></div><div>On Thu, Apr 21, 2011 at 10:32 AM, Jean-Marc Vanel <span dir="ltr"><<a href="mailto:jeanmarc.vanel@gmail.com" target="_blank">jeanmarc.vanel@gmail.com</a>></span> wrote:<br>


</div></div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex"><div><div></div><div>One idea is to use controlled English to express use cases in a much<br>


more formal way than JBehave, FitNesse and other testing and<br>
acceptance tools (<br>
<a href="http://en.wikipedia.org/wiki/Acceptance_testing#List_of_acceptance-testing_frameworks" target="_blank">http://en.wikipedia.org/wiki/Acceptance_testing#List_of_acceptance-testing_frameworks</a><br>
) . Note: acceptance testing is also known as functional testing,<br>
<br>
Any thoughts or experiences about this subject ?<br>
<br></div></div></blockquote></div></div>
</blockquote></div><br>-- <br>Jean-Marc Vanel<br>Déductions SARL - Consulting, services, training,<br>Rule-based programming, Semantic Web<br><a href="http://jmvanel.free.fr/" target="_blank">http://jmvanel.free.fr/</a> - EulerGUI, a turntable GUI for Semantic Web + rules, XML, UML, eCore, Java bytecode<br>

<a href="tel:%2B33%20%280%296%2089%2016%2029%2052" value="+33689162952" target="_blank">+33 (0)6 89 16 29 52</a> -- <a href="tel:%2B33%20%280%291%2039%2055%2058%2016" value="+33139555816" target="_blank">+33 (0)1 39 55 58 16</a><br>
( we rarely listen to voice messages, please send a mail instead )<br>
</div></div></blockquote></div><br></div>