Chapter 3.4 - Reference Architecture

From Wikibooks, open books for an open world
Jump to navigation Jump to search



 Before getting into the design process in Chapter 4.0, we will introduce one more design element. This is a shared framework called a Reference Architecture. It is used as a starting point for specific projects and designs. Classes of projects, like woodworking shops and single-family homes, have similar goals and functions. Shared elements in these classes, like lumber storage or bathrooms, can use existing designs and experience, rather than doing a new design each time.

 A reference architecture provides a full set of these elements, but a particular project may not use all of them. So a woodworking shop may not include a lumber drying shed. or a house include a music room. Whichever of the elements are selected, the architecture framework then helps organize and track the parts of the project. It also supplies a starting point for breaking down a complex system or project into smaller and simpler parts.


1.0 - Architecture Development[edit | edit source]

 A reference architecture for a class of projects describes their key concepts, relationships, and features. The general architecture then is customized and details added for a given project. Using an architecture saves effort because each example does not have to repeat all the early work, and ensures key items are not forgotten. It also helps avoid confusion by supplying shared language and understanding for Project Stakeholders, parties with an interest in a project, and for people working on a project across different specialties.

 For projects that require advanced technologies, which includes some self-improving systems, the architecture helps identify any new technology needed, the technical risks of using them, and their current development status by Technology Readiness Level (TRL). For project managers it helps in making early estimates of cost and schedule by organizing the needed project elements and tasks. See Cloutier et. al., The Concept of Reference Architectures, 2010 (PDF file) for more detail.

 Many parts of self-improving systems will have previous history, experience, and examples. These existing designs and elements can be used as-is, or adapted for a specific project. Other parts may need new designs, or even research and development before a design can be attempted. The reference architecture provides a way to track what is available and what new work is needed for each part of a project.

 As new designs for self-improving system elements accumulate, an architecture provides a way to store and organize them for later re-use. Since our books include a progressive series of example projects, we expect to re-use parts of them in this way from one to the next.


Classes and Architectures - Past projects often fall into classes that have enough common needs that shared solutions are possible. Some examples from civil engineering include bridges, skyscrapers, and public roads. For bridges we have sub-classes of truss, arch, and suspension types. Each of these has a repeatable design process, even though the details of a particular location will be different.

 Bridges are relatively simple systems, mostly designed around carrying loads across their span safely. Skyscrapers are more complex, having to deal not only with load-bearing, but heating and cooling, lighting, water and sanitation, information technology, and other systems. So they are different enough from bridges to put in a separate class with a different architecture.

 The term Architecture at first meant just the physical and esthetic design of a structure, and the relation of its parts to the whole. In modern engineering use, we apply the term System Architecture to the overall design of any complex system, the relationships of the system elements to each other, and to the outside world in which the system functions.

 An architecture for a complex system or class of systems is itself complex. So it can't be fully understood from a single drawing or description. Generally an architecture is documented by a combination of methods, including text documents and graphical View Models. In text form, a system architecture includes the top level goals, design principles, a system description, high level interactions between elements and the system's environment, general element requirements, and element descriptions.

 Graphical data includes a variety of tabular and abstract diagrams, engineering and perspective drawings, and computer models and simulations that can be actively viewed and manipulated. Supporting data for a system architecture shows the reasoning for how it was arrived at. It includes data sources, analyses to support concept selection, and tracking from goals to lower elements.


Architectures for Change - The intentionally designed self-improving systems described in these books are a new design class, with no working examples yet. Most past designs have been fixed, like a house plan or an automobile design for a given year. Improving systems evolve from a a starting point to an intended mature state, or are open-ended with no finishing point. People have built evolving artifacts, like a settlement that grows into a city, but the changes were typically not planned from the start.

 We need a different kind of architecture that can handle constant and significant changes. The remaining sections of this chapter show how such an architecture can be developed, and present a preliminary version intended for the self-improving system examples later in these books. Since these kinds of systems are new, the reference architecture is preliminary. It should be updated and expanded as projects and applications like the ones in these books are developed, and experience is gained in their growth and operation.


2.0 - Design Goals and Principles[edit | edit source]

 Before you design a project or program, you need to know what it is intended to do. Design Goals are the high level inputs to the designers for what is wanted or needed. Design Principles are the high-level approaches, rules, and methods for how to reach those goals. Example principles are "minimize risk to people and environmental impact". When you get to specific applications and projects, the general goals are supplemented with specific design requirements, but that comes later.


2.1 - Setting Goals[edit | edit source]

 In setting design goals for self-improving systems generally, and the examples in these books, we start with the basic idea that a civilization which provides for the needs and desires of its members is better than one that doesn't. Physical needs include items like food, shelter, and utilities, that are necessary to support life and protect from the environment. These basic needs are shared by nearly everyone. Desires include non-mandatory items like personal choice in how to spend one's time, where to live, and what to wear. Desires can be quite variable from person to person.


