by
Dean Cooper >> Wed, 12 Apr 2000 8:21:35 GMT
If you write JADE in JADE, doesn't it have to load JADE 4 before JADE 5?
No, a previous release of JADE isn't required.
If you have a look in your system directory, you'll see several _sys*.dat files. These files contain the system schema definitions (ie: the objects that define the RootSchema, the development environment, the painter, etc). These files are the system equivalents of the _user*.dat files, which contain the objects that define all of your own (ie: user) schemas.
To run one of your JADE applications, you set up a shortcut to jade.exe and give it command line parameters specifying the path, schema, name, etc of the app that you want to run. When you invoke this shortcut, JADE uses these parameters in conjunction with the schema definition objects in the _user*.dat files to create a process and the appropriate environmental objects, and runs your app.
Running the development environment is similar. If you have a look at the shortcut you use to bring up the development environment, you'll see much the same thing. It's a shortcut to jade.exe (the same program used to initiate your user apps) and has command line parameters specifying that you want to run JADE itself. The difference when you invoke this shortcut is that the kernel recognises that you're starting a system app, and obtains the schema definition objects from the _sys*.dat files.
Apart from where the schema definition objects are located, the mechanism to run systems apps (ie: the development environment) is pretty much the same as it is to run user apps.
The definition of JADE is stored in JADE itself. It's a self-describing system. That's why, for a given JADE environment, we don't need anything outside that environment to be able to run.
Obviously there's a bit more to it than that behind the scenes, but going into too much more detail is difficult without a whiteboard!
Dean.