Bruce W. Weide
Professor and Associate Chair
Ph.D. Carnegie Mellon University, 1978
B.S.E.E. University of Toledo, 1974
Software Engineering Group
Research
The Reusable Software Research Group (RSRG),
which I co-direct with Bill
Ogden, Tim Long,
and Stu Zweben, is
part of the Software Engineering Group
in the Department of Computer
Science and Engineering at The
Ohio State University. Our charter is to explore all aspects
of component-based software engineering. Our approach involves a
broad look at several related subareas: formal specification of functionality
and performance, modular verification of correctness and efficiency of
implementations, design of programming languages and systems, and adaptation
of our RESOLVE technology to practice (originally in Ada, more recently
in C++ and Java). Sponsors have included the National Science Foundation,
Lucent Technologies, and Microsoft Research. Selected publications are
listed below under "Publications"; see the RSRG Home Page for more details.
Teaching
With Tim Long, Paolo
Bucci, and Wayne Heym, I am engaged in a long-term effort to integrate, into the undergraduate
computer science curriculum, component-based software engineering principles
developed through RSRG research activities. We have designed, developed,
installed, and partially evaluated an innovative first-year undergraduate
course sequence in software design and development for computer science
and engineering students. The one-year sequence begins with an introduction
to component-based software engineering, ends with an advanced case-study
in design and analysis of reusable software components, and is completely
integrated and unified in its philosophical and technical bases.
We also are designing and implementing a suite of software tools, the software
composition workbench, to assist students as they apply the principles
and methodologies, taught in the course sequence, to the development of
component-based software systems. The goal of these activities is
to create the core of an instructional system capable of producing software
professionals with greater awareness and understanding of the technical
issues faced by tomorrow's software industry, and with measurably better software
design and development skills. Publications about, and awards
for, this course sequence are available through the SCE home page link
below. Sponsors have included the National Science Foundation, Fund for
the Improvement of Post-Secondary Education, and Microsoft Research.
A separate instructional project is a joint effort with Paul Sivilotti and
Paolo Bucci of
CSE and Furrukh
Khan of Electrical and Computer Engineering. This involves a sequence of courses in "Applied Software
Engineering" for engineers and scientists. The objective is for
both CS students in software engineering, and upper-division and
graduate engineering and science students in non-CS disciplines, to
learn the practical concepts and skills that will make them
immediately productive with the modern software technologies and tools
used for software engineering in high-technology companies.
Lucent Technologies has also sponsored part of this development.
Administration
I am Associate Chair of the Computer Science and
Engineering Department, responsible for curricular and undergraduate
mattters. Related activities involve chairing the Engineering College
Committee on Academic Affairs.
Selected Publications on Component-Based Software
Engineering Research
-
Weide, B.W., Ogden, W.F., and Zweben, S.H., "Reusable Software
Components," Advances in Computers, Vol. 33, M. Yovits, ed.,
Academic Press, 1991, pp. 1-65. [PDF]
-
Harms, D.E., and Weide, B.W., "Copying and Swapping: Influences on the Design
of Reusable Software Components," IEEE Transactions on Software Engineering,
Vol. 17, No. 5, May 1991, pp. 424- 435. [PDF]
-
Weide, B.W., Edwards, S.H., Harms, D.E., and Lamb, D.A., "Design and
Specification of Iterators Using the Swapping Paradigm," IEEE
Transactions on Software Engineering, Vol. 20, No. 8, August 1994,
pp. 631-643. [PDF]
-
Weide, B.W., Odgen, W.F., and Sitaraman, M., "Recasting Algorithms to
Encourage Reuse," IEEE Software, Vol. 11, No. 5, September
1994, pp. 80-88. [PDF] [corrected
versions of the figures])
-
Sitaraman, M., and Weide, B.W., eds., "Special Feature: Component-Based
Software Using RESOLVE," ACM SIGSOFT Software Engineering
Notes, Vol. 19, No. 4, October 1994, pp. 21-67. [PDF; 6
papers/files]
-
Zweben, S.H., Edwards, S.H., Hollingsworth, J.E., and Weide, B.W.,
"The Effects of Layering and Encapsulation on Software Development
Cost and Quality," IEEE Transactions on Software Engineering,
Vol. 21, No. 3, March 1995, pp. 200-208. [PDF]
-
Weide, B.W., Hollingsworth, J.E., and Heym, W.D., "Reverse Engineering
of Legacy Code Exposed," Proceedings 17th International Conference
on Software Engineering, ACM, April 1995, pp. 327-331. [PDF]
-
Weide, B.W., Edwards, S.H., Heym, W.D., Long, T.J., and Ogden, W.F.,
"Characterizing Observability and Controllability of Software
Components," Proceedings Fourth International Conference on
Software Reuse, IEEE, April 1996, pp. 62-71. [PDF]
-
Sitaraman, M., Weide, B.W., and Ogden, W.F., "On the Practical Need for
Abstraction Relations to Verify Abstract Data Type Representations,"
IEEE Transactions on Software Engineering, Vol. 23, No. 3,
March 1997, pp. 157-170. [PDF]
- Sitaraman, M., Weide, B.W., Long. T.J., and Ogden, W.F., "A Data Abstraction
Alternative to Data Structure/Algorithm Modularization," in Jazayeri, M.,
Loos, R.G.K., and Musser, D., eds., Generic Programming, Springer-Verlag
LNCS 1766, 2000, pp. 102-113. [PDF]
-
Sitaraman, M., Atkinson, S., Kulczycki, G., Weide, B.W., Long, T.J., Bucci,
P., Heym, W.D., Pike, S., and Hollingsworth, J.E., "Reasoning About Software-Component
Behavior," in Frakes, W.B., ed., Software Reuse: Advances in Software
Reusability (Proceedings Sixth International Conference on Software Reuse),
Springer-Verlag LNCS 1844, 2000, pp. 266-283. [PDF]
-
Hollingsworth, J.E., Blankenship, L., and Weide, B.W., "Experience
Report: Using RESOLVE/C++ for Commercial Software," Proceedings ACM
SIGSOFT Eighth International Symposium on the Foundations of Software Engineering,
ACM Press, 2000, pp. 11-19. [PDF]
-
Sitaraman, M., Long, T.J., Weide, B.W., Harner, E.J., and Wang, L., "A
Formal Approach to Component-Based Software Engineering: Education and
Evaluation", ICSE 2001: Proceedings 23rd International Conference
on Software Engineering, IEEE, 2001, pp. 601-609 [PDF]; a revised version
appeared as Sitaraman, M., Long, T.J., Weide, B.W., Harner, J., and
Wang, C., "Teaching Component-Based Software Engineering: A Formal
Approach and Its Evaluation", Computer Science Education Journal
12, 1-2 (2002), 11-36. [CSE
abstract]
-
Weide, B.W., "Component-Based Systems", in Marciniak, J.J., ed.,
Encyclopedia of Software Engineering, John Wiley and Sons,
2001, 9 pp. [ESE
abstract] [PDF]
- Sridhar, N., Weide, B.W., and Bucci, P., "Service Facilities:
Extending Abstract Factories to Decouple Advanced Dependencies", in
C. Gacek, ed., Software Reuse: Methods, Techniques, and Tools
(Proceedings Seventh International Conference on Software Reuse),
Springer-Verlag LNCS 2319, 2002, pp. 309-326. [PDF]
- Sridhar, N., Pike, S.M., and Weide, B.W., "Dynamic Module
Replacement in Distributed Protocols", Proceedings 23rd
International Conference on Distributed Computing Systems, IEEE,
May 2003, 620-627. [PDF]
-
Edwards, S.H., Sitaraman, M., Weide, B.W., and Hollingsworth, J.E.,
"Contract-Checking Wrappers for C++ Classes", IEEE Transactions on
Software Engineering 30, 11 (November 2004), 794-810. [PDF]
Contact Information
Department of Computer Science and Engineering
The Ohio State University
2015 Neil Avenue
Columbus, OH 43210-1277
office: Dreese Lab 687
phone: 614-292-1517
FAX: 614-292-2911
email: weide DOT 1 [that's the numeral one] AT osu DOT edu
URL: http://www.cse.ohio-state.edu/~weide
Last modified: Wed May 17 18:11:50 EDT 2006