Post-Scarcity - Having to spend all one's time working at a job you don't like, just to meet your physical needs, is undesirable. A choice of jobs that are better suited or more interesting, have better working conditions, or just not needing to work at all and still have your needs met are more desirable. We call a civilization Post-Scarcity if it supplies more than enough products and services to meet everyone's needs, and some of their desires, while not forcing people to do things they don't want to do or make undesirable choices.

 History to date can be described as an era of forced labor and economic scarcity. People worked, not because they wanted to, but because they had to in order to gain the necessities of life. Early 21st century civilization has reached post-scarcity for a small portion of the developed world - the financially well off and some retiree households. This isn't the case for the vast majority of people. They must work longer and harder than they would by choice, in order to get their share of the things they need and want.

 So we choose enabling a post-scarcity civilization as a worthy goal for self-improving systems as a whole, and as a direction the examples in these books are headed. Our approach to reach this goal is to develop self-expanding and smart production systems that use abundant renewable energy and raw materials as inputs. Abundant sources ensures our approach can apply to the whole of civilization, and self-expansion reduces the initial work and cost to make it happen.

 Productive outputs would be designed to first meet people's physical needs. Smart tools (automation, robotics, software and AI) make it possible to do so without burdening people with a lot of work they don't want to do. There are other things that people want besides physical needs, like a preferred interior home design and personal happiness. But desires like personal tastes and feelings are beyond the scope of engineering and design, and they are very variable. We will leave it to others to satisfy them. But as a second design goal we would also supply a surplus of physical outputs to enable satisfying some some desires after meeting basic needs.

 At this point we cannot say if our approach is a better way to reach these goals than conventional production methods. The end goal is desirable enough, to this writer at least, to try and find out, and hence these books and the related design work we are doing. We recognize that no single book or project can affect the whole of civilization. What we hope is that with a proof-of-concept, others can make use of and expand on our ideas, and improvements will disseminate through society as they are shown to be useful.


2.2 - Design Principles[edit | edit source]

 Setting goals doesn't tell you how you can or should reach them. For that, you need to adopt design principles which seem most likely to lead to your goals. It is the difference between choosing a destination for a trip, and planning the detailed route and vehicles to get there. The principles we have identified so far include:


  • The general self-improving system architecture should be suitable for a wide range of applications and locations. One which is restricted to only certain uses or locations is unlikely to have civilization-level impact.
  • People have a wide range of needs, and smart production capable of meeting those needs will be complex. Therefore the design process should be able to deal with complexity. The Systems Engineering method has evolved for this purpose, so we will adopt it as a primary design approach. We will not exclude other methods if they are suitable. In particular, software and large scale construction projects already deal with complexity, so we will consider adapting some of their methods.
Note - Not all projects are complex or start with smart tools, and there are already many plans and instructions for individual projects. Full-scale engineering and design, and the systems approach, should be used when needed, but not for everything.
  • A civilization which stops meeting people's needs, on a time scale that we measure civilizations by, would be a failure. We want our systems to continue functioning indefinitely, or at least for a very long time. So we include features like sustainability and recycling, and exclude items in limited supply where possible.


3.0 - Architecture Derivation[edit | edit source]

 Having set our goals and design principles, we next turn to deriving the elements that make up the architecture. To do this we adopt the functional approach drawn from Systems Engineering. This involves first identifying what we need to do (functions), without locking in how it is to be done (a design). A complex system is too hard to consider or design all at once. Therefore the functions and designs are organized into multiple levels, where each level breaks down the system elements into more and more detail. The smaller pieces, and the linkages between them, are easier to work on individually.

 At the top levels of a complex architecture, we can start identifying functions by logical analysis. Later in the design process, we can consider alternate ways to perform each function, how they interact with each other, and optimize the design as a whole. The more detailed work may reveal additions or changes that are needed to the higher levels, but we need a starting point. What follows is the result of our first round of work on seed factories and self-improving systems, and describes how we got to this result.


