Must Technology's Future Be a Product of Its Past?

Doug Ross -- SofTech, Inc. and MIT 

Industry has participated in every stage of application from 1957's APT NC Programming through CAD and AED Software Engineering to today's Integrated Enterprise Modeling with SADT and IDEF0.

Skip to dispatch including DTRoss Bio sketch.

General principles of problem-solving arose in each area. One theme makes them all work -- the tools and solutions are products of our understanding of nature and the needs of people.

We now approach the basis for a complete

"TECHNOLOGY FOR UNDERSTANDING"

-- for discovering new ideas, testing them, and communicating them;
to integrate the activities of both machines and people --
enriching and improving our lives in many useful ways.

Will this enriched possibility for understanding industrial technology itself lead to a break with our past? -- a breakthrough?


The above text (but with the embedded SA Time Line following it) are the first two slides of an Invited Lecture, with title shown, presented by D.T. Ross at Hong Kong University of Science and Technology, April 21, 1994. Selected remaining slides from that talk, starting with slide 3, here are reordered and updated (all-text slides are regenerated as text, for speed) to make an almost-complete presentation of the AUT Applied Understanding Technology

<Applied<Understanding Technology>> =
<<Applied Understanding>Technology>

Technology for Understanding -- which is the 1990s culmination of the 1973 original SADT Structured Analysis and Design (TM) foundation.

Click here for these topics that were not yet covered

in the original lecture preparation (which even so, included more details than could be orally presented in the lecture).

Click here for the brief Biographical sketch of D.T.Ross that accompanied the HKUST Lecture presentation.


Outside-In Objets of AED


From the MIT CAD Project beginning came

THE UNIVERSAL LAW OF STRUCTURE (ULS):

For atoms actually to JOIN to make molecules --

THEY MUST SHARE at A SUBATOMIC LEVEL.

D.T.Ross, 1960

This was as true for software and objects, then, as for the chemical bond and physical forces.

It's TRUE for ARBITRARY CONCEPTS!

To have any actual structure at all, the parts of a whole must actually be linked.

The structure of Structured Analysis follows this law.


Just four main features determine the nature of Structured Analysis Modeling:

With some graphic, but totally definitive, picturings of the SA Box and the SA Arrow constructs that interface them together -- everything else follows from and supports these features.

Boxes are named Arrows are labeled
with the nouns, verbs, adjectives, and adverbs of the subject.

The Reader/Author Cycle determines the quality and the productivity
-- and ultimately the utility of the modeled analysis for its intended purpose.

Ultimately, Structured Analysis is a mental discipline, aided and supported by an easy to learn but challenging to master SADT methodology, for developing and applying well-structured, reliable, and carefully reasoned understanding -- in a team enterprise setting. It applies to any subject matter of interest.


FIRST FEATURE of SA Modeling:

Here is the definition of "Model" that gives unlimited scope to SA.

M models A

to the extent that

M correctly answers questions about A.


The questions are about the actuality, A, but the answers come from M.


The proper name, "A", is the simplest model of A.

Only it has unlimited extent in its modeling.
By definition only every correct answer to every question about A
is included in its meaning (even unasked questions!)
and thus it discloses nothing at all about A.

We just know for sure that its total reference is to A,
with no holds barred!

This power of the name is what allows many different views and viewpoints for a single subject of study to be made.

We will see how many overlapping sub-views can be linked together, like this. This shows how the effective Atomic Level of several models is determined.


For the SECOND FEATURE of SA Modeling, first consider this:

Between EVERYTHING and NOTHING is ?? ... Answer: SOMETHING!

So the entire range of

EVERYTHING to SOMETHING to NOTHING

is ???

ANYTHING!

-- including ANYTHING itself AS SOMETHING!!!

-- and even including NOTHING, then, because of that nesting!


A Plex aside: To make a proper fit, the nested Anything definition should be oppositely oriented, so there is an Everything on each end. But it is instructive not to do that, so EESNN results. That is called "reflecting on the Nothing Boundary" which happens by definition in self-definition, because between those two Ns, those "consecutive <relevant nothing>s," that arise from the nesting, is <nen>=<not even nothing> -- which completes the Anything definition as being what isn't there -- completing the actual <ESN<r n><nen><nei>> original sequence. PFS(Plex Formal Saying)<Nothing separates consecutive words.> is what defines WORD, in Plex and its "<nothing>-quotation" makes consecutive <r n>s with <nen> between them in that NN word of two N words. But the <N<nen>> forces the reflection, back through the S to the EE word, etc. ... There is more to the story, including that complementary (to <nen>) <nei>=<not even irrelevant> and a "background sea of <irrelevant nothing>" permeating everything, as well, but ...


