next to appendix |
PACCO |
up to main |
Pacco integrates a command language (Tcl) to supply a high level of abstraction and a fast, compiled language (C) to cater for low-level data processing.
The complexity of compiled-in structures is avoided by allowing object structures to be defined at run-time as grouping of basic components. This quality not only adds flexibility in programming but also brings the fringe benefit of providing an intrinsic semantic embedded in the component tree.
Run-time loading of extension libraries comes very handy when students develop C code. Pacco users can independently add new data types and/or processing functions, called actions, to their environment without modifying the installed copy of the package. This feature is very important because students do not work in a sheltered environment, but are faced with real world situations and difficulties.
Two different programming styles are available. Beside the more usual procedural one, student can experience data-driven programming thanks to the (kernel managed) bindings. Bindings are lists of commands linked to data changes: when the contents of an object part change, the relevant commands are executed triggering a processing chain-reaction.
Last, but not least, the kernel manages the high level allocation of data objects as either dynamic, shared or networked objects or as memory mapped files, which is useful when working with large files such as sequences.
Pacco has been used and tested for teaching since the academic year 1994-95 in the "Theory and Technic of Image Processing" course for the fifth and last year of the degree in computer engineering at the University of Pavia.
In the first half of 1997 we will start the test of TuLIP (Tutorials for Learning Image Processing) a PACCO based environment for the creation end the execution of interactive tutorials on Image Processing. This package could be the base of a more large project for the creation of a network sserver of Image Processing lessons.
At the same time we are developing a network dæmon, paccod, that will provide PACCO with new facilities for distributed computing and group-ware support. In particular the possibilty to have many PACCO interpreters connected togheter opens new perspectives in distributed teaching making easier the creation of a network server of Image Processing lessons.