3.1 - Top Level Architecture and Functions[edit | edit source]

 Meeting people's basic needs, plus surplus outputs to meet optional desires, can be divided into four top-level tasks. These are making physical products (production), delivering them to the point of use (transport), using these items where people are (habitation), and support for the make-deliver-use cycle (services). The top-level tasks are a cycle because when people's needs are met by them, part of their available time is fed back as work to enable more outputs.

 We can assign a top-level function to each of these tasks, and then derive numerical values for them (e.g. how much production, how far to transport, and for how many people). The four top-level functions can then be broken down into successive levels of detail to the point that each task is simple enough to design. As this is done, the specific goals and numerical values for each function, which are called Requirements, are divided up and passed down to each sub-function. The intent is that the pieces of any given function, and their interactions with each other, add up to meet the parent-level requirements.

 People live in many places, and the resources to make things are also found in many places. We therefore introduce the idea of Locations where some subset of the Production, Transport, Habitation, and Service functions occur. To reach our post-scarcity goal, we then design, build, and operate a series of locations, each of which can grow and evolve over time, and interact with other locations. Locations collectively use smart tools and the technologies and ideas described in Sections 3.2 and 3.3, but a given location may not use them all, or even use any if the location purely consumes end products.

 Existing civilization already provides production, transport, habitation, and services at many locations. But it is not highly automated, self-expanding, or purposely integrated as a system. In building our new locations, we must use and interact with elements of this existing civilization. There is no alternative, we cannot start from nothing. We use what is already there as needed, until the new elements can be built.

 We design and build our new locations as additions, upgrades, or replacements to parts of existing civilization. Multiple locations will function as distributed networks, because civilization is physically distributed. A given location may also be distributed internally, with multiple distinct sites. Although the network consists of nodes under separate ownership and control, it follows agreed rules (protocols) to interact among its parts and the rest of the world. This allows better coordination and more automation across the whole network.

 The four examples in Chapters 5 through 8 of this book are instances of the general produce-deliver-use-service architecture:


  • Chapter 5 - Personal Production - this example includes all four functions, but on a relatively small scale in a single location, with outputs for the direct use of the owners.
  • Chapter 6 - The MakerNet - this extends the small-scale operation to multiple locations, which are connected electronically and use long-distance transport for physical items. It assumes multiple smaller production locations with different owners.
  • Chapter 7 - Industrial Production - this concentrates on the production step, and on growth from personal to small business, commercial, and industrial scales.
  • Chapter 8 - Remote and Difficult Conditions - The previous examples are all located where existing people and infrastructure exist, and environmental conditions are moderate. These are the easiest places for early projects. Remote and difficult locations extend some or all of the four top functions to places that are not as easy, either because of distance and lack of infrastructure, or harsher conditions. This places more emphasis on long-range transport, remote operation, and less dependence on other locations and civilization in general.


 The most remote and difficult locations are beyond Earth, in open space or on other bodies. We reserve most of the discussion of those types of locations to Volume II on Space Systems Engineering. That's because space has unique environment conditions, available resources, and transport requirements that are best explained separately.

 At a civilization level, we can apply some combination of all these examples in a phased sequence. The ideas of growth across time and phases is introduced in heading 4.1 below, and a sequence among example projects is presented in Volume II. In this volume we treat the examples more as separate projects. A civilization-level program with many phases and projects is far too complex to design as a whole. Instead we would break it into smaller projects and systems, and apply common standards and interfaces to the pieces. We can then take a modular approach, so that each piece can connect more easily to the others, and use each others outputs.

 Having defined four top-level functions, and some examples to apply them to, we now consider each individually in order. In this draft result we provide one more level of detail. As specific examples and designs are developed, they would be further divided into more detailed sub-functions.


3.2 - Production Functions[edit | edit source]

Figure 3.4-1 - Production major functions.

 The core of the production process is taking raw materials and turning them into finished products. This is divided into four steps, each of which is assigned a major function, because the nature of the tasks are very different (Figure 3.4-1):


  • Extracting materials (mining) from the environment is generally done separately from other production steps, and frequently changes locations. It is often a batch process, where loads of material are extracted and transported. Source materials include solids, fluids, gases, organics, and wastes.
  • Processing materials takes the raw materials and converts them into finished materials by thermal, chemical, electrical, mechanical, or other methods. There are a great variety of material types, requiring a variety of process types and equipment. The processing equipment is often flow-oriented rather than batch-oriented, and typically uses stationary equipment in controlled environments. Finished materials are either used as-is, such as fuels, or go through further production steps. They end up in bulk form, or discrete shapes, such as pieces of lumber.
  • Fabricating parts converts finished materials into completed parts which meet a particular design. A number of different tool and machine types and processes can be applied to the same material, depending on the end use.
  • Assembling elements combines separate parts into completed items, using methods like fasteners, welding, casting, and adhesives. Assembly does not significantly change the details of already fabricated parts.


 These four core functions are supported by three others which enable them to function:


  • Controlling the Location which instructs and monitors the other functions so they know what to make, and how much of it. Control may be manual or automated.
  • Supplying power is usually required. Manual labor has limited capabilities and expensive to use in large amounts. There are many types and sizes of powered equipment. Power for them may be supplied via fuels, electricity, mechanically or other means.
  • Inventory storage is needed because inputs and outputs are not perfectly timed across the system. Outside supplies typically arrive in batches which are somewhat variable in time, and in efficient amounts for transport, while the supplies are used at a more constant rate or in smaller amounts. So some supplies are typically stored until needed. Outputs from one production step are not perfectly matched to the input needs of the next. For example, assembly of a new machine may have to wait until all the parts are fabricated. In the interim they are temporarily stored. Finally, finished products may be stored until people want or need them.


 The last major function is Growing organics. It is separate from the rest because living things incorporate the various production steps internally, and perform them on their own. Organics include edible foods, wood, plant oils, fibers, and other products. When their products are ready, they are harvested and they typically go to the other production functions for finishing. A few organics, like pets and landscape plants, are delivered in live form.

 These eight functions cover the main operations needed for useful outputs and internal growth at a given location. When more detailed designs are developed, some added secondary functions may be required, but we don't anticipate more at this top level. These functions also do not include transport internally or between locations and outside destinations, or the end uses of products. A particular project that includes more than just production would then include other top level functions.


