home *** CD-ROM | disk | FTP | other *** search
-
- SHADOW.library V4.6 Released:09 Feb 1992 by David C. Navas
- Update to SHADOW V4.3 -- fixes 1.3 bugs and 68000 bugs (we hope).
-
- Freely distributable only for those environments which are
- themselves freely distributable.
-
- Includes shadow.library, ppipc.library, and several example programs
- including a class browser.
-
- Also included is more than 160k of Documentation!
-
- Requires AmigaDOS2.0!!!
-
- Taken from Shadow/Docs/Introduction.doc:
-
- SHADOW is a concurrent-object-oriented addition to AmigaDOS.
- Its principle design goal is to help standardize an extensible
- environment paradigm. It takes advantage of some of the better
- AmigaDOS facilities (shared memory system, IPC ports, and fast
- context switching) by internally managing much of the inter-task
- communications, resource tracking, and resource allocation.
-
- Traditional object-oriented systems separate function
- interfaces from internal data structures and manage the allocation
- and access of these structures within objects. SHADOW takes this
- interface separation one step further by uncoupling the method
- invocation from the parameter specification. It also manages the
- allocation of structures in a transparent manner, allowing the use
- of the faster, hard-coded structure offsets of C structs.
-
- SHADOW was created to solve the problems which I ran into with
- my first programming project -- JazzBench. That experience taught
- me that the most important thing in a co-operative multi-program
- environment is flexibility. You need to be able to change the
- behaviour of EVERYTHING -as- -it- -runs-. This lesson was the
- principle reason behind the initial design of SHADOW, and the result
- of that principle was the entire WatchedVariable construct. To a
- lesser extent, it was also responsible for Patches.
-
- However, that was not the only lesson that was learned. Trying
- to locate governing control in some kind of super-server was a real
- bust. Turns out so much information had to cross through that
- server to correctly manage all the resources that the server turns
- into a real bottleneck. So what I needed was a subsystem which
- effectively dealt with the concurrency and shared resource management
- problems.
-
- The other major subsystem of SHADOW supports the increased use
- of more complicated data structures. Sounds easy, but there've got
- to be a dozen AVLTree functions alone, and that doesn't include
- constant string management and singly-linked, priority lists, etc.
-
-