This is an old revision of the document!
HeKatE Cases HowTo
Having some real-life case, the HeKatE Process description, and the skeleton case, follow the steps defined below to submit the new case description.
Preparation
choose your case, identify sources, files, etc
-
-
test the tools with provided examples,
report problems in
HaDEs CVStrac
Wiki Setup
choose your test NAME - this is cruicial, should be a single word, lowercase, mycase
, e.g. thermostat
, cardio
-
CVS Setup
cvs -d :ext:MYLOGIN@charon.ia.agh.edu.pl/mnt/cvs/cvs-hades co hekatecases
cd hekatecases ; mkdir hekate_case_mycase ; cvs add hekate_case_mycase ; cvs ci
CVS vs wiki:
The simple idea is, that all the files generated by tools (.pl, .xml, .dot, etc.) as well as other uploded files (PDF descriptions, etc) are to be submitted to the CVS using the hekatecases
module and the mycase
directory, see examples below.
The hekatecases
module is then checked automagically into the wiki's media
directory.
So all the files from the HaDEs CVS module hekatecases
are accessible in the
{{:hekate:cases:}}
media directory.
So if you do
cd cases/mycase ; cp /tmp/myfile.png . ; cvs add myfle.png ; cvs ci
then the file will be accessible from the wiki as
{{:hekate:cases:hekate_case_mycase:myfile.png}}
The wiki-visible version of the repository is updated periodically every 30 mins: 1, 31.
Phases
In all the phases at least one separate wiki page is created.
The name of the page matches the phase name,
e.g. in the Conceptualization a page called
hekate:cases:hekate_case_mycase:Conceptualization
is to be created.
Some phase can require extra pages, e.g. in the Conceptualization the page
hekate:cases:hekate_case_mycase:rules
is created.
In most of the pages some extra files generated with the HaDEs tools are generated.
These files are to be submitted to the CVS and simply referenced (liked) form the wiki pages.
See the hekate_case_thermostat case.
Description
Description
Simply create a comprehensive description in English.
Try to use simple short sentences.
Provide sources, references bibliography.
Save the description in the wikipage indicated in Description.
IMPORTANAT
If your case is based on some sources in electronic form (PDF, html, etc),
submit the to the CVS, besides providing links.
Be sure to cite, point full and adequate bibliographic reference
Conceptualization
Conceptualization
Try to provide or identify vocabulary, (separate page), i.e. concepts and relations that seem to be important in the case (such a vocabulary can be present in the original case description, e.g. UServ).
Depending on the source of the case,
provide the original rules in a separate wiki page (see the skel).
Try to provide some observations, insights, ideas, if possible.
Conceptual Design
Conceptual Design
The main phase where the ARDplus model is built.
VARDA is to be used as a generic tool.
HJEd is to be used as a additional tool.
To model a case with VARDA, a model (a Prolog) file for VARDA has to be written in a text editor.
Then, number of files have to be generated with VARDA.
The assumption is, you checked out the files and dirs as:
hekatecases
varda
Then create the model file in
hekatecases/hekate_case_mycase/hekate_case_mycase-mdl.pl
example:
hekatecases/hekate_case_thermostat/hekate_case_thermostat-mdl.pl
and create a link to it in the VARDA dir:
cd varda; ln -s ../hekatecases/hekate_case_mycase/hekate_case_mycase-mdl.pl
example:
cd varda; ln -s ../hekatecases/hekate_case_thermostat/hekate_case_thermostat-mdl.pl
If everything goes well just run the script:
cd varda; ./varda-case-gen mycase
this should generate all the files.
It is important to install fig2ps
package
A directory called hekate_case_mycase is created in the current (varda) dir, it holds all the files.
Copy them manually to the case dir, if desired, e.g.:
Also, try to model the case form scratch using HJEd.
Compare the resulting HML file.
Report observations and differences.
In general three design approaches can be considered:
general, when there are no original rules, just some data, description,
directed, when we do have original rules, explicitly stated,
refined, we take the directed one and remodel it using the expressiveness of XTT.
Having some original case description, the directed design has to be provided.
It is directed, because the designer tries to match the original rules.
If possible some other approaches should be tried (general),
as well as optimizing the directed (the refined).
Warning: As of closing the HeKatE project, we provide only ONE design, e.g. for the thermostat just the directed one.
The current file stricture for a case does not support several designs, and providing more than one now seems overcomplicated.
— Grzegorz J. Nalepa 2009/10/24 13:36
Attribute Specification
Attribute Specification
In this phase attribute named types and domains have to be specified.
Follow the general description of Attributes.
As of now (09.2009) the tool support is only provided by HQEed.
Use the HML file generated with VARDA to specify named types and physical attributes.
Commit the new file.
Please put the description of attributes in the wiki page!
In the future an XSLT translator from HML might be provided.
Prototyping
Prototyping
Use VARDA to generate the XTT prototype.
Save both the visual model, as well as the new hml.
In fact, the script should have done it for you.
Pleas compare the Prototype generated by VARDA,
with the prototype generated by HQEd
(load the -att.hml) file into HQEd and generate prototype).
Logical Design
Logical Design
Load the prototype to HQEd.
Design XTT by:
adding rules/rows
specifying links
Define states (around 10) from which the inference can be run! (
check if states get saved from HQEd).
Save the new HML file.
Generate HMR.
Test communication with HeaRT! To see how to run Heart go here: Heart Howto
Formal Analysis
In this phase the formal analysis of the model is performed.
Start with the previously defined XTT model.
Perform analysis with HalVA.
Comment on results.
Try to modify the model in a way that allows to test verification plugins (e.g. remove rules, change attribute values in conditions).
Additionally, try to modify models in a way that allows to test builtin HQEd quality checks.
Physical Design
Physical Design
Start HeaRT.
Run from different states in different modes.
Repeat with saving the full trajectory, save to files
.
Start server.
Repreat simulation from HQEd.
Integration
Integration
The minimum requirement is to implement callbacks allowing for an integration with a Java, Py thon, or PHP application.
Use the HeaRT
overview and the
HowTo.
Commint callback source files to the CVS.
more description
UML
Use the XSLT translators implemented by K. Kluza to build a UML representation.
HaThoR
Use the XSLT translators implemented by J. Szostek-Janik and W. T. Furmańska to build SemWeb representations.
Serialization
Use the serializers implemented by Ł. Łysik to build Java serialization and Drools model.
Summary
See: Summary
Provide an overall summary (natural language) of your experiences with this case.
Case Audit