3.3 - Transport Functions[edit | edit source]

Figure 3.4-2 - Transport major functions.

 Production requires local transport within a given site, such as to and from inventory and particular machines. In addition to internal transport, a network requires transport between sites in a given location, and between different locations. Transport is also needed by the project from outside sources and to outside destinations.

 We can identify second level transport functions according to the different types of things being transported. Each type typically requires different transport equipment. Types of items needing transport from place to place include:


  • Energy, either electrical, chemical, or in other forms.
  • Food, for people and animals.
  • Water and other fluids and gases, both for people and production processes
  • Parts and Materials for production
  • Tools and Machines for production
  • Completed Items for people
  • Legal Rights, to land and other assets. Land itself isn't transported, but ownership or rights to use it are transferred.
  • People, for work or personal reasons, as operators or passengers.
  • Money, or other financial resources.
  • Information, including design data, operating commands, and numerous other types.
  • Wastes, including scrap, which can be recycled by others, and waste materials and energy that cannot be recycled.


 The particular quantities and types of flows from the above list become design requirements for the elements which will perform them. Internal transport equipment for use within a site can be made by internal production, such as building Automated Guided Vehicles and materials handling robots. If not, such equipment can be purchased. For distributed sites and locations, transport can start by using existing systems like package and trucking services. Self-built and automated transport can be added over time. Our reference architecture groups transport into seven second level functions (Figure 3.4-2), each carrying related types of items:


  • Transport Infrastructure - such as roads and bridges, which enable other transport systems to function. For small projects, this is mostly limited to internal elements within a site like driveways and parking areas.
  • Transport Energy - this is conventionally distributed by electric and other utilities. Internally generated power can be transported by electric, hydraulic, or mechanical methods.
  • Transport Discrete Cargo - this includes food, parts, materials, tools, machines, and wastes that require environmental/handling protection, and completed products for delivery.
  • Transport Bulk Cargo - this includes items which do not require special handling or protection, but merely carriage from place to place. Examples include raw materials like crushed stone, and bulk wastes.
  • Transport Fluids and Gases - this includes delivery by pipes and tanks, such as water, natural gas, and propane.
  • Transport Humans - This type of transport adds habitation elements for comfort and increased safety compared to basic transport for inanimate cargo. Some delicate cargo may be carried by the same systems used for people. An example is luggage and air cargo carried by passenger aircraft.
  • Transport Data - This includes in particular legal rights and money, but also a vast array and quantity of other information. Traditionally data was transported in paper form, but now is mostly by electronic networks and storage.


3.4 - Habitation Functions[edit | edit source]

Figure 3.4-3 - Habitation major functions.

 People's needs and wants are satisfied at places they occupy or inhabit, so the third top-level function is called Habitation. Habitation includes both residential non-working locations and work and transit locations, because people still have the same needs in all of them. If we consider the most basic needs that people have, they include shelter from the natural environment, food, and care of their bodies. Beyond these basics, most people desire personal space, a variety of physical items, interaction with other people, entertainment, and other services. We group these needs into a half dozen functions as follows (Figure 3.4-3)


  • Protection from External Environment - meaning the natural outdoor environment wherever they happen to be.
  • Control Internal Environment - which means adjusting indoor space as far as temperature, humidity, lighting, and other features.
  • Provide Food and Drink - includes equipment to store, prepare, and serve food.
  • Maintain Health - includes disposing of wastes, cleaning, exercise, and sleep provisions.
  • Provide Personal Items - includes both outdoor and indoor personal space, and physical items like landscaping, furniture and decorations to fill them.
  • Provide Information - includes physical information like mail, magazines, and books, and non-physical items like electronic communications, entertainment, and other services.


3.5 - Service Functions[edit | edit source]

 Service functions supply knowledge and time to improve and support the make-transport-use cycle of the other three main functions. Services are often supplied by third parties rather than internally by a site or operator. We group services into nine functions by type as follows:


  • Trade Services - which are intermediaries between the production of physical goods and the end users.
  • Information Services - involving the creation and distribution of new information.
  • Financial Services - which includes supplying money and insurance.
  • Property Services - that involve the transfer or rental of real estate.
  • Specialized Services - which require extensive knowledge and training, including scientific, technical, and legal.
  • Education Services - which includes teaching and training of people, including through pedagogy, practice, and physical artifacts.
  • Social Services - to assist people who need outside help.
  • Entertainment Services - to experience or participate in performances, competitions, amusements, and recreation.
  • Organization Services - including private and public organizations, management and administration.


