Return to Tutorial

Illustrated documentation

After the launch of artEoz, you need to choose the langage you want to code in : Java or Python. If all the tools needed by artEoz are installed, the main graphic interface is displayed.

Below is an example of a memory diagram drawn by artEoz from the entered user java code in the left panel. This graphic represents the state of the memory at the end of the execution off all the instructions of the java code. To be able to get this diagram, you need to import geometrie.jar. This resource is available for download on the webpage “Resources import“.

Interface graphique d'artEoz

Interface graphique d’artEoz

Getting started with artEoz video

  • Do not try to turn on the sound, this video is silent: =)
  • Others videos are available on the webpage Videos.


Graphic user interface

  • enter your java or python code into the left panel. The instructions are considered to be in the main function.

NouveauProgramme create a new plain code panel. Enter, for example:

  • the memory diagram is shown into the right panel

CreerSchema leads to the creation or the update of the memory diagram

  • error messages and results of the print functions are displayed in the bottom panel

Language accepted

The code you enter looks like the body of a main function.

It is possible to instanciate classes, provided that these classes are defined in the java library or in the specifically imported resources. See the menu “Resources“.

  • coding in java :
    • (almost) all the statements are allowed:
      • declaration, assignment, declaration/assignment of primitive or object variables, arrays, lists, …
      • conditional statement
      • iterative statements: for and while
      • function calls, including System.out.println function
    • you can instanciate objects of your own java classes provided to add the resources with the “Resources” menu. It is thus possible to add:
      • a package (select the name of this directory in the FileChooser frame)
      • a jar file
      • a single file .class without defined package
    • what is not allowed:
      • the data read function on standard input
      • functions and classes declarations (if you need so, create your own package and then import the resource created), including anonymous classes.
  • coding in python :
    • (almost) all the statements are allowed:
      • declaration, assignment, declaration/assignment of primitive or object variables, arrays, lists, …
      • conditional statement
      • iterative statements: for and while
      • function calls, including print function
    • in python, you can define your own functions in the code panel. For example, see the video showing the call stack during the factorial function execution
    • you can instanciate objects of your own python classes provided to add the resources with the “Resources” menu. It is thus possible to add a .py file containing one or more classe definitions.
    • what is not allowed:
      • classes declarations
      • the data read function on standard input

Memory diagram options

  • the options concerning the memory diagram are in the “Options” menu. You can find here the visualization of inherited attributes, unreferenced objects or call stack. You can animate the call stack with the step-by-step options. It is not possible to execute step-by-step the inner body of the function called (may be later…). The effect of some of these options are shown in videos.
  • only part of the memory diagram options are implemented for the Python language. However, as it is possible to define functions directly into the code panel, it is also possible to visualize the execution in step-by-step mode for statements of the body functions.

Step-by-step option

StepPlus exit edit mode in the user code panel, display of arrow buttons which allow you to naviguate into your code:

Suivante one statement forward

Precedente one statement backward

Derniere execute all the statements of the user code

Premiere execute only the first statements of the user code

StepMoins exit the step-by-step mode and allow you to edit the user code

Resources import

You are able to import your own resources with the “Resources” menu:

  • in java, you can import:
    • a package (select the name of this directory in the FileChooser frame)
    • a jar file
    • a single file .class without defined package
  • in python, you can import:
    • a module

The imported resources then appear as items in the “Resources” menu. You can selected or deselect them at any time.

The information concerning all the checked resources will be save when exiting artEoz. At next launch, artEoz will import them automatically, unless the filepath has changed…

Managing your own code files

It is possible to save your code and open files:

EnregistrerSousProgramme Save as : save your code. The “Projet0” directory proposed is dedicated to your backups, but your can choose any other emplacement on your computer. It is not yet possible to manage other projects…

EnregistrerProgramme Save : save your code in the file previously given.

OuvrirProgramme Open file : load an existing code from a file.

In your home directory, artEoz automatically creates artEozJ.wk and/or artEozP.wk directory depending you code in Java language or in Python language. These directories contains your code files and other data informations such as the filepath to imported resources.

Memory diagram visualization options

ZoomPlus zoom in

ZoomMoins zoom out

Plus increase the number of links followed from a variable (video).

Moins decrease the number of links followed from a variable.

EnregistrerSchema save the memory diagram, you can choose the format of the image by giving a extension name to you filename.

Keyboard shortcuts

These shortcuts are displayed in the items of the menus.

In addition, you can use 3 function keys:

  • F5 : create/update the memory diagram
  • F6 : zoom in
  • F7 : zoom out

Notes

Aidedisplay the function summaries of the selected class. To select a class: double click on its name the user code (unfortunately, this word in not visually selected and the cursor move back to the end of the code…) then click on the “i” button. A pop-up frame will display the documentation: constructors and functions summaries (video).

logo2display the “about artEoz” frame

Javayou are coding in Java language (button with no effect)

Pythonyou are coding in Python language (button with no effect)