Notes on Systems Design
- Introduction
- I've spent time working on automated design and development IT systems that can automatically design and build new IT systems including, ideally, better versions of themselves. We worked with graphs to describe data flows and processing sequences, and had intelligent agents negotiate connections. A description of some of the ideas underlying this work is available in patent "Code Generation Techniques" (Lawrey&Lovisa).
In general, my brain hurt after long periods of this activity but this web page of references (could have) minimised the pain.
- Universal Systems Language
- Agent-based Systems
- On agent-based software engineering, Nicholas R. Jennings (Department of Electronics and Computer Science, University of Southampton, 1999), Artificial Intelligence 117 (2000) 277-296 (related link). My notes:
- Figure 1 shows a layered approach where now there can be negotiation.
- USL/System Oriented Objects
- The articles page at Hamilton Technology includes a couple of helpful documents including
- 001: A Full Life Cycle Systems Engineering and Software Development Environment Development Before The Fact In Action. My notes:
- Just below Figure 1 is a note on F-maps and T-maps (and some other maps) ... I think of F-maps as eventually pertaining to "point(s) of execution" or "program flow" while T-maps relate to the types of things (perhaps information) that are being manipulated (possibly decompose down through layers);
- Further along, it is noted that we can aggregate objects into new objects;
- Figure 3 shows us a system being decomposed into subsystems;
- The section on GENERATION talks about a resource allocation tool (RAT);
- The section CONTROLLED VISUALIZATION mentions "DataFacer" as a tool that automatically provides access to data in systems (since all information has a known T-map) and we all know you sometimes need to look deep inside these systems;
- In RESULTS, it is mentioned that the 001 tool suite can decompose itself into about 800,000 lines of C code (seems very compact);
- In ANALYSIS OF RESULTS, there is mention of an anti-RAT tool that can take a lower level description and transform it (up then down?) into another language;
- If parallelism is cleanly/seamlessly handled, maybe this system runs in a distributed form.
- The 2004 MAPLD International Conference presentation The Heart and Soul of Apollo: Doing it Right the First Time (ppt file), with plain text abstract, is a very good explanation of the design system. My notes:
- Slide 16 reminds us of self-generation;
- Slide 20 reminds us that textual representations lead nicely to mathematical descriptions (and perhaps also suggests where we can include negotiation that will lead to [new] emergent behaviour and a degree of self-organisation);
- Slide 35 is a good "big picture".
- Self-organising Systems
- Miscellaneous