logo  
About the Center
  Center for Software Sciences     College of Computer and Information Science

Links:
CenterCenter
DemeterDemeter
AOPAOP
BeanpoleBeanpole
BcDKBcDK
AboutAbout
  The Center for Software Sciences, led by Professors Lieberherr and Lorenz, hosts software related research and development in the areas of Adaptive, Object-Oriented, Aspect-Oriented, and Component-Based Programming. The Center is well known for the Law of Demeter, a style rule invented at Northeastern University in the fall of 1987 and popularized in books by Booch, Budd, Coleman, Larman, Rumbaugh and others, and for an early definition of AOP from Northeastern without using the AOP terminology,  now trademarked by Xerox PARC. Ongoing projects include the Demeter project (over 12 years), and the Beanpole, a recent project for testing new abstractions for Component-Based Programming.  

Location

The Center for Software Sciences (CSS) is located at the Egan Engineering/Science Research Center at the College of Computer Science, Northeastern University, Boston, MA.


Theme

Software, and in particular the construction and evolution of large software systems, is of central importance in the applications of computer science. It is also an issue of major concern to the faculty of the College of Computer Science and to the software industry. Large software systems range from those developed by two to three people for research purposes to huge systems developed and maintained by hundreds of people. Within the College we have research programs which directly address the problems of building large systems, and projects for which construction of a large software system is a major aspect of the research. Our research comprises issues of innovative software design methods, such as adaptive object-oriented programming and the Demeter Method; the Law of Demeter and its implications for software development; Component-based software development, Adaptive Plug and Play Components (AP&PC), Aspect-Oriented Programming, Evolution and maintenance of object-oriented programs; Reengineering of legacy programs as flexible Java programs; Issues of correctness and validation, as in the automatic production of correct compilers from language definitions.


Activities

The Center provides a focus for a number of activities designed to promote research on large software systems, to disseminate the results of the research to industrial and academic sources, and to improve the College's relationships with industry. The primary activity is research conducted by faculty affiliates and by graduate students supported by the Center. The projects will produce original research useful to member companies and support graduate students at the Master's and PhD level.

Other activities planned for the Center include the development of a mechanism for matching faculty and graduate students with colleagues having similar interests at member companies, and preparing grant applications and bids for research-related projects. The Center produces an annual report and conducts regular briefings for industrial members and others on its activities.


Industrial Membership

Companies are invited to join the Center for an annual fee or to support a specific student. In return for the support, they will receive the following benefits:

  • membership on the Center's Board of Advisors
  • a designated faculty contact person, who can facilitate access to other faculty and graduate students
  • copies of College technical reports as they are produced
  • access to software produced and maintained by the Center
  • discussion of common problems with other Members in a noncompetitive forum
  • input to research directions through interaction with Center scientists
  • input to the graduate computer science curriculum through interaction with faculty members on the Board
  • access to faculty and graduate students for potential consulting
  • an opportunity to sponsor research programs pertinent to the Member's needs
  • an opportunity to work with faculty in designing special courses of instruction for the Member's employees
  • an opportunity to recruit graduate students for summer employment
  • an opportunity to recruit degree candidates for permanent employment
  • an opportunity for qualified company scientists to serve as adjunct or visiting faculty in the graduate program, and to serve on PhD committees.

By participating in the Center, Members will have access to research results well in advance of normal publication, as well as an opportunity to influence the direction of research programs and raise issues of relevance to their concerns. The interchange of faculty, graduate students, and industry scientists in a variety of roles will encourage the pursuit of research on themes of interest to both industry and academia.


Benefits to the College

We expect the Center to play a key role in fostering closer interactions between the College of Computer Science and industry. Many of the faculty members of the Center have distinguished research programs supported by outside funding. Industrial relationships provide a source of support for research and graduate students. In addition, a dialog with practitioners in the field allows faculty to learn about their concerns and to develop opportunities for collaboration and for practical application of their research. Such a dialog is a source of new problems for basic and applied research, and contributes to the quality and applicability of research results. The existence of the Center will help us to attract high-quality graduate students in the software area, and to provide interesting problems for them and support for their research.

The Center for Software Sciences provides a highly visible mechanism for industrial relationships, and helps to focus faculty efforts to form such relationships in a synergistic way. It also provides an oversight mechanism to ensure that such relationships serve the best interests of all participants: faculty, graduate students, the College, and the industrial sponsors.


Administrative Structure

The Center has a Director and a Board of Advisors. The Director is a faculty member or administrator of the College of Computer Science, appointed by the Dean of the College. The Board of Advisors consists of the faculty members affiliated with the Center and a member from each industrial affiliate. The Director is responsible for the operation of the Center. The Board advises the Director on matters of policy, and assists in the identification and implementation of new programs and directions.


Director

Karl J. Lieberherr got his PhD at the Swiss Federal Institute of Technology in Zurich, Switzerland. After serving as an Assistant Professor of Computer Science at Princeton University, he became a Principal Member of Technical Staff at GTE Laboratories. He joined Northeastern University as a Professor in 1985. During the last ten years, Professor Lieberherr's research team in object-oriented software engineering has developed the Demeter method for object-oriented design and programming and has built several supporting tools (Demeter/C++ and Demeter/Java). Some key contributions of the Demeter project are: the concept of a class graph (now called a UML class diagram) and its use in a structure-shy way, the Law of Demeter, Adaptive Programming and the concept of traversal strategies, and various approaches to control tangling in programs (Aspect-Oriented Programming) such as Adaptive Plug and Play components.


      If you would like more information about the Center for Software Sciences, please contact Professors Lieberherr ([email protected]) or Lorenz ([email protected]).

Last updated "Oct 29 2002"