[comp.software-eng] Domain Modeling Workshop

mayoff@cs.utexas.edu (Robert Mayoff) (03/30/91)

                           WORKSHOP ON 
	   DOMAIN MODELING FOR SOFTWARE ENGINEERING
                            
			  MAY  13, 1990  
	   Austin, Texas (in conjunction with ICSE)


* DATE CHANGE *
 Due to the delay in the mailing of the ICSE program, the POSITION
PAPER DEADLINE HAS BEEN EXTENDED TO APRIL 15, 1990

The workshop will provide a forum to present views, exchange ideas, and
clarify issues in domain modeling.  Due to space limitations,
attendance will be limited.


(LONG) DESCRIPTION FOLLOWS:

This one day workshop is for researchers active in the area of creating
or using domain models for software engineering purposes.  Domain
models are representations of application domains that can be used for
a variety of operational goals in support of specific software
engineering tasks or processes.

Although a variety  of domain modeling approaches exists, it is
difficult to compare models and  modeling techniques without an
understanding of the operational goals of a particular model.
Operational goals of domain models include:

% Requirements & Specifications -- Eliciting, verifying, and
formalizing software requirements and specifications.

% Automated Program Generation -- Generating code from a system
specification.

% Reverse Engineering -- Identifying the semantics of existing code.

% Explanation & Communication -- Capturing and communicating system
content as with an executive information or CSCW system


% Decision Modeling -- Understanding and resolving design decisions and
rationales.

Operational goals are always implicit in the construction of a domain
model and are essential to understanding the form and content of that
model.  Unlike generalized knowledge representation projects like Cyc
[10] that attempt to provide a basis for modeling encyclopedic
knowledge, domain modeling explicitly acknowledges the commonly held
view [1] that representations are designed for particular purposes.
These purposesQthe operational goalsQinherently bias any particular
solution and dictate the final form of the model.


Previous Workshops

Researchers have been working in related areas for a number of years.
Two years ago there was sufficient interest to begin holding
specialized workshops in domain modeling.

Workshop on Domain Analysis - 1988

In conjunction with the 1988 OOPSLA conference in September 1988, a
workshop on domain analysis was held in San Diego [7].  The workshop
concluded that without  an operational goal, the analysis of
application domains is at best an art, and at worst an exercise
overlaid with the baggage of competing commercial methodologies.

Furthermore, the representation of the target model depends on
operational goals.  Consequently, a workshop on domain modeling was
organized in 1989 around operational goals and their resultant domain
models and modeling methodologies.

Workshop on Domain Modeling - 1989

The first workshop on domain modeling [8] was held in October 1989 in
New Orleans during the OOPSLA '89 conference.  The major outcome of
this workshop was to verify the importance of generalized meta-models
and their use in instantiating domain knowledge into application domain
models.

Meta-Modeling & Model Instantiation

An application domain model is a specific representation of certain
aspects of an application domain.  A meta-model is a generalized form
of the representation of a set of domain models.

An application domain model is an instantiation of a meta-model with
knowledge from a real world application area.  This process takes place
within the context of a modeling methodology.  A meta-model:

% is a formal structure or language,

% is computationally tractable,

% allows for reasoning and inference to support the operational goals.

Formality and computational tractability are requirements because
models and meta-models are designed to be used by computers.

Research Questions

The purpose of this workshop is to examine domain modeling approaches
from the viewpoint of their operational goals.  Progress in this field
will only be made through the creation of meta-models that are actually
instantiated into application domain models.  These concrete instances
can be used as a laboratory for conducting research about domain
modeling.  Within this context, some of the research questions are:

Representation

%   what are the necessary or sufficient conceptual primitives of a
particular representation (e.g. objects, relationships, constraints,
and behaviors)?

%   how is the representation used to meet specific operational goals?

%   what are limitations of the meta-model? 

%   is the meta-model sound? how does it prevent inconsistencies from
being expressed?

%   what constraints of the operational goals led to limitations in the
meta-model (e.g. compiler technology, editors, model scale, type and
scope)?

Domain Classification and Analysis

%   what types of domains can be modeled using the constructs of a
particular meta-model?

%   is there a characterization of the coverage or degree of
completeness of the meta-model with respect to a class of application
domains?

%   what terms can and should be used to compare and classify domains?
are domains ever disjoint?  are domains ever orthogonal?  are there
domain equivalence classes?

%   what are the various dimensions by which application domains can be
classified (e.g. by specific application area, by generic application
area, software engineering phase, level of knowledge, and so on)?

Model Development, Instantiation, Evolution and Validation:

%   what are the processes or methodologies for instantiation?

%   what tools exist to facilitate the development and use of the
domain model?

%   how are objects chosen for inclusion (or exclusion) in the model?

%   does a methodology exist for validating the model?

