Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
hekate:cases:howto [2009/08/17 16:49]
gjn
hekate:cases:howto [2009/11/18 12:24]
kkluza changed the name of the XSLT translator file
Line 2: Line 2:
 ====== HeKatE Cases HowTo ====== ====== HeKatE Cases HowTo ======
  
-Having some real-life case, the [[hekate:​HeKatE Process]] description,​ and the [[hekate:​cases:​hekate_case_skel:​start]],​ follow the steps defined below to submit the new case description.+Having some real-life case, the [[hekate:​HeKatE Process]] description,​ and the [[hekate:​cases:​hekate_case_skel:​start|skeleton case]], follow the steps defined below to submit the new case description.
  
 ===== Preparation ===== ===== Preparation =====
Line 15: Line 15:
  
   - choose your test //NAME// - this is cruicial, should be a single word, lowercase, ''​mycase'',​ e.g. ''​thermostat'',​ ''​cardio''​   - choose your test //NAME// - this is cruicial, should be a single word, lowercase, ''​mycase'',​ e.g. ''​thermostat'',​ ''​cardio''​
-  - clone the skeleleton namespace [[hekate:​cases:​hekate_case_skel:​]] to your case [[hekate:​cases:​hekate_case_mycase:​]] ​(GJN might get you a copy)+  - clone the skeleleton namespace [[hekate:​cases:​hekate_case_skel:​]] to your case [[hekate:​cases:​hekate_case_mycase:​]] ​by copying the pages
  
  
 ==== CVS Setup ==== ==== CVS Setup ====
  
-  ​checkout the cases modules: +  ​checkout the cases modules:
-  cvs -d :​ext:​MYLOGIN@charon.ia.agh.edu.pl/​mnt/​cvs/​cvs-hades co cases +
-  - add your new case: +
-  cd cases ; mkdir hekate_case_mycase ; cvs add hekate_case_mycase ; cvs ci+
  
-//CVS vs wiki:// +  cvs -d :ext:MYLOGIN@charon.ia.agh.edu.pl/​mnt/​cvs/​cvs-hades co hekatecases
-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 ''​cases''​ module and the ''​mycase''​ directory, see examples below.+
  
-The ''​cases''​ module is then checkoud ​automagically into the wiki's ''​media''​ directory. +  * add your new case: 
-So all the files from the HaDEs CVS module ''​cases''​ are accessible in the+ 
 +  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:​}}   {{:​hekate:​cases:​}}
 media directory. media directory.
Line 38: Line 42:
   {{:​hekate:​cases:​hekate_case_mycase:​myfile.png}}   {{:​hekate:​cases:​hekate_case_mycase:​myfile.png}}
  
-The wiki-visible version of the repository is updated periodically every 30 mins: 1, 31.+The wiki-visible version of the repository is updated periodically every 30 mins: 1, 31. FIXME 
  
  
 ===== Phases ===== ===== Phases =====
  
-In all the phases at leas one //separate wiki page// is created.+In all the phases at least one //separate wiki page// is created.
 The name of the page matches the phase name,  The name of the page matches the phase name, 
 e.g. in the //​Conceptualization//​ a page called e.g. in the //​Conceptualization//​ a page called
-''​[[hekate:​cases:​hekate_case_mycase:​Conceptualization]]''​ is to be created.+''​hekate:​cases:​hekate_case_mycase:​Conceptualization''​ is to be created.
  
 Some phase can require extra pages, e.g. in the //​Conceptualization//​ the page Some phase can require extra pages, e.g. in the //​Conceptualization//​ the page
-''​[[hekate:​cases:​hekate_case_mycase:​rule]]''​+''​hekate:​cases:​hekate_case_mycase:​rules''​
 is created. is created.
  
Line 63: Line 67:
 Provide sources, references bibliography. Provide sources, references bibliography.
  
