GEOSS Banner

Middle-Out Design

Table of contents
No headers
Subject area/Theme

Recommended Best Practice for GEOSS Design Method

Short summary of Best Practice:

Working middle out, we start with an appropriate design pattern, describe our problem in terms of that pattern, and then craft a solution according to the requirements of the pattern.


The attached document describes the details of using middle-out as a best practice for designing the GEOSS. We start by using design patterns to define a new view (the problem view) of software systems design that breaks complex GEOSS problems into simpler ones with known stable solutions. We then show how to solve GEOSS design problems by working from the middle of the problem out: from patterns to problems to solutions.

Why is there a need for this Best Practice?

GEOSS design has all the challenges of designing Ultra-Large-Scale (ULS) systems: competing requirements, continuous evolution, heterogeneous parts, and normal failures. Traditional design methods are not adequate to handle these challenges.


Top-down design is unlikely to converge on a viable solution and bottom-up design is unlikely to result in a useful system. A best practice is needed that will allow GEOSS design to converge onto viable solutions that address ULS-specific design issues.

The example application:

The attached document describes an example of middle out applied to the problem of designing the GEOSS common infrastructure. The example illustrates how working middle-out can address GEOSS' specific large-scale design problems:  we use the method to build a system development line based on the Messaging Pattern and branch off into (among others) a subordinate development line based on the Microkernel Pattern.


In the example, the problem converges to a solution; patterns balance competing requirements; the development lines allow for continuous system evolution; tasks in the development lines establish a framework for integrating heterogeneous parts and standards for handling normal failures.

How widely deployed is this practice

The elements of middle-out design (decomposing problems using patterns and using patterns to guide software development lines) were used to for system-wide fault tolerance in the U.S. Military’s Future Combat Systems ( Middle-out design as a comprehensive best practice for large-scale systems was first presented at the IARIA Patterns 2009 Conference in Athens, Greece ( 

Source document:

Middle-out Design: A Best Practice for GEOSS Design

Detailed Description of Best Practice

See attached document for best practice details



Submitter Contact Information: Jerry Overton ( Übersetzung Griechisch Duetsch Übersetzung

Files (1)

File Size Date Attached by  
Because of its scale, the GEOSS design has the challenges that come with desigining Ultra-Large-Scale (ULS) systems. Traditional methods (top down and bottom up) are not adequate to handle these challenges. In this document, we describe the method of middle-out design: a suggested best practice for designing the GEOSS.
429.41 kB02:51, 24 Jan 2010jovertonActions
You must login to post a comment.