| Edit | Rename | Upload | Download | Back to Top |
The PPR group is working on creating simple (thus, easily portable) software that will address the problem that a Smalltalk program is typically extremely closely tied to a Smalltalk virtual image.
Our approach is to create a relatively simple structure (of state-only objects) that represents a Smalltalk program. This network of objects can easily be taken out of the virtual image that created it, and is easily transportable between different virtual images, using standard mechanisms for state-only object interchange (such as storeOn:, binary, XML)
We have two primary goals. The first is to create for each platform a facility that will allow one to define which code components in a development image belong to a specific Smalltalk program, and then have a PPR of that program automatically extracted.
The complementary facility, which is also needed for each platform, is an installer which will install the program represented by a PPR into a development image. If the target environment is different from the source environment, this may not work.
To create a port of a PPRed program, the logical approach would be to transform (i.c., translate) the extracted PPR (which represents a - possibly valid - Smalltalk program in the source environment) to one representing a possibly valid Smalltalk program in the target environment.
After the translation the new PPR can be installed into the target environment using its standard installer. The PPR translation can be done in either environment, or in an unrelated one, and that environment does not even have to be a Smalltalk virtual image or program.
A very important feature of the process described above is that the steps do not have to be complete. If the extraction, transformation and installation steps each lose 1% (or 5%, or 10%) of the information, the process may still be very useful.
Of course, one always has the option to invest time in making make a step more efficient, and that work will be generically applicable.
Porting is only one area where PPRs may come in handy. Other areas could be:
At the first camp we implemented the PPR (its class diagram/object model is also known as the SPM - Smalltalk Program Model), created an extractor and an installer for VisualAge, which could represent (i.e., extract into a PPR) and recreate (i.e., install from the PPR) simple programs.
The whole thing was then ported to VSE (I am told, I wasn't actually present - ask Giorgio or Serguei). Porting the basic facilities manually to another dialect should not be an effort longer than one day, we suspect.
We have not decided what we will do after the first camp. I hope we will use the CampSmalltalk-PPR mailing list to set out one (or several) future directions. The group at camp 2000 in San Diego has decided that the code we release from that effort will be in the public domain. I would like to suggest we keep that policy for newer releases. Peter van Rooijen
| Edit | Rename | Upload | Download | Back to Top |