4.0 - Growth and Phases[edit | edit source]


 For a large and complex program, time is normally a strong element in reaching the intended goals. This is because available resources are usually limited, and some tasks must happen before others can be started. Our chosen overall goals, of post-scarcity conditions, freedom from forced work, and sustainability, are large and complex enough to require considerable time to reach. By their nature, self-expanding systems are also not static. So the content of the four top-level and thirty second-level functions listed above will change over time for a given location, project, or program. To simplify the design tasks for such complex and changing systems, we divide them by time into phases and growth steps, in addition to breaking down functions into levels of detail.


4.1 - Phases[edit | edit source]

 Most people today are still in a condition of scarcity. Projects, locations, and networks to relieve this condition cannot immediately spring forth fully formed. So there will be a transition across time, as increasing numbers of people and locations reach post-scarcity levels. For an individual project, we must start with tools, equipment, knowledge, and skills that exist today. Where needed, we can apply available resources to perform research and development, buy or build sites, train people, etc. to add to that starting point. The additions include some amount of automated starter equipment (i.e. a seed factory). We then proceed to make parts for more equipment and bootstrap the expansion process, based on factors like fastest growth rate or which machines are necessary before you can make certain other machines. Along with expanding production, we also start to output some level of end-use items, such as food or houses. We start with zero such end items, and they increase over time as the system expands. Eventually, the accumulation of end items satisfies people's needs and wants.

 The sequence from starting point to end goal may be continuous, without well defined pauses in growth or completion of locations. Despite that, we can choose logical dividing points, such as site preparation, installation of a starter set, or adding a set of expansion equipment. The larger time and work divisions we call "Phases"


 In the preceding parts of Section 3.0 we identified a number of measurement units, motivations, economic ideas, technical concepts, and new ideas that are relevant to self-expanding production and larger projects and programs that use them. We now start to apply these elements to the bare structure of top-level and second-level functions identified above. The goal is to flesh out the relationships and features of the reference architecture. This is only carried out to a certain level of detail. Specifics that only apply to individual applications or projects are reserved for later parts of the design process, and described in later sections of this book and related documents.


 In addition to a sequence of projects and locations needed to meet the program goals, technology levels are not fixed over time. Internally, within the sequence, the automated systems and particular hardware designs we want to use are not developed all at once. Research and development takes a finite amount of time, and we may spread out the pieces of new technology and hardware due to budget and staff limits within the projects. Outside of our own projects, technology across human civilization also tends to improve over time.

 For the reasons just noted it makes sense to divide the program into time-based Phases, in addition to task-based functions. Each phase is then a smaller and simpler part of the program to design and build. This is needed for the same reason we divide the architecture by functional tasks - people have a limited ability to deal with complexity. Phases can in turn be divided into smaller sub-phases, and ultimately to a time sequence of tasks with a schedule. Phases are a useful way to organize a project on the time axis, but they are not required to be in strict time order, they can overlap partially or entirely. Inputs and outputs connect phases to each other, and outside the program, in the same way as between functions. Since a phase, or individual tasks within it, cannot start until the necessary inputs are available, this drives the time relationships of phases and their internal schedules.


4.2 - Applying Other Ideas[edit | edit source]

[This is a preliminary list of how to apply the other design ideas, it needs more work]


  • System measures such as closure ratios and growth rates are applied to all parts of architecture as goals, design requirements, and for evaluating design alternatives.


  • Standard economics concepts like margins, operating costs, and productivity are generalized beyond just monetary units to consider all types of resource flows, then applied across architectures, projects, and designs.


  • Engineering concepts, such as the systems engineering approach and modular design, are also applied across all parts of the design.


  • New ideas are applied as follows:
- Resource accounting is used at all levels to ensure all flows and resources are accounted for, including waste flows.
- New software tools like process compilers are developed, then used across project stages, from research to operations.
- Growth ideas and patterns such as starter and expansion sets, scaling and complexity, universality and location distribution, are used to define different examples and applications of the architectures.


5.0 - Reference Architecture Description[edit | edit source]

 Having discussed how the reference architecture is arrived at, we now provide a formal statement of what it is. Architectures can be described from several points of view. Functions describe what needs to done as tasks or steps, their connections to each other, and to the outside. They do not specify how it should be done in terms of process details or the physical implementation in terms of equipment. System elements are then the design solutions which implement the functions, and incorporate the process and equipment choices made during design. Our reference architecture is general, with multiple applications, each of whom will have different design solutions. Therefore we take the functional viewpoint.

 We identified the main functions in a section above. The next step is to show how they connect to form a complete architecture. The details of the system elements, or even their presence at all, will depend on the particular project application. We will give some examples in our reference description, but it should be remembered they can differ greatly or not be present in a particular case.

 Another viewpoint is the evolution of an architecture with time. A given project typically requires a sequence of design, production, and operation. Inputs of preexisting resources must precede each of these steps, and outputs of finished items and waste products follow them. It is difficult to display all the functional and time relationships in the same diagram without three-dimensional displays. For two dimensional diagrams we display the relationships on different axes. Project phases with plans and schedules organize tasks along the time dimension, while functional diagrams show the logical connections among them at a specific time or at all times in the project. The combined set of diagrams represent the whole project.


