[comp.object] Paradigms

schultz@grebyn.com (Ronald) (12/21/89)

The topic of paradigm keeps recurring, yet I see little
that has provided any practical help in my day to day
activities.  Even John Chancellor on the 12/19/90 NBC
News is using the term.  

In my work I have found it necessary to address some
basic terms.  The following are some sample working
definitions we have been trying out on our users.  I
hope these definitions create some discussion.  They
are by no means fixed, and I am open to new or revised
definitions.


Reality              -       The real world, independent of any
                             human interpretation.  Expressed in
                             terms of 4 and ocassionally more
                             dimensions.  Reality exists
                             independent of any particular
                             individual.  Please, no flames over
                             the 'nature of reality' or 'does a
                             falling tree make a sound in an
                             unpopulated forest' !

                             I've heard of reality defined as the
                             problem space of all problems spaces.

                             Reality is a given.


A Framework          -       A slice of reality selected for
                             viewing and inspection.  A framework
                             provides a schematic upon which
                             reality can be considered in some
                             useful manner.  One could select a
                             framework of information systems
                             architecture to conduct a review of
                             different approaches to software
                             development.

                             Frameworks are selected explicitly,
                             and are used to partition a problem
                             space into something humanly
                             manageable.


A Paradigm           -       A paradigm is a set of lenses through
                             which one's view of reality is
                             colored, shifted, and oriented.  The
                             same thing in reality appears
                             different when viewed through
                             different paradigms.  A paradigm can
                             be made somewhat explicit through
                             discussion, concept cluster
                             attachment. 

                             Paradigms are influenced by
                             education, beliefs, and to a lesser
                             extent, training.  Paradigms are not
                             explicitly selected, but are
                             implicitly learned.  New paradigms
                             can be learned much as one learns a
                             new language, but the older one gets,
                             the harder it becomes.

                             Paradigms provide a means of
                             addressing a problem space.  The
                             paradigm 'brings to mind' a list of
                             tools, techniques, methods, and
                             skills that are considered
                             appropriate to dealing with a
                             particular problem space.

A Concept Model-             An approach to addressing a
                             particular piece of a framework
                             viewed through a specific paradigm. 
                             Using the functional decomposition
                             paradigm as an example, Structured
                             Analysis is a Concept Model of
                             analyzing software systems.

                             Concept models are developed through
                             training, apprenticeships, and
                             education.

                             Concept models are described in terms
                             of:

                             o       Things of interest to the model
                             o       Concepts associated within the
                                     model
                             o       Functionality available in the
                                     model
                             o       Limitations of the model
                             o       Key advantages of the model in
                                     relation to the framework, and
                                     within the scope of the applied
                                     paradigm
                             o       Disadvantages of the model in
                                     the framework, and within the
                                     scope of the applied paradigm

                             A software framework, when approached
                             from the paradigm of functional
                             decomposition, yields concept models
                             of structured analysis, design,
                             coding and testing.  Object-Oriented
                             Domain Analysis would not be yielded
                             as a viable concept model within the
                             stated paradigm, because there is no
                             place for an object-orientation in
                             a functional decomposition paradigm
                             (IMHO).  This preselection of concept
                             models that occurs based on an
                             individual's paradigm must be
                             recognized and dealt with explicitly
                             during any new technology infusion
                             or transfer.

                             Concept models are selected somewhat
                             explicitly.  Individuals apply
                             generic concept models to a wide
                             range of problems.  The more concept
                             models available to a paradigm, the
                             more robust the paradigm can be
                             considered.

A Methodology                -       (Please note: Method =
                                     Methodology for this
                                     definition). A particular and
                                     specific way of implementing a
                                     concept model.  Gane and
                                     Sarson's method of Structured
                                     Analysis is a different method
                                     than Yourdon, although they both
                                     fulfill the Concept Model of
                                     Structured Analysis and are both
                                     contained in the functional
                                     decomposition paradigm.

                             A hardware example: A method of
                             implementing the concept model of
                             remote printing is via Channel
                             Extension technology.  

                             Methodologies are supported by
                             skills, tools, reference sources, and
                             modeling techniques.


My work involves dealing with hardware, software, and
telecommunications designers and architects and
planners.  Trying to find a paradigm that is capable
of handling this diverse mix of backgrounds,
educations, and skills can drive one to be a multiple-
paradigm personality (in other words 'schizophrenic'). 


This forum needs to explore the OO paradigm, and
competing paradigms, in a more formal fashion, minus
the flames.  If we ever intend to 'show the masses the
way', we need to be prepared to identify the impact of
paradigm shifts to ourselves, our management, and our
clients.  The bottom lines are always 

     SO WHAT?, 

and then if you are successful at answering that, then

HOW DO WE GET THERE FROM HERE ?

If you have any thoughts on this, please E-Mail me or
post your notes to the net.  

-----------------------------------------------------
-----------

"I don't pretend to have any answers, but I sure do
have a lot of questions."
-----------------------------------------------------
------------

Ron Schultz
Network Solutions, Inc.
schultz@grebyn.com