\markboth{Cohen}{Cohen}
%%%%%% TEMPLATE.TEX for WISR'93, version 1.2, 4/22/93 %%%%%%
%%%%%% Updated by Jeffrey S. Poulin, May 1993         %%%%%%

\documentstyle[11pt]{article}

% Standard Spacing for WISR - do not change!!
%
% Page dimensions.
%
\oddsidemargin  0.26in % Leave enough for binding margin
\evensidemargin 0.26in %
\topmargin      -1.00in % (adjusted for printer bias)
\headheight      .00in  % (no headers)
\headsep         .75in  % (top margin + headers + skip)
\footheight     12.0pt  % ??? (seems to work ok)
\footskip       25.0pt  % ??? ( "   "  )
\textheight     9.425in % (instructions: 9 1/8" min, 9 7/16" max)
\textwidth      6.5in   %
%
% Paragraph changes.
%

\markboth{Cohen}{Cohen}
\pagestyle{myheadings}

\parindent=0pt
\parskip=10pt
%
% can make the title box even smaller
%
\def\@maketitle{\vbox to 2.6in{\hsize\textwidth
    \linewidth\hsize \vfil \centering
    {\large \@title \par}
    \vskip 2em
    {\normalsize
    \begin{tabular}[t]{c}\@author
    \end{tabular}\par}
    \vfil}
}

\begin{document}

\bibliographystyle{ieeetr}

\title{A Model Base for Software Engineering}

\author{Sholom Cohen\\
\\
Software Engineering Institute\\
Carnegie Mellon University\\
Pittsburgh, PA 15213-3890\\
Tel: (412) 268-2572 (voice) -5758 (fax)\\
Email: sgc@sei.cmu.edu\\
\\
}
\date{}

\maketitle

\begin{abstract}

This paper reports on the activities of the Application of Software
Models (ASM) Project at the Software Engineering Institute (SEI).  The
ASM project combines two previous efforts at the SEI in domain and
architecture modeling.  Our position is that a core competance in
software modeling is essential for successful reuse.  The ASM project
is developing methods, training, and an organizational pattern of
operations for supporting the development of this core competance
within other organizations.

\vspace{0.2in}
\noindent
{\bf Keywords:} Strategic planning, architecture, domain analysis/engineering

\vspace{0.2in}
\noindent
{\bf Workshop Goals:} Learning; networking; understanding industry
needs; explaining our position

\vspace{0.2in}
\noindent
{\bf Working Groups:} domain analysis/engineering; reuse process models

\end{abstract}

Sponsored by the U.S. Department of Defense

\newpage

\section{Background}

Sholom Cohen is a member of the technical staff of the Software
Engineering Institute (SEI).  Mr. Cohen is currently project leader of
SEI's Application of Software Models project. This project combines
both the Domain Analysis and Software Architecture Engineering
projects.  As project leader, Mr. Cohen has co-authored two major
technical reports on domain analysis methods and an annotated
bibliography of domain analysis. He is also the author of a study on
the implications of software reuse for the Ada 9X project. Besides
domain analysis, Mr. Cohen's research activities include the
development of life cycle methods for software reuse, concentrating
on designing for reuse and on reuse-based implementation.

\section{Position}

For systematic software reuse, organizations must invest in evolving a core
competence in software modeling.  This core competence involves modeling
the common capabilities of software applications within a product family, and
developing a generic design founded on a software/hardware architectural
model.  As an organization enriches its software assets with models, the
process for developing or evolving software applications will become more an
engineering change activity of mapping from needs to software solutions than a
synthesis activity of building from scratch.

\subsection{Application of Software Models Project}

The Application of Software Models project is developing the
technology, engineering process, organization structure and transition
planning involved in building and applying a core competence in
software modeling.  The activities of this project are based on our
experience in a number of key supporting techiques:

\begin{itemize}
\item domain modeling

\item software architecture

\item composition of systems via the application of models

\item design for and with reuse
\end{itemize}

The application of these techniques leads to the systematic creation
and application of models which form a codified technology base of
engineering knowledge.  Software engineers use this technology base to
support:

\begin{itemize}
\item analysis of customers' needs

\item synthesis of solutions based on recognized commonalities or on
variations from previous solutions

\item reuse and reengineering of legacy software
\end{itemize}

This approach to modeling is a component of the Model-Based Software
Engineering approach being promoted by the project.  The MBSE approach
establishes a framework for relating several types of models:

\begin{itemize}
\item Abstract models give us basic modeling concepts.  They
address questions such as: What is a domain model, what is an
architecture, and what are the structures for reusable components?

\item Concrete models apply the abstract models by adding domain
information.  They include the domain model of a particular class of
applications, a generic design, a collection of components, an
application generator.  For a specific domain, the concrete models
constitute a domain-specific software architecture, as has been
defined by the DSSA program.

