I have recently graduated and my Alfa dissertation is now available. Since my graduation I have started working for Siebel Systems in the San Francisco Bay area. I spend most of my time listening and presenting, but hope to start writing some real code soon!

My research is focused on the engineering of modern, large-scale software systems. My research is motivated by the need for greater productivity in software engineering while at the same time addressing the increased complexity of a highly wired world. Current practice usually requires the employment of a significant amount of expensive, repeated labor for achieving these three qualities in software systems. Software architectures have emerged on the scene with a promise to provide such desirable qualities, while checking the costs of developing modern, large-scale software systems. A software architecture allocates system function across its elements, determines the configuration whereby these elements are organized into the system, fixes the nature and protocols of interaction required between these elements, and specifies the data exchanged in these interactions.

The design of software architectures for dependable and adaptable software systems remains an area of active research. Ideally, it should be possible for an architect to put together a recipe for the construction of a software system, relying on past experience and well-known architectural principles, using compositional techniques and notations. One approach to reduce the difficulty of designing and constructing software architectures is aimed at achieving high-level reuse through the use of an architectural style for designing the architecture of a family of similar software systems. Architectural styles are coordinated constraints on similar architectures and embody high-level reuse, support stylistic analysis of architectural properties, and guarantee these across style-based architectures. Therefore, my research has focused on the construction of style-based software architectures.

Practical architectural construction requires support in the following key areas: architectural comprehension, compositional design, behavioral analysis, implementation, and environments. My research has focused on each of these areas simultaneously in an architectural composition framework, called Alfa. The underlying basis of my research is the hypothesis that systematic composition of software architectures will lead to improved dependability and adaptability of large-scale software systems.

In pursuing my academic and career goals, I have taken a path few would be advised to take. During three years from 2000 to 2002, I simultaneously designed architectures of commercial strength software as a full time job, while continuing to carry out research in software engineering with a special focus on software architectures. Along the way, I managed to co-found a sales/CRM company for the media industry, called Mediaconnex, which delivered a product and found many customers, but ultimately was brought down by the tough investment scene in early 2001. Another attempt at commercial software development, at Fasturn Inc., was slightly more successful with a patent pending technology developed for managing operations.

ResearchCV | Publications | HomeResources