Curriculum Vitae

Nenad Medvidovic

Department of Information and Computer Science
University of California, Irvine
Irvine, CA 92697-3425
U.S.A.
tel:
+1(714)824-3100
fax:
+1(714)824-1715
em:
neno@ics.uci.edu
uri:
http://www.ics.uci.edu/~neno/

EDUCATION

Doctor of Philosophy (12/98)
University of California, Irvine
Department of Information and Computer Science
Software Research Group
Advisor: Dr. Richard N. Taylor
Dissertation: Architecture-Based Specification-Time Software Evolution

Master of Science (6/95, Cumulative GPA: 4.00)
University of California, Irvine
Department of Information and Computer Science
Major Emphasis: Software

Bachelor of Science, Summa Cum Laude (8/92, Cumulative GPA: 4.00)
Arizona State University
Major: Computer Science

PROFESSIONAL EXPERIENCE

9/94 - present
Graduate Student Researcher, Software Architecture Group
University of California, Irvine

9/93 - 8/94
Teaching Assistant
ICS 52 - Systematic Software Construction
ICS 121 - Introduction to Software Engineering
ICS 141 - Programming Languages
University of California, Irvine

6/93 - 8/93
Research Assistant, Software Engineering Group
Arizona State University

8/92 - 8/93
Teaching Assistant
CSE 460/598 - Software Project Management and Development I
Arizona State University

PUBLICATIONS

Refereed Journal Articles

[1]
Richard N. Taylor, Nenad Medvidovic, Kenneth M. Anderson, E. James Whitehead, Jr., Jason E. Robbins, Kari A. Nies, Peyman Oreizy, and Deborah L. Dubrow. "A Component- and Message-Based Architectural Style for GUI Software." IEEE Transactions on Software Engineering, vol. 22, no. 6, pages 390-406 (June 1996). (A significant revision and extension of the ICSE17 paper below.)

[2]
Nenad Medvidovic and Richard N. Taylor. "Exploiting Architectural Style to Develop a Family of Applications." IEE Proceedings Software Engineering, vol. 144, no. 5-6, pages 237-248 (October-December 1997).

Refereed Conference Publications