5.1 - Location Architecture[edit | edit source]

Figure 3.4-4 - Reference architecture for full factory location.

Production - For the self-expanding designs we describe in this book, the production portion includes two levels of functional interaction. The first is how the main functions of a single location interact with each other and outside elements. The second is how individual production nodes interact in a network. This generic architecture will be be developed in more detailed examples later in the book.

 Figure 3.4-4 illustrates the reference architecture for a full self-expanding production location. By location we mean one or more sites that are close enough together that people can easily get to them, and materials and products transferred between them. An example would be within a US metropolitan area. By full we mean it has all eight of the major functions that enable it to be self-expanding. These are Control, Power, Extraction, Processing, Fabrication, Storage, Assembly, and Organics. A small location, or a new system before it expands, may not have all of these functional activities. Each function will change over time by upgrades and new equipment, either supplied from outside, or produced internally. For clarity, this diagram only shows some of the key flows between functions. The green arrows are inputs or steps in the production flow from raw materials to completed elements. The blue arrows are outputs, either finished products delivered to outside users, or expansion elements delivered to each of the functions. The output from box F.4 Process Materials goes to F.5 Fabricate Parts. We use a broken arrow in this case and label the end points in parentheses like "(F.5)" to show where they connect. Broken arrows avoid having large looped lines that cross many others and make the diagram hard to read. F.2 Supply Power outputs to all eight functions, including itself, but we leave out all those lines from this diagram for clarity.


Figure 3.4-5 - Reference architecture for network nodes.

Nodes - Figure 3.4-5 illustrates how a network of multiple nodes can expand by collaborating. What distinguishes this network from the rest of civilization is the nodes are designed to work together. A node is an individual physical site with any amount of activities, from a single person doing design work or remote control of machines, up to a full factory. Multiple nodes can be in one location, such as different workshops and offices in a large city. They can also be distributed across multiple locations. What makes nodes part of the network is that they interact with each other. This can be electronically, by the operators communicating directly and working together, and by delivering inputs and outputs to each other. The diagram only shows two functioning nodes, but a network can have any number of them. Each node can have a different set of products it outputs and capacity to produce them. Nodes 1 and 2 are shown exchanging outputs, to supply each other with items the other node supply for itself. We also show the network interacting with the rest of civilization, accepting various inputs and delivering various outputs as needed.

 Node inputs will typically include labor, land, hard to make parts, and materials not found locally. Node outputs can include items for sale, which can be used to pay for needed inputs, but this is not a requirement. Each node may also produce items for its own expansion, and nodes can collaborate by delivering items to a new node being built. The network can then grow in three ways - by expanding each node, building new nodes collaboratively, or new nodes joining the network without inputs from existing ones. New nodes can be different than any existing ones. We expect a common growth pattern will be for expanded mature factories consisting of one or more nodes to deliver starter set elements to a new site. This seed factory starter set then grows over time to another mature factory.


Project Phases - A time sequenced growth plan for a single location, or a network of them, would consist of a series of phases. The first of these is Research and Development. This includes the design stages from initial concept through completed detailed designs for hardware elements and locations. Some items will require new component technology or software to be developed. New integrated hardware elements will also need prototypes built and tested. These are also included in the R&D phase. Later locations using the same basic hardware will have less R&D in total, focusing in the unique adaptions to a particular location.

 Following the R&D phase will be an initial fabrication and installation phase for the first unit of production capacity, followed by one or more expansion phases. Each phase progresses through the production steps, delivering output products plus new items for self-expansion. A completed growth phase becomes an input to the next growth phase. The R&D for later phases can be deferred, and overlap production and installation of earlier phase equipment.

 The first set of automated self-expanding machinery must be built with pre-existing conventional equipment. The conventional equipment may include any combination of sophistication from manual tools, to powered, stationary, mobile, and computer-controlled ones. What conventional tools lack is specific design for self-expansion and working together as a set. Conventional equipment can be, and always has been, used to make more equipment. For example, a machine shop can build parts for additional machine tools. Specific design for it should make the process more efficient and allow starting with a smaller set than otherwise. In general, the first production and installation phase would be conventional equipment, followed by the first set of purpose-made self-expanding items as an expansion. Later locations or generations may begin with self-expanding machinery made by already existing locations. There will always be a need for standard tools and equipment even in an advanced factory. Tasks like unpacking a shipping crate or maintenance don't require custom designed ones. Conventional equipment can also be used for self-expansion when there isn't enough need need for specially designed items. For example, standard powered woodworking or metalworking machines can make parts for more such machines. Automated and custom-designed machinery just does it more efficiently with less human labor. So additions of more conventional equipment may also be broken into phases, in parallel with the production and expansion of custom self-expanding items.


