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

Tools

  1. choose your case, identify sources, files, etc
  2. download tools: VARDA, HJEd, HQEd, HeaRT
  3. prepare runtime environment: SWI Prolog, GraphViz (VARDA), Java SE JDK (HJEd, HeaRT), optionally, for HeaRT integration: Py thon, PHP
  4. test the tools with provided examples, report problems in HaDEs CVStrac

Wiki Setup

  1. choose your test NAME - this is cruicial, should be a single word, lowercase, mycase, e.g. thermostat, cardio
  2. clone the skeleleton namespace hekate_case_skel to your case hekate_case_mycase by copying the pages

CVS Setup

  • checkout the cases modules:
cvs -d :ext:MYLOGIN@charon.ia.agh.edu.pl/mnt/cvs/cvs-hades co hekatecases
  • add your new case:
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. FIXME

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!
You can do it manually or use the BETA version of the XSLT translator from HML (in CVS): attHML2wikiTable.

HOW TO generate the wiki table with description of attributes with XSLT translator

  1. prepare attribute descriptions and their types in HQEd (Types, Attributes).
  2. export attributes to HML hekate_case_NAME-att.hml file (File→Attribute export→HML file).
  3. translate the HML file to text with translator attHML2wikiTable (require XSLT processor e.g. xsltproc) and copy the output text of Wiki Table to Wiki page :hekate_case_NAME:attribute_specification:
xsltproc attHML2wikiTable hekate_case_NAME-att.hml

Any mistakes in translation you can report to KKL.

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! (FIXME 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

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 FIXME.

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.

FIXME more description

UML

FIXME Use the XSLT translators implemented by K. Kluza to build a UML representation.

HaThoR

FIXME Use the XSLT translators implemented by J. Szostek-Janik and W. T. Furmańska to build SemWeb representations.

Serialization

FIXME 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

  • Pick a case
  • go through it step-by-step, using the howto and the design process description
  • detect any inconsistencies, errors, etc, w.r.t:
    • the process/howto steps
    • missing bibliographic data and sources in the description
    • language mistakes, including spelling errors in figures!
    • logical/design errors
    • any missing content including files/figure (in fact click manually on all the links!)
    • make sure that the XTT model is properly described: open the HMR file in HQEd, check for all the descriptions of types, attributes, and tables; see if the names of the types are sane
    • analyze the XTT model w.r.t to types and attribute domains - if they look sane and correct
    • look if the XTT and hqed screenshots are ok in terms of size - the picture should be readable but compact
    • fix online the mistakes in the wiki and in the cvs, e.g. if you find a spelling error in the figure, you must edit the varda model and/or the hqed design and regenerate all the files, then cvs ci them, and see the reult in the wiki. Depending on how much work it is, you can ask the original Author. for help.
hekate/cases/howto.txt · Last modified: 2019/06/27 15:49 (external edit)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0