\item Instances are the applications built upon the concrete models.
\end{itemize}

The creation of abstract models is chiefly a research and development
activity.  The SEI has produced abstract models such as those which
form the Feature-Oriented Domain Analysis (FODA) method, the Object
Connection Update model, and the Object Connection Architecture model.
The project also uses abstract models created by other organizations
such as the CAMP object architecture.  MBSE includes a process for
creating concrete models: domain engineering, and a process for using
concrete models in the construction of applications: application
engineering.

\subsection{Project Activities}

Through collaboration with sponsors, the project has used
abstract models as a basis for creating concrete models through domain
engineering and is applying these models in the creation of
applications.  These sponsors include:

\begin{itemize}
\item Army Communications and Electronics Command (CECOM) - creation of a
domain model of Army movement control, a tactical decision aid
supporting command and control.

\item National Institute of Standards and Technology - applying the FODA
method for developing a model of network management systems software.

\item Joint Modeling and Simulation System (JMASS) - applying OCU model for
design of friendly and threat models.

\item Ballistic Missile Defense Office - using abstract models as a means of
evaluating the BMDO Information Architecture and its ability to
support system defintion of Battle Management Command Control and
Communications (BM/C3) applications.

\item Navy - creating concrete models to support the development of weapon
system trainers.

\item MICOM - creating concrete models to support development of
electro-optical fire control systems.  This work is being done with
our Texas Instruments resident affiliate.
\end{itemize}

The project also seeks to work directly with industry to support their
ability to establish a core competence in software modeling.  We have
several contacts in the early stages of transition.

\subsection{Details of CECOM effort}

Since 1989, the project has been working with CECOM to develop models
for a domain-specific software architecture.  The domain of interest
for this work has been movement control, which is a command and
control tactical decision aid that deals with the movement of soldiers
and materiel on the battlefield.  The work was initiated under Lt.
Gen. Peter Kind and has continued under the sponsorship of the
Software Engineering Directorate with Dennis Turner as our key point
of contact.

The project has created the following products for CECOM:

\begin{itemize}
\item a domain modeling method called Feature-Oriented Domain Analysis (FODA)

\item a domain model of movement control using FODA models as the abstract
modeling concepts

\item a generic design that encompasses the domain of movement control
  using the Object Connection Architecture as the abstract model

\item a working prototype that illustrates the use of a domain specific
software architecture for creating an application

\item a technical report on using an abstract architecture model to map the
domain model to a generic design model (in-progress).  Taken together, these
models consitute a domain-specific software architecture for movement control
\end{itemize}

The project is currently extending the DSSA for movement control to
include a geographical information system, time-space deconflication,
and simulation.  The working prototype built from the dssa will also
be reengineered to operate on the Army common hardware/software using
the ATCCS reference architecture and common applications support
software.

The project is also working with several groups building command and
control systems that will incorporate the movement control dssa.
These include the Strategic-Theater Army Command and Control System
(STACCS) currently under development by CSC, Army Tactical Command and
Control System (ATCCS) under development at CECOM, and Department of
Army Movement Management System - Redesign (DAMMS-R) a product of the
Army Combined Arms Support Command.

\section{Project Products}

The project is currently developing a set of support services,
training and documentation for organizations wishing to develop a
software modeling compentence.  We currently have in place:

\begin{itemize}
\item an overview briefing describing the evolution to MBSE

\item an overview briefing on abstract and concrete models to support
  design

\item a multi-day tutorial/workshop on domain analysis

\item technical reports covering the FODA method, a sample domain model,
  tool support for domain analysis, evolving to MBSE (in-progress), and
  mapping the domain model to a generic design (in-progress).
\end{itemize}


\section{Biography}

Prior to joining the staff of the SEI, {\bf Sholom Cohen} was a member
of the software engineering technology branch of the McDonnell
Douglas Astronautics Company. In that position, he was a key developer
of the Common Ada Missile Packages components and tools.

On a lighter note, Mr. Cohen is the author of a children's book, {\em
Yitzy and the G.O.L.E.M.} (HaChai Publications, 1992), a book about a
pre-teen computer hacker, and is currently working on a second book in
the same {\em Yitz Berg from Pittsburgh} series.

Mr. Cohen received his BS from the Massachusetts Institute of
Technology, an MA in Library and Information Science from the
University of Michigan, and an MS from Columbia University (New
York).

The SEI, located in Pittsburgh, Pennsylvania, is a federally
funded research and development center operated by Carnegie Mellon
University under contract to the U.S. Department of Defense. The
objective of the SEI is to provide leadership in software engineering
and in the tran sition of new software engineering technology into
practice.

\end{document}