Transport - Transport systems are needed as the delivery mechanisms between nodes and to outside locations. Since the inputs and outputs comprise a variety of resource types, they require a corresponding variety of transport equipment. In early phases of a project, or growth of a network, existing transport systems must be used, since new transport elements can not be built until production is functioning. As new transport systems are built and maintained by the production tasks, they can add to or replace the existing systems.


Habitation - The habitation locations which people occupy as private living, work, recreation, and social spaces, will comprise a wide variety of detailed designs. We cannot predict these designs in advance, because we will not know individual desires, or what changes a particular location will require. However, people share common physical needs, so we can design shared pieces from which complete habitable locations can be built. We can also design the pieces to integrate with production and transport, and include features like recycling and long term maintenance. Like production and transport, the first phase of habitation can use existing living spaces when available. Later phases can start adding to or replacing them in a series of expansions once new production is available.


Services - [TBD]


6.0 - Reference Function Descriptions[edit | edit source]

 Similar functions need to be performed for production, transportation, living space, and supporting services at all levels of a program, project, phase, or location. They are needed for both existing parts of civilization or new elements, and whatever technical level they use, from manual to highly automated, Therefore we can use a shared framework for the functional divisions regardless of type or state. A shared framework helps maintain consistency, and allows reuse of designs across different uses. However, a given application may not include all the functions, or use them all the time. It may rely on outside elements to perform a given task, or a given function may not occur at all in a particular case. In these cases, we keep the same framework, but leave some parts blank.

 The descriptions that follow are in terms of a generic project involving one or more locations, with all parts of the produce-deliver-use architecture present. The descriptions provide more detail on what each function is supposed to do, and begin to identify next-level sub-functions.


6.1 - Production Descriptions[edit | edit source]


1.1 Control Location - This function provides overall control of project operations, including habitation, transport, services, and external flows. It directly controls the production tasks at the locations. Individual production elements, such as a computer-controlled machine, can also have their own local controls as needed. This function also operates at a higher level where coordination across the entire project is important. It includes a mix of human-operated, automated, and software generated commands, issued locally or remotely, and transmitted to individual elements. The hardware elements for control will include computers, networking, displays, observation, measurement, and data collection equipment. Software elements include existing and custom written operations and control software. Control tasks include future planning, real-time operation, and retrospective analysis. The control function takes designs for the locations and the products it makes as input from a previous research and development phase.


1.2 Supply Power - This function is to supply all forms of power to the project, and converting it to the needed forms, including electrical, thermal, hydraulic, stored energy, and others. It has a goal of providing a significant surplus to the other main functions, beyond what is needed for production. Power can be divided by demand class - residential and control power should be more reliable than some industrial tasks that can be interrupted. It can also be divided into fixed and portable power. Examples of power supply equipment include outside utility lines, solar panels, and wind turbines for electricity. Solar furnaces can be used for direct heating, and thermal storage for additional electric generation.


1.3 Extract Materials - This includes excavation and mining, water and air collection, and harvest of plants, either directly at the location or nearby, using project-owned equipment. The goal is to obtain the majority of total materials from new local sources, or from recycled local and outside sources. This can be divided into extracting from project-owned land, and using extraction rights to other land. Delivery of bulk materials produced by others using their equipment is not part of this function, it is an external input. Typical mining and harvesting equipment includes a variety of hydraulic and mechanical attachments to a common tractor-type core. This equipment would be manufactured internally when production is developed enough.


1.4 Process Materials - This includes conversion of raw materials to finished materials, ready for inventory storage, parts making, or consumption. It can use chemical, mechanical, thermal, electrical, or other processes, and operate as a continuous flow or in separate batches. Outputs from this function can include any of the following categories: stone and concrete, metals, ceramics, glass, wood, fibers, electronics, organic and inorganic compounds, fertilizers, clean water, and others. Because of the wide range of materials and processes, a single location may start out with only one or a few of them, and add more over time, or build up a local network of sites doing different tasks.


1.5 Fabricate Parts - This takes finished materials from processing or storage, plus outside materials supply, and transforms them into finished parts ready for assembly. Historically a wide variety of production machines and processes have been used for this function. We can organize these diverse fabrication tasks by the same materials categories as the previous Process Materials function. We can also list parts types such as castings, structural and mechanical parts, electrical, and electronic parts.


1.6 Store Inventory - This task includes storage for raw and finished materials, parts, and completed items not currently in use. It includes storage for the other Production functions, Habitation, Transport, and Services. It also includes environmental protection and control (i.e. buildings) for the other production functions, and land for industrial tasks. Warehouse space for storage and building space for a factory floor are functionally similar, and in fact one will likely be transformed to the other as the factory expands. Rather than accounting for them under multiple headings, we collect all the environmental enclosures here.


