Subject: Speaker at Brown: Don Batory
From: Shriram Krishnamurthi (sk@cs.brown.edu)
Date: Thu Feb 15 2001 - 11:25:12 EST
Don Batory of UT Austin will speak at Brown on 2/27 at 4pm. We invite
you to attend! If you need information on visiting Brown, please see
http://www.cs.brown.edu/about/directions.html
If you need a parking tag, let me know soon.
Shriram
----------------------------------------------------------------------
ABSTRACT
Refinements and Product Line Architectures
Models of software development are generally too low level, exposing
classes, methods, and objects as the focal point of discourse in
software design and implementation. This makes it very difficult, if
not impossible, to reason about software architectures (i.e.,
designs), to have simple, elegant, and easy to understand
specifications of applications, and to be able to design software
automatically given a set of high-level requirements.
These problems come to the forefront in the area of product-line
architectures. To build families of related systems from components
(which is what product-lines are all about), one must have simple ways
to specify a particular application. It must be possible to reason
about application designs in terms of their components. And it should
be possible to optimize designs automatically given a set of
constraints on the target system. For all this to be possible, it is
necessary that components encapsulate individual features that can be
shared by many applications in a product-line. This implies a notion
of componentry that is quite different from current technologies --
e.g., CORBA, COM, and Java Packages.
In this presentation, I outline a model of software development that
has been demonstrated in many disparate domains over the last
decade. The core ideas are programs are values, and building blocks
(what other people call "components") are functions that take a
program as input and produce a new program as output -- the new
program is the old program with an additional feature. These functions
are *refinements*; they add new capabilities to an input
program. Function composition (which corresponds to component
composition) follows the age-old idea of step-wise refinement -- the
idea of progressively building programs by adding one detail or
feature at a time. The difference between our version of step-wise
refinement and traditional concepts is the scale: our refinements
impact many classes of an application.
----------------------------------------------------------------------
BIO SKETCH
Don Batory holds the David Bruton Jr. Centennial Professorship Chair
at the University of Texas at Austin. His research interests include
automatic software development, software architectures, and
product-lines. He is an Associate Editor of IEEE Transactions on
Software Engineering, and formerly an Associated Editor of ACM
Transactions on Database Systems.
This archive was generated by hypermail 2b28 : Thu Feb 15 2001 - 11:26:10 EST