With that settled, then here is that

SECOND FEATURE of SA --

The Structured Analysis Maxim:

Everything worth saying
about anything worth saying something about
must be expressed in six-or-fewer pieces.

All except Nothing appear in the Maxim's saying -- but we know that even Nothing is included in that "anything".

The SA Maxim covers ANY SUBJECT at all -- but that subject must be INTERESTING!

Something must be worth saying about it.

Also the Structured Analysis Maxim applies recursively.

Everything worth saying
about anything STILL worth saying something about
STILL must be expressed in six-or-fewer pieces.
THIS IS WHAT YIELDS THE TOP-DOWN HIERARCHY

of Structured Analysis modeling.

If there's nothing more worthy to say --

STOP!

Even though it is not level, but is jagged, because some stop early, some late -- this is called "reaching the atomic level".

[Actually, during the analysis process of authoring an SA diagram, any complete-enough SA box instantly joins the atomic level as an atom, popping in and out of that status, as further arrow connections and details are added syntactically one after the other. In the same way, the change from Atom to Parent Box status "happens" instantaneously, on and off, whenever at least one Child Atom is present. In SA (as in Plex) Definitions can't be thwarted, in theory. (But so called "lazy" implementations of tool-support seems advisable -- with gradual inclusion of "live" concerns under user control, within active safety monitoring.)]


The atomic level embodies the Viewpoint of the model, for it has all there was to say in the original Everything.

(In the earlier picturing, each triangle represents a single model.)

NEVER BREAK THE SIX OR FEWER RULE!

It is a useful mental discipline; aids efficient tool support; keeps things orderly

Analysis showed that

Why six-or-fewer pieces? We can see best after introducing --


The THIRD FEATURE of SA --

The Structured Analysis Box

("SA box")

which is defined by matched

Formal Seeing

 

and

Syntax
(Structure)
Formal Saying
Under downarrowControl
Input rgtarrowis transformed into rgt arrowOutput
by the upfatarrowMechanism
-- which augments the inherited means
Semantics
(Meaning)

Each (non-overlapping) child box inherits just its portion
of the total means that comprise the parent.


WHY SIX-OR-FEWER?

 

UNDER CONTROL -- External and Internal Interfaces allow ANY CORE AT ALL to be forced inside! -- even nonsense (so anything at all can be treated)

The algebraic LAST CHILD derivation proves it always works!

The last child must be the controlling "Make it Happen Box", if the illustration is to work, but the theory is sound. What isn't sound, is the poor practice that afflicts some beginners learning SA and led to this name for such a box.

[Historically, the number 6 was simply the right size, and had nothing at all to do with any psychological study, despite allegations to the contrary.]


Subtleties about Decomposition and Structure

The Structured Analysis Box is the universal SA representation of the SA Maxim's "piece" as a part of a whole. When more is to be expressed, a Parent Box is detailed by the Child Boxes of its matching Child Diagram.

The LAST CHILD fills the last hole in the whole

Every model has a Top Box, box #0, that by definition has Everything in it, because 1 is less than 6. Every time that the SA Maxim recursively applies to a "piece", that part must, itself, be a whole -- so that it can have "six or fewer pieces," too. It begins its change to parenthood only when it gets more than one part, and actually achieves Parent Box state, only when its final "LAST CHILD" Child Box is hooked up and finished. That can only be when

LAST CHILD = Parent Box - (Other Children)

holds true, so that Parent Box = Child Diagram = All Children

-- with all the box parts properly interfaced together by arrow connections to join them all into one whole that by definition is that Parent whole so that those are ITS PARTS!

All the children = The parent
so
"
Take your pick!" --
detailed view or not!

There is no other choice.

By definition, the parent box and child diagram boundaries are the same. Together, they constitute the SA Node that the Parent Box's node number numbers. The PB's outside matches the CD's inside by

sharing PB-based ICOM-coded interface connections.

The PB arrows are imagined to be numbered, from the left or top, and that digit is appended to I, C, O, or M and attached to the free end of the matching CD boundary arrow. This completes the composition of that SA node -- ready for those children to be detailed, in turn.


The "Its Parts" Problem

Most people don't realize that this is the only way to properly be able to say of any whole:

"These are ITS PARTS,"

but clearly it is true. The 'round-about-reasoned definition that:

Parts compose the whole that decomposes
into those (-- only, which are, then --) its parts.

may seem a bit silly, but this is the proper way to match the Model Definition's "to the extent that" questions are properly answered.

Consider these facts:

  1. One part, only -- is only an alias.
  2. Two parts is a mere cleavage -- whatever the parts may be, change one and the other must change to complement it: <<it><not it>>. There is no real structure there -- nothing really separates them. ["Cleave" means to cut apart and to cling to, both.]
  3. Three three-part parts are the minimum to overlap enough to share interfaces by overlapping. Chain three 3-chains into a 5-chain by repeatedly doing this:
Overlap the last link with the next's middle link.
The 5-chain's LAST really is that, with the middle 3-chain's MIDDLE trapped in the middle. So FIRST really is first, too! But most significantly -- links 2 and 4 themselves
are those interfaces that actually make structure

between those parts of that whole! The 5-chain details the 3-chain's structure -- cleaving its INPUT and OUTPUT I-O interfaces from its triple-covered CORE. (And, of course, the 3-chain details the 1-chain degeneration.)

[This also details the I-to-O transformation of the SA Box's Formal Saying, and displays the vertical WHY WHAT HOW interpretation of <C over <I-to-O> over M>, in which the WHAT middle becomes the new WHY as the HOW  Requirements layers probe deeper into implementation details. (Picture to come; sketch for yourself for now.)]


The algebraic Last Child derivation that justifies SA's decomposition is what yields nested box boundaries. The "pipeline cross section" from hacking through the BUNDLED, BUNDLED, ... ARROWs in an arrow SEGMENT is what yields nested sheath boundaries.

Nesting itself hinges on the fact that 2D closed boundaries

only have three possible relations:

INSIDE BESIDE OUTSIDE

E.g. the parent boundary is outside the child boundaries that are beside each other inside that parent boundary. Please do notice how similar this wording is to that for decomposition. But ...

Nesting alone does not make structure!

In SA, only the nested boundaries of boxes actually make structure -- and that is because only child boxes have interfaces (their Output-to-Input and Output-to-Control and Output-to-Mechanism arrow interconnections) that link them and allow the subatomic sharing that makes the structure (see the ULS mention) that is the detailing of the inheritance from the parent box.

Arrow-bundle "insides" bundle, but don't interface!
  • Bundling is gathering -- not the composition of synthesis!
  • Unbundling is raveling -- not the decomposition of analysis!

Those non-overlapping sheaths of the pipeline cross-section comprise (encompass or make up) but they don't compose. [Don't even try to consider "unraveling", which (although it is reversed but at the same time is legitimate [the #1a primary meaning of "ravel" in Webster's International is "unravel", which is why I use ravel purposely, above, so there can be no confusion!]) is too much like "flamable/inflamable" (the first of which is not in Webster's at all)!]

 



Top-down decomposition boxes do not overlap -- by DERIVATION!

But outside-in subjective views must overlap -- eventually, in order to link together enough to trap the objective object that can only be known in that way!

Since each view is itself a top-down decomposition,

the overlap can only be subatomic,

because atoms can't be broken down to share "just a piece."

The white modeling under each Call, here, instantly becomes "+ node-numbered" as modeled requirements, when the Caller parent box becomes an atom (in its supported model), so it can merge its call-argument ICOMs with the Called parent box's call-parameter ICOMs, so their offspring have mixed ancestry.

Similarly, but more weakly, any white modeling above a Called parent effectively models "- node-numbered" context needs that must adequately be satisfied by the neutral ("0 node-numbered") modeling of the Caller. Both needs and requirements can be checked in detail through the SA Tie Process.


BUT ACTUALLY, only from the Caller box's view is the overlap sharing subatomic!

From the Called box's view, it's just that some of its bounding arrows come from (and hence are shared with) the Caller context -- so in that direction, the sharing seems to be super-atomic!

That's really not strange at all -- because the bounding meanings of a box's aura of arrows (now called "ICOM"s)

are the only prescriptive things in all of SA,

all others being

The prescriptive nature of ICOMs comes at the box boundary!

The meaning penetrates through the box-side interfaces to the inside of the box as "+" requirements that the box's detailing satisfies, while the "-" context needs of the details, in turn, are satisfied by the finished "0" modeling above. This knitting together is what is preserved by caller/called coupling, too.

Therefore such definitive BOUNDING meanings from both parents in the mating are the only things that can be shared!!! -- and they are indeed shared, in each Call instance, by their progeny. That's what actually links overlapped views together, as required. Without any calls, M Support is only potential. Without support, no calls are possible.


The above insights came to me in the preparation for the Hong Kong lecture. Here, verbatim is the next slide that resulted (in 1994):

 

I now am adding to the vocabulary of SA (and SADT)
as standard SA terminology
the singular noun "
ICOM"
to mean ONLY such a definitive
bounding-arrow meaning,

(-- which is not the wrong meaning that those IDEFers
who started saying "ICOM" as a noun (THANK YOU, but ...)
have erroneously been meaning, all along!!)

Please continually call to everyone's attention, so we all learn, that

No (just-an-)arrow EVER Is an ICOM!

Not even every ARROW MEANING is an ICOM!

ONLY EVERY BOUNDING-arrow'S meaning is an ICOM!

-- precisely because each such meaning contributes its part
to the prescriptive requirements the box's meaning must meet!!!

-- and that's ALWAYS BEEN what an ICOM code codes!

[Unfortunately all this fell on deaf ears in the IDEF standardization groups.]


 
Dual Activity and Data Modeling

In the SA graphical language of SADT precisely the same box-and-arrow graphic syntax and semantics (as a package) is used for completely dual Activity Modeling and Data Modeling (and perhaps, similarly also for States versus Transitions of modeled systems).

Activity Modeling (per box)

Data Modeling (per box)

Box name verb; Arrow label noun

Box name noun; Arrow label verb

Control required; May omit all Input

Input required; May omit all Control

The omission permission ("May omit...") properly is a feature of the pragmatics (the interaction between meaningful signs and their users) of the SA language. Except for that choice, A and D also have the same DT pragmatics -- especially in their sharing of SA's Reader/Author Cycle which makes the use of natural-language names and labels practical.

Hence in SADT, both data and activities (modeling real-world things and happenings, respectively) can be well-structured and always are intimately related together.


The natural way to relate any modular subject matter to an SADT model (and especially to self-relate, together, the A- or D-Model parts of a Complete SA Model) is to use:

The SA Tie Process:

For either Data or Activity subject matter, each unit of modular meaning is classified into its own unique box of meaning in the well-structured SADT model. By definition --
Everything related fits the top-most box of the model
and as long as the item fits just one child box,
the classification proceeds deeper
-- until the item's features would split to fit more than one box
-- or else the atomic level is reached.

The end-box's node number then is assigned to the item, as a tag, in the original modular structure.

If the effective atomic level, even of multiple models, is colored with the rainbow colors, then the SA model's structure can be contour-mapped onto the Tied subject document.

When this is done for self-mapping the A and D parts of a complete SA model (of models...) all external boundary arrows (which specify the boundary conditions for all the Top Boxes) will have been mappped into the dual-model boxes, so

There are no external boundary conditions
and the Complete Model is totally definitive!

Every arrow-label's meaning will have been mapped to the dual model, and the A and D dual atomic-level boxes therefore have tightly-prescribed meanings that are requirements to be met by features of any putative instance of what has been modeled. The degree of penetration toward the two atomic levels is a quantitative measure of the "fit" of the model to the classified subject.


Because IDEF0 only models activities by boxes, and the "data or objects" of the new IDEF0 standard are only modeled by arrows (never having a chance at the SA Box role) -- there is no way to more precisely map IDEF1X entities to IDEF0 modeling. [IDEF1X is an entity/relation type of database design methodology that only shares the IDEF name.]


Although all SA arrows are drawn with solid lines, these deeper views graphicallly show their semantics.

Every hollow arrow expresses only a possibility!

A possibility is that which may (but need not) BE.

When it IS -- that is called the realization of the possibility. See the above illustration for ordinary interface sticks and Call sticks.

O-to-I and O-to-C (and O-to-M, too), are the interfaces between the box parts of a diagram whole. They may join and fork (collectively called branching) and are realized by non-forking sticks between blobs (as shown). Thus SA has "sticky blob semantics".

If all are primitive sticks, the entire vine (from roots to tips) would have the same meaning if any segment is labeled. If different parts of several such vines are bundled together, however, they are insulated from each other by an insulating sheath, and may branch arbitrarily. But after such bundling, any new label will be a constraint on the sticks of possibility that pass through its segment. Any branch of any vine that conflicts with the new label is killed off, as a ruled-out possibility. Those that survive are what make up the actual ICOM meanings at all the boxes through which they pass (each one seeking its terminating atoms). Throughout all this,

EVERY POSSIBILITY IS MEANINGFUL --
ITS MEANING BEING ITS POSSIBILITY!

To animate or simulate the meaning, the sticky blobs of possibility can be tagged as realized, to correspond to Colored Petri Nets, etc.

Notice that the tunneled Input shown here on the uppermost box should have a O-side tunnel, like the leftmost box, because it shows how the same standard tunnel syntax/semantics can show the explicit distribution of Support for ordinary Child-Diagram tunneled boundary arrows, which always have been a fixture of SA, but have needed more complete syntax.


Two ways to make an SA Node


The Node-Number Coordinate System


Modular Structure is Purpose-Driven


Tunneled Arrows


The Vine of the Same Meaning


Go to top of page.

1/14/00 4:55PM