Written by: Administrator
Parent Category: Projects
Category: BlinkenBone

Components of BlinkenBone

It was much fun to split the BlinkenBone system into cleanly separated modules, which communicate over meaningful interfaces.
But after that I had to fiddle long with this  "Architectural overview" diagram:

blinkenbone overview small(click image to enlarge)

Perhaps this is overengineered, but I wanted to create the final architecture for any future blinkenlight project.

Well, I hope you can recognize the main components:

Why a client/server model?

The split of application logic into "clients" and "servers" gives an immense degree of freedom for a BlinkenBone installation:

MVC

If you're a fan of the "Model-View-Controller" pattern, you can reorder the BlinkenBone architecture as follows:

 

Layers

An actual BlinkenBone application can be written as stack of components. For example, the video on the Intro page shows SimH controlling a PDP-11/40 console panel. This is the component setup:

Level Component Type Physical unit
13 SimH PDP-11/40 simulation software Notebook
12 "REALCONS" SimH device extension software Notebook
11 Blinkenlight API client software Notebook
10 Remote procedure call client interface software Notebook
9 TCP/IP interface cable
8 Remote procedure call server interface software BeagleBone
7 Blinkenlight API server software BeagleBone
6 BlinkenBus file interface "/dev/blinkenbus" interface BeagleBone
5 kblinkenbus driver software BeagleBone
4 BlinkenCape hardware BeagleBone
3 BlinkenBus interface cable
2 BlinkenBoard #1 hardware Panel assembly
1 PDP-11/40 console panel hardware Panel assembly

 

Impressive, isn't it?