From d97dfc2d52c046cf718e5fdda147914fe23bd59f Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Sat, 9 Nov 2019 17:02:59 +0100 Subject: Remove libimagerror, visualize that libimagrt is used in the full stack Signed-off-by: Matthias Beyer --- doc/src/01010-architecture.md | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/doc/src/01010-architecture.md b/doc/src/01010-architecture.md index b859da0b..fed1da41 100644 --- a/doc/src/01010-architecture.md +++ b/doc/src/01010-architecture.md @@ -43,9 +43,9 @@ These are all libraries. There are also binary crates in the imag project With the things from above, a module could have the following architecture: ``` -+---------------------------------------------+ -| imag-foo | +-----------------------------------+---------+ +| imag-foo | | ++-----------------------------------+ | | libimagfoo | | +-----------------+-----------------+ | | | | | @@ -57,11 +57,7 @@ With the things from above, a module could have the following architecture: | | imag | +-----------------------------------+ | | | | -| libimagrt | | -| | error | -+-----------------------------------+ | -| | | -| libimagstore | | +| libimagstore | rt | | | | +-----------------------------------+---------+ ``` @@ -70,17 +66,19 @@ External dependencies are not listed in this graphic. The foundation of all imag modules is the store, as one can see in the visualization from above. -Above the store library there is the libimagrt, which provides the basic runtime -and access to the `Store` object. -Cross-cutting, there is the error library (and possibly -the util library, but we do not care about this one here), which is used through -all levels. The highest level of all imag modules is the commandline interface -on top of the domain library. In between can be any number of entry extension +Above the store level, entry libraries and domain libraries are used to +implement functionality. +The highest level of all imag modules is the commandline interface +on top of the domain library. In between can be any number of entry extension libraries, or none if not needed. +libimagrt is used by the binary to construct the runtime, which itself +constructs and initializes the Store, so this library is used in the full stack +more or less. Theoretically, the commandline interface crate could be replaced to build a terminal user interface, graphical user interface or web interface. + ## Types The imag core, hence the libimagstore, libimagrt and libimagerror, provide a set -- cgit v1.2.3