1.7 Assemble Elements - This includes combining parts and materials into higher level assemblies (collections of parts), leading to completed elements. It also includes dis-assembly of elements for maintenance or modification, with any draining and cleaning added as necessary. It can use any combination of human labor, manual, and smart tools, with local or remote control. Assembly can be divided into movable elements such as production machines and vehicles, and construction of fixed elements such as buildings. The latter may require temporary structures, weather protection, and cleaning tasks. Fixed elements may use modules assembled indoors to reduce weather delays and increase automation.


1.8 Grow Organics - This includes growing microorganisms, plants, and animals to the point of harvest to provide useful items. Pets and ornamental plants are placed under Personal Items in Habitation. It includes the land space to grow biological products, some of which may overlap with Habitation areas. Total land includes owned and leased land, and crop and timber harvest rights. The latter may be used to reduce costs during early construction. Some early timber may be obtained from construction site clearing if the land was well stocked.


6.2 - Habitation Descriptions[edit | edit source]


2.1 Protect from External Environment - This includes passive protection of people and other habitation elements from weather, water, insects, and other outside factors. It also includes structural support of all habitation elements. This can be considered protection from gravity, uneven ground, and shifting subsoil, but stable support of the protective items is a necessary feature for them to work. In turn, the structural support requires underlying land for it to rest on, so we include all the habitation land under this function. We also include outdoor protection for humans in the form of protective clothing.


2.2 Control Internal Environment - This function covers actively managing the internal environment created by the protective shell in terms of temperature, humidity, lighting and other factors. It includes control inputs and sensors (such as thermostats), and active hardware which produces the desired changes, such as heating, ventilation, and air conditioning (HVAC) systems. Passive thermal insulation is included in the previous function, and lighting, windows, and window coverings are included here as active devices. Emergency systems are also included here.


2.3 Provide Food and Drink - This includes supply of food and drink materials at the point of use for residents and guests, local storage within Habitation areas, food preparation, serving and dining, and disposal of food and drink wastes. The latter does not include human wastes, which are covered under Maintain Health.


2.4 Maintain Health - We need to include the actual people who are residents and guests someplace in the architecture, because they also have inputs and outputs, and this is the chosen location. The tasks include supporting basic needs for sleep, sanitation, exercise, cleaning of persons and the internal environment, and filtering the latter, health monitoring, first aid and emergency services, and local examination and treatment.


2.5 Provide Personal Items - This includes the internal volume for private living and storage space, public or community space such as meeting rooms and athletic areas, and commercial space such as office and retail. It also includes the physical contents of these spaces such as furniture and decorations. Decorative/non-protective clothing is also included here. The total enclosed space from functions 2.2 to 2.5 then becomes a design requirement for 2.1 Protect from External Environment. Personal items includes outdoor space, such as landscaping, and living things like pets and decorative plants.


2.6 Provide Information - This includes communications, storage, and processing in all forms (text, voice, and video) for personal or commercial purposes, teaching materials, entertainment, and general information like news and weather. It does not include operational information for production, although this function may share common hardware and software elements used across the location.


6.3 - Transport Descriptions[edit | edit source]


 Transport in general can involve movement to and from external locations, between nodes of a given location, and internally within a single site or building. All the different destinations may use shared transport elements, so we organize the functions by type of item transported rather than where they are going. Transport can involve both mobile and fixed elements. An example is delivery trucks and the roads they drive on. Transport elements also include lifting and conveying devices to move objects horizontally and vertically, and both enclosed and open pipes, channels and systems. Thus a drainage ditch is a transport element for storm water.


3.1 Transport Bulk Cargo - This includes bulk supplies, including items for sale or to build new locations. Bulk items have relatively large volumes, but low requirement for protection from the environment or the shocks and vibrations of vehicle transport. Typical examples would be gravel and raw logs.


3.2 Transport Discrete Cargo - This includes transport of individual items which need some protection from the environment, and the shocks and vibration of delivery. Environmental conditions which can cause damage or contamination include temperature, rain, insects, and dirt. Quantities are typically smaller than for bulk items, and so multiple items may be delivered in one load. Separate containers then help keep the various items from mixing or reacting with each other. Finally, the vehicle or containers may use devices to reduce shocks and vibrations to acceptable levels.


3.3 Transport Humans - This includes the transport of humans to and from project locations, and internally within locations. Humans have many of the same needs as discrete cargo, but also some additional ones. These include a higher safety level, added comfort features, optional manual vehicle control, and schedule priority. Therefore habitation type features, like heating and air conditioning, are added to the transport systems when people are transported.


3.4 Transport Energy - This mostly involves wired and wireless distribution of electricity, although some energy may be delivered in battery or thermal form.


3.5 Transport Fluids and Gases - These items require closed containers or fixed piping to prevent contamination and leakage. Common examples for fixed piping are water and natural gas. Common examples for closed containers are delivery for propane and diesel fuel.


3.6 Transport Data - This includes all types of data in all forms, electronic and non-electronic. Legal rights and money are items needing data transport to function, so we also include their delivery here.


6.4 - Service Descriptions[edit | edit source]