for code reusability reasons, applications and services are separated.
library separation means reusability and interface definition.
interlink support
the system does include support i.e. connectivity to existing systems.
this means easiness to change over to aow environment.
reusability
describe everything as generic as possible, even strictly target oriented code,
and reuse code by hierachial use of frameworks using each other
(base) -> (extended) -> (more extended).
project separation
each project is a separate case, libraries are tied together by redefinitions, but
applications and services may redefine even libraries which may be used through own
interface and factory; this makes possible to use applications in differing
environments.
building blocks
each project is a building block for creating even more complicated projects.
Each project has been verified and tested - more like in actual sciences where
each theorem is proofed so it may be reused to be a base for new theorem.
by structure
core
green
aow core visible to processes.
yellow
mediator classes between green and red.
red
internal protected core.
library
libraries for applications and services.
services
aow service processes.
applications
aow application processes.
interlink
aow linkage for external world, like Internet protocols, devices etc.
external
external code imported to aow environment.
Subsystems
usb
usb core: interlink/devices/bus/usb/core
usb camera devices: interlink/devices/bus/usb/devices/camera