[1]
J. Blevins, D. Dubrow, N. Eickelmann, R. Grinter, N. Medvidovic, R. Reimer, J. Shaw, C. Turner, and G. Wong. "Report on the Software Project Management Technical Research Review." In Proceedings of the California Software Symposium (CSS'95), pages 127-145, Irvine, CA, March 30, 1995.

[2]
Richard N. Taylor, Nenad Medvidovic, Kenneth M. Anderson, E. James Whitehead Jr. and Jason E. Robbins. "A Component- and Message-Based Architectural Style for GUI Software." In Proceedings of the Seventeenth International Conference on Software Engineering (ICSE17), pages 295-304, Seattle, WA, April 23-30, 1995.

[3]
Nenad Medvidovic, Richard N. Taylor, and E. James Whitehead, Jr. "Formal Modeling of Software Architectures at Multiple Levels of Abstraction." In Proceedings of the California Software Symposium (CSS'96), pages 28-40, Los Angeles, CA, April 17, 1996.

[4]
Nenad Medvidovic, Peyman Oreizy, Jason E. Robbins, and Richard N. Taylor. "Using Object-Oriented Typing to Support Architectural Design in the C2 Style." In Proceedings of the Fourth ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE4), pages 24-32, San Francisco, CA, October 16-18, 1996. Also available as Technical Report UCI-ICS-96-6.

[5]
Nenad Medvidovic, Peyman Oreizy, and Richard N. Taylor. "Reuse of Off-the-Shelf Components in C2-Style Architectures." In Proceedings of the 1997 Symposium on Software Reusability (SSR'97), pages 190-198, Boston, MA, May 17-19, 1997. Also in Proceedings of the 1997 International Conference on Software Engineering (ICSE'97), pages 692-700, Boston, MA, May 17-23, 1997.

[6]
Nenad Medvidovic and Richard N. Taylor. "A Framework for Classifying and Comparing Architecture Description Languages." In Proceedings of the Sixth European Software Engineering Conference together with the Fifth ACM SIGSOFT Symposium on the Foundations of Software Engineering, pages 60-76, Zurich, Switzerland, September 22-25, 1997.

[7]
Nenad Medvidovic and David S. Rosenblum. "Domains of Concern in Software Architectures and Architecture Description Languages." In Proceedings of the USENIX Conference on Domain-Specific Languages, pages 199-212, Santa Barbara, CA, October 15-17, 1997.

[8]
Jason E. Robbins, Nenad Medvidovic, David F. Redmiles, and David S. Rosenblum. "Integrating Architecture Description Languages with a Standard Design Method." In Proceedings of the 20th International Conference on Software Engineering (ICSE'98), pages 209-218, Kyoto, Japan, April 19-25, 1998. Also available as Technical Report, UCI-ICS-97-35.

[9]
Peyman Oreizy, Nenad Medvidovic, and Richard N. Taylor. "Architecture-Based Runtime Software Evolution." In Proceedings of the 20th International Conference on Software Engineering (ICSE'98), pages 177-186, Kyoto, Japan, April 19-25, 1998. Also available as Technical Report, UCI-ICS-97-39.

[10]
Nenad Medvidovic, Eric M. Dashofy, and Richard N. Taylor. "Employing Off-the-Shelf Connector Technologies in C2-Style Architectures." In Proceedings of the California Software Symposium (CSS'98), pages 21-30, Irvine, CA, October 23, 1998.

[11]
Nenad Medvidovic and David S. Rosenblum. "Assessing the Suitability of a Standard Design Method for Modeling Software Architectures." To appear in Proceedings of the First Working IFIP Conference on Software Architecture (WICSA1), San Antonio, TX, February 22-24, 1999. Also available as Technical Report, UCI-ICS-98-02.

[12]
Nenad Medvidovic, David S. Rosenblum, and Richard N. Taylor. "A Language and Environment for Architecture-Based Software Development and Evolution." To appear in Proceedings of the 21st International Conference on Software Engineering (ICSE'99), Los Angeles, CA, May 16-22, 1999.

[13]
Eric M. Dashofy, Nenad Medvidovic, and Richard N. Taylor. "Using Off-the-Shelf Middleware to Implement Connectors in Distributed Software Architectures." To appear in Proceedings of the 21st International Conference on Software Engineering (ICSE'99), Los Angeles, CA, May 16-22, 1999.

Refereed Workshop Publications

[1]
E. James Whitehead, Jr., Jason E. Robbins, Nenad Medvidovic, and Richard N. Taylor. "Software Architecture: Foundation of a Software Component Marketplace." In David Garlan, ed., Proceedings of the First International Workshop on Architectures for Software Systems, pages 276-282, Seattle, WA, April 24-25, 1995.

[2]
Nenad Medvidovic. "ADLs and Dynamic Architecture Changes." In Alexander L. Wolf, ed., Proceedings of the Second International Software Architecture Workshop (ISAW-2), pages 24-27, San Francisco, CA, October 14-15, 1996.

[3]
Nenad Medvidovic and Richard N. Taylor. "Reusing Off-the-Shelf Components to Develop a Family of Applications in the C2 Architectural Style." In Proceedings of the International Workshop on Development and Evolution of Software Architectures for Product Families, Las Navas del Marqués, Ávila, Spain, November 18-19, 1996.

[4]
Peyman Oreizy, Nenad Medvidovic, Richard N. Taylor, and David S. Rosenblum. "Software Architecture and Component Technologies: Bridging the Gap." In Proceedings of the Workshop on Compositional Software Architectures, Monterey, CA, January 6-8, 1998.

[5]
Richard N. Taylor, Nenad Medvidovic, and Peyman Oreizy. "Architectural Implications of Common Operator Interfaces." In Proceedings of the Ground Systems Architectures Workshop (GSAW 98), El Segundo, CA, February 25-27, 1998.

[6]
Nenad Medvidovic, Richard N. Taylor, and David S. Rosenblum. "An Architecture-Based Approach to Software Evolution." In Proceedings of the International Workshop on the Principles of Software Evolution, pages 11-15, Kyoto, Japan, April 20-21, 1998.

[7]
Nenad Medvidovic and Richard N. Taylor. "Separating Fact from Fiction in Software Architecture." In Proceedings of the Third International Software Architecture Workshop (ISAW-3), pages 105-108, Orlando, FL, November 1-2, 1998.

Non-Refereed Publications

[1]
Jason E. Robbins, E. James Whitehead Jr., Nenad Medvidovic, and Richard N. Taylor. "A Software Architecture Design Environment for Chiron-2 Style Architectures." Arcadia Technical Report UCI-95-01, University of California, Irvine, January 1995.

[2]
Nenad Medvidovic. "Formal Definition of the Chiron-2 Software Architectural Style." Technical Report UCI-ICS-95-24, Department of Information and Computer Science, University of California, Irvine, August 1995.

[3]
Nenad Medvidovic and Richard N. Taylor. "Reuse of Off-the-Shelf Constraint Solvers in C2-Style Architectures." Technical Report UCI-ICS-96-28, Department of Information and Computer Science, University of California, Irvine, July 1996.

[4]
Nenad Medvidovic. "A Classification and Comparison Framework for Software Architecture Description Languages." Technical Report UCI-ICS-97-02, Department of Information and Computer Science, University of California, Irvine, February 1997.

[5]
Nenad Medvidovic, David S. Rosenblum, and Richard N. Taylor. "A Type Theory for Software Architectures." Technical Report, UCI-ICS-98-14, Department of Information and Computer Science, University of California, Irvine, April 1998.

[6]
Peyman Oreizy, Michael M. Gorlick, Richard N. Taylor, Dennis Heimbigner, Gregory Johnson, Nenad Medvidovic, Alex Quilici, David S. Rosenblum, and Alexander L. Wolf. "Self-Adaptive Software." Technical Report, UCI-ICS-98-27, Department of Information and Computer Science, University of California, Irvine, August 1998.

FORMAL PRESENTATIONS

[1]
"A Component- and Message-Based Architectural Style for GUI Software." Technology Presentation Track, 17th International Conference on Software Engineering (ICSE17), Seattle, WA, April 1995.

[2]
"Chiron-2: A Component- and Message-Based Architectural Style for GUI Software." Bay Area Roundtable (BART), Palo Alto, CA, June 1995.

[3]
"Chiron-2: A Component- and Message-Based Architectural Style for GUI Software." Sun Microsystems Laboratories, Palo Alto, CA, June 1995.

[4]
"Formal Modeling of Software Architectures at Multiple Levels of Abstraction." California Software Symposium, Los Angeles, CA, April 1996.

[5]
"What's New with C2?" Arcadia Research Meeting, Portland, OR, August 1996.

[6]
"ADLs and Dynamic Architecture Changes." Second International Software Architecture Workshop (ISAW-2), San Francisco, CA, October 1996.

[7]
"Using Object-Oriented Typing to Support Architectural Design in the C2 Style." Fourth ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE4), San Francisco, CA, October 1996.

[8]
"Reusing Off-the-Shelf Components to Develop a Family of Applications in the C2 Architectural Style." International Workshop on Development and Evolution of Software Architectures for Product Families, Las Navas del Marqués, Ávila, Spain, November 1996.

[9]
"A Classification and Comparison Framework for Software Architecture Description Languages." Second EDCS Architecture/Generation Workshop, Santa Fe, NM, April 1997.

[10]
"Reuse of Off-the-Shelf Components in C2-Style Architectures." 1997 Symposium on Software Reusability (SSR'97) and 1997 International Conference on Software Engineering (ICSE'97), joint session on Software Reuse, Boston, MA, May 1997.

[11]
"A Framework for Classifying and Comparing Architecture Description Languages." Sixth European Software Engineering Conference together with the Fifth ACM SIGSOFT Symposium on the Foundations of Software Engineering, Zurich, Switzerland, September 1997.

[12]
"Domains of Concern in Software Architectures and Architecture Description Languages." USENIX Conference on Domain-Specific Languages, Santa Barbara, CA, October 1997.

[13]
"A Style-Based Approach to the Design and Evolution of Adaptable Software." University of Texas, Austin, TX, November 1997.

[14]
"An Architecture-Based Approach to Software Evolution." International Workshop on the Principles of Software Evolution, Kyoto, Japan, April 1998.

[15]
"Employing Off-the-Shelf Connector Technologies in C2-Style Architectures." California Software Symposium (CSS'98), Irvine, CA, October 23, 1998.

PROFESSIONAL ACTIVITIES

Reviewer


PROFESSIONAL ASSOCIATIONS


HONORS, AWARDS, FELLOWSHIPS

1989-92
Dean's Honor List
1990-92
Arizona Regents International Student Scholarship
1990-93
Golden Key National Honor Society
1991-93
UPE National Honor Society for the computing sciences
1992
Moeur Award, Arizona State University (top student in the graduating class)
1993-94
ICS Departmental Fellowship

RESEARCH INTERESTS

My research interests are in the field of software engineering. A common theme, and long-term goal, of my research is development and evolution of adaptable, large-scale software systems. Practitioners have traditionally faced many problems with achieving support for reuse, interchange, reconfiguration, extension, and scaling of software modules and/or systems when using existing development approaches. These problems are often the result of poor understanding of a system's overall architecture, unintended dependencies among its modules, decisions that are made too early in the development process, and so forth. Existing techniques that are intended to remedy these problems (e.g., separation of concerns or isolation of change) are only partially adequate in the case of development with pre-existing, large, multi-lingual components that originate from multiple sources.

The main hypothesis of my research is that an explicit architectural focus can remedy many of these difficulties and enable flexible construction and evolution of large systems. I have therefore centered on software architectures as a key to developing techniques, tools, and methodologies for engineering flexible, large-scale software. Architectures present a high-level view of a system, enabling developers to abstract away the unnecessary details and focus on the "big picture." Another key is their explicit treatment of software connectors, which separate communication issues from computation in a system. However, existing architecture research has thus far largely failed to take advantage of this potential for adaptability for two reasons:

My research presents an architecture-based approach to achieving software adaptability. It expands the traditional notions of evolution (e.g., modularity, typing) for use in architectures, and introduces explicit, flexible connectors. I have designed an architecture description language (ADL) that encompasses these concepts; I am currently implementing its supporting toolset. While I have thus far exploited the benefits of a particular architectural style, C2, I intend to demonstrate that many of the results are style- and domain-independent.

This research is also closely related to two other areas: component-based software development and software reuse. Engineering large-scale software systems is fundamentally different from programming in the small. A programming language statement becomes inadequate as the unit of development. Instead, components must become software building blocks. Component-based development of software has become an area of intense research, resulting in several component interoperability models, e.g., CORBA and ActiveX, and wide adoption of certain software design methodologies, such as object-oriented (OO) design. Software architecture researchers have by and large also adopted a component-centered view of software development and evolution.

In the context of the C2 project, I have participated in the development of an OO class framework used for prototyping and implementing C2 components and connectors, as well as a number of example applications that used the framework. This experience has sensitized me to the fact that adopting a component-based approach is, by itself, not enough. Repeatedly engineering components from scratch is likely to become prohibitively expensive; it also fails to exploit the greatest potential benefit of component-based development: reuse. Architectural styles have the potential for controlling the scope of OTS reuse and providing structure for it. Styles typically reflect and leverage key properties of an application domain and recurring patterns of application design within that domain. To adequately support reuse, a style must also provide a balance, where its rules are strong enough to make reuse tractable but broad enough to enable integration of legacy components. I have thus far conducted or participated in a series of exercises intended to investigate reuse issues in the context of the C2 style. Drawing from this experience, I intend to further study what properties are likely to make a given style well suited for supporting OTS reuse.

As part of my longer-term research plans, I also intend to continue investigating several other questions that remain unanswered. A subset of these is given below.

Finally, I intend to further pursue the work I have begun on understanding the nature of software architectures and ADLs and clarifying their roles in the software engineering lifecycle. Despite much ongoing research in architectures and ADLs, consensus is lacking on several fundamental issues, including:


Nenad Medvidovic <neno@ics.uci.edu>
Last modified: 01 Dec 1997