-Save the description in the file indicated in [[hekate:​hekate_process#​Description]].+Save the description in the wikipage ​indicated in [[hekate:​hekate_process#​Description]].
  
-If your case is based on some sources in electronical ​form (PDF, html, etc),+**IMPORTANAT** 
 +If your case is based on some sources in electronic ​form (PDF, html, etc),
 submit the to the CVS, besides providing links. submit the to the CVS, besides providing links.
 +
 +Be sure to cite, point full and adequate bibliographic reference :!:
  
 ==== Conceptualization ==== ==== Conceptualization ====
 [[hekate:​hekate_process#​Conceptualization]] [[hekate:​hekate_process#​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, Depending on the source of the case,
 provide the original rules in a separate wiki page (see the skel). provide the original rules in a separate wiki page (see the skel).
- 
-Try to provide or identify vocabulary, 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). 
  
 Try to provide some observations,​ insights, ideas, if possible. Try to provide some observations,​ insights, ideas, if possible.
Line 85: Line 92:
 [[:​hekate:​HJEd]] is to be used as a additional tool. [[:​hekate:​HJEd]] is to be used as a additional tool.
  
-Number ​of files have to be generated with VARDA. +To model a case with [[:​hekate:​VARDA]],​ a model (a Prolog) file for [[:​hekate:​VARDA]] has to be written in a text editor. 
-If everything goes well just run the scipt:+ 
 +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   cd varda; ./​varda-case-gen mycase
 this //should// generate all the files. 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 [[:​hekate:​HJEd]]. Also, try to model the case form scratch using [[:​hekate:​HJEd]].
 Compare the resulting HML file. Compare the resulting HML file.
-Report ​observatins ​and differences.+Report ​observations ​and differences.
  
-In general three design ​approches ​can be considered:​ +In general three design ​approaches ​can be considered:​ 
-  * general, +  * general, when there are no original rules, just some data, description
-  * directed, +  * directed, when we do have original rules, explicitly stated
-  * refined.+  * 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. Having some original case description,​ the //​directed//​ design has to be provided.
-It is directed, ​becasue ​the designer tries to match the orignal ​rules.+It is directed, ​because ​the designer tries to match the original ​rules.
  
 If possible some other approaches should be tried (//​general//​),​ If possible some other approaches should be tried (//​general//​),​
 as well as optimizing the //​directed//​ (the //​refined//​). 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.
 +
 + --- //​[[gjn@agh.edu.pl|Grzegorz J. Nalepa]] 2009/10/24 13:36//
  
 ==== Attribute Specification ==== ==== Attribute Specification ====
Line 115: Line 148:
 Commit the new file. Commit the new file.
  
-Please put the description of attributes in the wiki page! +Please put the description of attributes in the wiki page!\\  
-In the future an XSLT translator from HML might be provided.+You can do it manually or use the BETA version of the XSLT translator from HML (in CVS): {{:​hekate:​cases:​attHML2wikiTable|attHML2wikiTable}}. 
 + 
 +HOW TO generate the wiki table with description of attributes with XSLT translator 
 + 
 +  - prepare attribute descriptions and their types in HQEd (Types, Attributes). 
 +  - export attributes to HML hekate_case_NAME-att.hml file (File->​Attribute export->​HML file). 
 +  - 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:​ 
 +<​code>​ 
 +xsltproc attHML2wikiTable hekate_case_NAME-att.hml 
 +</​code> ​  
 + 
 +Any mistakes in translation you can report to KKL.
  
 ==== Prototyping ==== ==== Prototyping ====
Line 145: Line 189:
 Generate HMR. Generate HMR.
  
-Test communication with HeaRT!+Test communication with HeaRT! ​To see how to run Heart go here: [[https://​ai.ia.agh.edu.pl/​wiki/​hekate:​heart_howto#​running_heart_from_a_console | Heart Howto]]
  
 ==== Formal Analysis ==== ==== Formal Analysis ====
Line 179: Line 223:
 Use the HeaRT Use the HeaRT
 [[hekate:​heart_overview#​heart_integration|overview]] and the [[hekate:​heart_overview#​heart_integration|overview]] and the
-[[hekate:​heart_howto#​libraries|HowTo]].+[[hekate:​heart_howto#​callbacks_how_to|HowTo]].
  
 Commint callback source files to the CVS. Commint callback source files to the CVS.
Line 196: Line 240:
 FIXME FIXME
 Use the serializers implemented by Ł. Łysik to build Java serialization and Drools model. Use the serializers implemented by Ł. Łysik to build Java serialization and Drools model.
 +
 +
 +==== Summary ====
 +See: [[hekate:​hekate_process#​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 [[hekate_process|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