====== Classboxes ====== ===== Introduction ===== Classboxes are modules that restrict the visibility of changes to selected clients only, thereby offering more freedom in the way unanticipated changes may be implemented, and thus reducing the need for convoluted design anomalies. ===== Current Implementation ===== The current implementation of classboxes is based on two components: * A [[Reflex]]-based library. * A [[http://jastadd.org/the-jastadd-extensible-java-compiler|JastAddJ]]-based compiler. The library provides a performant implementation of the semantincs of classboxes. This library can be used to define classboxes using its Java API. The compiler type-checks and compiles source files written in the concrete syntax of classboxes. The output of the compiler, besides the executable bytecode of the application, is the necessary configuration for the library. Using the compiler frees the user from manually using the Java API to define classboxes. ===== Download ===== The [[Reflex]] library for classboxes can be obtained from the following SVN repository: http://pleiad.dcc.uchile.cl/svn/incubator/misc/classbox/reflex-library The [[http://jastadd.org/the-jastadd-extensible-java-compiler|JastAddJ]]-based compiler can be downloaded from the following SVN repository: http://pleiad.dcc.uchile.cl/svn/incubator/misc/classbox/compiler Both URLs can be accessed using the username //guest// and password //guest//. ===== Credits ===== This work is being developed thanks to the Fondecyt Project number 7070296 at the University of Chile. Classboxes was originally conceived and developed by Alexandre Bergel. Original web page can be found here: [[http://www.iam.unibe.ch/~scg/Research/Classboxes/]] The current implementation based on [[Reflex]] and [[http://jastadd.org/the-jastadd-extensible-java-compiler|JastAddJ]] was implemented and is maintained by [[people:rtoledo|Rodolfo Toledo]] and [[people:vramiro|Victor Ramiro]].