A3 architecture
Intro
The A3 architecture is one of the possible Assotink architectures.
It was developed from october 2012 and is still under development in april 20123
The A3 architecture divides the Assothink work in a trilogy of main working layers, plus 3 side parts.
Part | Technology | Function |
---|---|---|
Engine Layer |
Linux, C project name : engine main: engine.c |
Excitation propagation model implemented (goal: computation speed, sizing efficiency) |
Transmission Layer |
Linux, Java project name : alexLib main: central.java |
Tranmission of information between engine layer and presentation layer; engine launching (goal: network efficiency) |
Presentation Layer |
Linux, Java, JavaFX project Name : alexFX main: alexFX.java |
User interface, working as a client to the central process. Access to passive jelly. Access to active jelly and engines. (goal: user friendliness, visibility on data and process) |
Resource Builder |
Linux, Java project name : alexRB main: builder.java |
Construction of passive jelly database. Organized in numerous steps. (goal: data cohesion, data availability) |
Java Utilities |
Linux, java project names: mslib, techlib, structureLib, drawFXLib |
Generic tools for advanced java application development. Not only usable with Assothink. (goal: ease of development) |
Bash Scripts |
Linux, bash bash scripts: a |
terminal-based front-end utilities to launch, monitor, test, debug... all other parts (goal: convenience) |
- a computing layer (running the EPM engine)
- a intermediary dispatching layer (running EPM controllers and GWT server side)
EPM engine layer
This layer implements the Assothink Excitation Propagation Model (EPM), or Assothink active Jelly, or Assothink brain.
Only concepts, links, signals.
Load links data from a data server.
Runs autonomously, saving state .
A brain uses a brain slot: a host/port combination.
Many brains run at the same time in a network, or even on a machine.
Suggested hardware
- standard PC
- mainly accessible trough network (remote shells)
- with Linux OS and JVM (installed by myself)
- with strong processor (fast) and gigabit ethernet!
- 4 Gb RAM, USB port, small HD, simple graphic controller
- compact
- without (no need) CD/DVD, advanced graphic, monitor, keyboard, mouse...
The EPM engine machine setup is standardized, simple, fast,
Server layer
This layer has two sides.
For the client side, it operates as a GWT server. This server loads the Assothink data set, and distributes it to clients in an otimized format.
For the EPM side, it implements the EPM controller.
Suggested hardware
Same as computing layer.
More server oriented: more disk and network efficiency, less CPU needs.
Visualisation layer
This is a GWT front-end client applic running in modern browsers.
One server occurence.
Many clients.
No specific hardware needed.
The client is similar to the client in the basic architecture. Actually they are both integarted in one single GWT client application.
The visualisation client allows
- to list many all running EPM engines and to select one of them
- to display the state of the selected EPM engine
- to send to the selected EPM engine all orders handled by the EPM controller.
Suggested hardware
A standard PC with browser having good web access and good visualization hardware.
- The screen resolution should exceed 1500x1000 points.
- The graphic card should have average or good performance.
- The preferred browser is google Chrome (chromium).
- The web access should be fast (>20Kbit/sec for download)
- OS? Linux, Windows and MAc OK.