%   what standards of completeness (if any) can be applied to domain
models?

%   what are the methods (if any) for evolving or combining domain
models?

Knowledge Structuring and Inference:  

%  what issues have arisen for structuring domain knowledge?

%  what inference mechanisms are used in the meta-model?  what
mechanisms are used in the instantiated domain model?

%  how are temporal concepts handled in the model?

%  can the model infer previously unknown or unrealized domain specific
structures and behaviors?

This workshop will provide a forum to present views, exchange ideas,
and clarify issues in domain modeling.  Due to space limitations,
attendance will be limited.

*********************
Workshop Organizers

Neil Iscoe 
EDS Research, Austin Lab
Austin, TX 78701

Gerald B. Williams
Andersen Consulting, CSTaR
Chicago, IL 60606

Guillermo Arango
Schlumberger Laboratory for Computer Science
Austin, TX 78720

******************************
POSITION PAPER DEADLINE APRIL 15, 1991

To submit a position paper, send 4 paper copies of a 3 to 5 page
abstract outlining your operational goals and domain modeling approach
to:

Neil Iscoe 
EDS Research, Austin Lab
Austin, TX 78701
iscoe@austin.eds.com
workshop91@austin.eds.com
(512) 477-1892

If you miss the deadline, (or the workshop), but still want information
about what happened, send mail to:

workshop91@austin.eds.com

********************************************
References

See ([7], [8], [12]) for collections of relevant papers.  References
([2], [3], [5], [6], [9], [11], [13], [14]) represent a selection of a
variety of approaches towards domain modeling.  This list is intended
only as a starting point for those interested in the subject and should
not be considered complete.


[1]  S. Amarel, ROn Representations of Problems of Reasoning About
Actions,S in Machine Intelligence 3, D. Michie, Ed., American Elsevier,
New York, 1968, pp.  131-171

[2]  G. Arango, RDomain Analysis:  From Art Form to Engineering
Discipline,S Proceedings of the Fifth International Workshop on
Software Specification and Design, Pittsburgh, PA, pp. 152-159, May
1989.

[3]  D. Barstow, RDomain-Specific Automatic Programming,S IEEE
Transactions on Software Engineering, vol. SE-11, no. 11, pp.
1321-1336, November 1985.

[4]  B. Curtis, H. Krasner, N. Iscoe, RA Field Study of the Software
Design Process for Large Systems,S Communications of the ACM, vol. 31,
no. 11, pp.  1268-1287, November 1988.

[5]  P.T. Devanbu, R.J. Brachman, P.G. Selfridge, B.W. Ballard,
RLaSSIEQa Knowledge-Based Software Information System,S Proceedings of
the 12th International Conference on Software Engineering, IEEE
Computer Society Press, Los Alamitos, CA, pp. 249-261.

[6]  N. Iscoe, Domain-Specific Programming:  An Object-Oriented and
Knowledge- Based Approach to Specification and Generation.  Ph.D.
Thesis, The University of Texas, May 1990.

[7]  N. Iscoe, Ed., Proceedings of the Workshop on Domain Analysis, San
Diego, CA, September 1988.

[8]  N. Iscoe, G. Williams, Eds., Proceedings of the Workshop on Domain
Modeling for Software Engineering, New Orleans, LA, October 1989.

[9]  K. Kang, S. Kohen, J. Hess, W. Novak, A. Peterson,
RFeature-Oriented Domain Analysis:  Feasibility Study,S Technical
Report, CMU/SEI-90-TR-21, Carnegie-Mellon University, November 1990.

[10]  D.B. Lenat, R.V. Guha, K. Pittman, D. Pratt, M. Shepherd, RCyc:
Toward Programs with Common Sense,S CACM, vol. 33, no. 8, pp. 30-49,
August 1990.

[11]  M. Lubars, The IDeA Design Environment,S Proceedings of the
Eleventh International Conference on Software Engineering, Pittsburgh,
PA, pp. 23-32, May 1989.

[12]  R. Prieto-Diaz, G. Arango, Tutorial:  Domain Analysis and
Software Systems Modeling, IEEE Computer Society Press, Los Alamitos,
CA, 1991.

[13]  H.B. Reubenstein and R.C. Waters, RThe Requirements Apprentice:
An Initial Scenario,S Proceedings of the Fifth International Workshop
on Software Specification and Design, Pittsburgh, PA, pp. 211-218, May
1989.

[14]  W. Robinson, RIntegrating Multiple Specifications Using Domain
Goals,S Proceedings of the Fifth International Workshop on Software
Specification and Design, Pittsburgh, PA, pp. 219-226, May 1989.


-- 
/_  rob		<mayoff@cs.utexas.edu>
 /_ Fun things to do with UNIX (#2 in a series):
  / echo "rsh `hostname` -n source eat.cpu &" > eat.cpu; source eat.cpu