Chrysanthos Nicholas Dellarocas
This thesis argues that many of the difficulties associated with building software applications by integrating existing components are related to a failure of current programming languages to recognize component interconnection as a separate design problem, orthogonal to the specification and implementation of a component's core function.
It proposes SYNOPSIS, an architectural description language which supports two orthogonal abstractions: activities, for representing the functional pieces of an application, and dependencies, for describing their interconnection relationships. Coordination processes, defined as an attribute of dependencies, describe implementations of interconnection protocols. Executable systems can be generated from SYNOPSIS descriptions by successively replacing activities with more specialized versions and managing dependencies with coordination processes, until all elements of the description are specific enough for code generation to take place.
Furthermore, it proposes a "design handbook", consisting of a vocabulary of common dependency types and a design space of associated coordination processes. The handbook is based on the insight that many software interconnection relationships can be described using a relatively narrow set of concepts orthogonal to the problem domain of most applications, such as resource flows, resource sharing, and timing dependencies.
A prototype component-based application development tool called SYNTHESIS was developed. SYNTHESIS maintains a repository of increasingly specialized dependency types, based on the proposed design handbook. It assists the generation of executable applications by successive semi-automatic transformations of their SYNOPSIS descriptions.
A set of four experiments is described. Each experiment
consisted in specifying a test application as a SYNOPSIS diagram,
associating application activities with components exhibiting
various mismatches, and using SYNTHESIS to assemble these components
into executable systems. SYNTHESIS was able to exploit its dependencies
repository in order to resolve a wide range of interoperability
and architectural mismatches and integrate independently developed
components into the test applications, with minimal or no need
for additional manually-written code. It was able to reuse a single
SYNOPSIS architectural description in order to generate versions
of a test application for two different execution environments.
Finally, it was able to suggest various alternative architectures
for integrating each component set into its corresponding application.
Thesis Supervisor: Thomas W. Malone
Title: Patrick J. McGovern
This thesis has been the focus of the last three and a half
years of my life. As I am getting near the end, I would like to
say thanks to all the people and places that have been around
me during this time and, each in their own big or small way, have
contributed to making this work possible.
Completing a thesis is, first and foremost, an academic exercise.
It would not have been possible without a kind and supportive
academic advisor. Many thanks to Professor Tom Malone for inviting
me to join his research group, for giving me all the freedom and
resources I needed to select my topic, and for never losing his
faith in me (even during periods when I had lost mine). I am grateful
to the members of my thesis committee, Professors Hal Abelson
and Peter Szolovits, for their constructive comments and suggestions.
Bob Halperin, the executive director of the MIT Center for Coordination
Science, deserves my thanks for helping create a stimulating research
environment, and for signing each and every one of my research
assistantship appointments with a smile. Thanks to George Wyner,
my fellow doctoral candidate at CCS, for numerous stimulating
conversations (and for being such a nice fellow). Thanks to John
Quimby for bringing to my attention the capabilities of the Visio
program, one of the crucial components of my prototype implementation.
A big hug to Meg Christian, our secretary, for bringing that extra
personal touch to the place, and for her very special interest
and support (not to mention her wonderful decoration of my office
door). Thanks to the ladies of the LCS Reading Room, for creating
a peaceful and resourceful environment where most of my literature
search took place, and many of my ideas took form. Finally, my
warmest thanks to my family for teaching me the value of a good
education and for always encouraging my academic pursuits.
Completing a thesis is a balancing act. In my case, I was fortunate
to be surrounded by numerous good friends who helped me maintain
a (relative) balance during my Ph.D. years and make it through
with (relative) sanity. Many thanks to Peter Kofinas, my roommate
for the last three years, for being the best approximation to
the ideal roommate I have ever met. Thanks to the faithful members
of the mailing list flex@mit.edu for motivating me to stay
in shape (and for listening to my nonsense during our workouts).
Thanks to my close friends Stelios Smirnakis and Michalis Bletsas
for always being there for me when I needed them. Besos
fuertes to Marina Cocconi for putting up with my doctoral
disorders and for being the perfect travel companion to a number
of wild and exotic places. A warm kiss to Heleni Vastardis for
staying close despite my moods and for being my inseparable Merengue
dance partner on many unforgettable occasions.
Finally, completing a thesis is only one part of a person's
life and interests. I was lucky to spend my graduate years at
MIT and take advantage of its inexhaustible resources and opportunities
for learning. I am grateful to MIT for being such a dynamic, open-minded
place that was able to satisfy all my thirst for knowledge, without
ever making me to go to that other school
in Cambridge to take a class it did not offer. Special thanks
must go to the Sloan School of Management, for allowing me to
complement my technical education, and to the Spanish Language
Section for enabling me to fulfill uno de los suenos
de mi vida.
Last, but not least, thanks to Boston and its wonderful international
student community for treating me so well during the five and
a half years I have spent here. As I am preparing to move on to
the next stage of my life, I am sure I'll miss you all.
Two roads diverged in a yellow wood,
And sorry I could not travel both
And be one traveler, long I stood
And looked down as far as I could
To where it bent in the undergrowth;
Robert Frost - The Road Not Taken