First OOPSLA Workshop on
Language Mechanisms for
Programming Software Components

Vugranam C. Sreedhar, IBM T.J. Watson Research Center
David H. Lorenz, Northeastern University

Bookmark this page as
Deadline for submissions: July 30, 2001.

Although there are many models for component-based software development, most of these models are based on sets of standards and frameworks (APIs), and are implemented on top of a mainstream Object-Oriented programming language. Very little research has been done in understanding and promoting the key concepts in Component-Oriented programming; that is, identifying what exactly is Component-Oriented programming and what language mechanisms exist for Component-Oriented style of programming. This workshop intends to bring together researchers, practitioners, and implementers to present their experience in component programming in a forum that will allow them to collaborate and exchange ideas. This workshop's goal is to address two questions:

  • What are the key ingredients of component-oriented programming?
  • How to express these key ingredients in a component-oriented programming language?
  • Track: Components; Languages

    Call for Paper is ASCII Format: cfp.txt; cfp.html

    Maximum Number of People: 40

    Themes and Goals

    For the past 20 years OO programming style has played a crucial role in the development of large-scale software systems. Languages like Simula, Smalltalk, C++, Beta, Dylan, Eiffel, Self, and Java are considered Objected-Oriented programming languages. These languages allow one to express  some fundamental properties of Object-Oriented style of programming. For instance, some consider classes, inheritance (sub-classing), inclusion polymorphism (late binding), and parametric polymorphism (genericity) to be key ingredients of OO style of programming. Almost all of the above languages support at least 3 of these key ingredients.

    Even before OO languages were mainstream, OO programming was practiced using disciplined procedural programming. Nowadays, so it seems, CO programming is practiced using disciplined OO programming. The goal of this workshop is to bring researchers together to focus on what linguistic mechanisms are key to software components and to their development. There are two fundamental questions to be addressed in this workshop:

    Very little research has been done in understanding and promoting key concepts of Component-Oriented style of programming. Some argue that inheritance is a necessary evil in component-oriented programming, while others argue that inheritance is necessary in some form for component-oriented programming. There have been many models for component-based software development. Some of the popular ones are COM, CORBA, EJB, JavaBeans, and .NET. All of these models are based on set of standards and APIs, and rely on a main stream OO programming languages. For instance, EJB specifies a set of standards and rules for developing EJB beans (such as entity beans and session beans) and is based on the Java programming language. Programming the aforementioned component models using OO languages is akin to OO programming using procedural languages like C.


    The scope of the workshop includes (but is not limited to):

    Important Dates:

  • July 30: Technical papers (8 pages) and Position papers (4 pages) submissions due
  • September 1: Accepted submissions determined
  • September 6: Last day for reduced rates registration.
  • September 30: Camera ready copies due
  • October 14-18: OOPSLA `01 Conference
  • Monday, October 15, 2001: OOPSLA'01 Workshop #31 starts at 8:30 A.M.

    (Tentative.) The Workshop will start with a short multiple-choice quiz to on the accepted paper. This is intended to be a humorist icebreaker and to reward participants who do read the papers before attending the workshop... The format of the Workshop will consist of an introductory presentation by the Workshop Chairs, followed by a series of 15 minutes (full papers) and 5 minutes (position papers) formal and interactive presentations of all accepted papers, including time for group discussion. Audience are highly encouraged to make each presentation as interactive as possible. Demos are welcomed. There will be one or two keynote speeches. There will also be a lively BoF session at the end of workshop.
    See tentavive schedule.

    Submission Guidelines: (See also CFP.) Submissions can be full technical papers or short position papers, using the ACM Proceedings Guidelines (nine point font on ten point baseline, two columns per page). Technical papers must not exceed 8 pages, and short position papers should not exceed 4 pages. All papers must be submitted electronically. The electronic copy of the paper, in PDF or portable Postscript format with no encoding, condensing or encapsulation, should be emailed to: David H. Lorenz <>. Papers submissions will be reviewed by the program committee using criteria appropriate to their category. The submitted papers will be evaluated based on their originality, relevance, technical quality and presentation.

    The accepted papers, after revised by the authors, will be published in a Workshop Proceedings as an NU-CCS Technical Report. The electronic submissions, including supporting code and examples, will be collected and distributed to the workshop participants on a workshop CDROM. The workshop will be summaries in a poster at the OOPSLA poster session. The papers and panel discussion will also be disseminated to the larger community by making them publicly available. All accepted papers will be posted at that workshop website prior to the workshop date for participants to read them before they attend the workshop.

    Workshop Organizers

    Vugranam C. Sreedhar is a Research Staff Member at the IBM--T. J. Watson Research Center. He has a Ph.D. from McGill University, Montreal. He is currently focusing his research in the area of software components and middleware. In his previous incarnation he worked at Hewlett Packard Company in the core optimizing compiler team for the Itanium iA64 architecture. He has previously served on the ACM PLDI conference  program committee. He has also organized two workshops (Dynamo 2000 and OM 2001). He has also served on program committee of FDDO2000 and  HiPC 2001.

    David H. Lorenz is an Assistant Professor of Computer Science at Northeastern University. He has a Ph.D. from the Technion--Israel Institute of Technology. Prof. Lorenz's research interests include concepts of software components, with special interest in adaptive components and component-based design (particularly JavaBeans technology). He teaches courses in Programming Languages, Object-Oriented Design, and Component-Based Programming. He has served on the program committees of  International Technology of Object-Oriented Languages and Systems Europe Conferences (TOOLS Europe 2000: Enterprise Architecture, Patterns, Components; and TOOLS Europe 2001: Components for Mobile Computing). He is a member of editorial board of International Journal of Information Technology and Decision Making, World Scientific Publishing Co.


    Send all submissions to:

    Vugranam C. Sreedhar
    IBM TJ Watson Research Center
    30 Saw Mill River Road,
    Hawthorne, NY 10532
    (914) 784-7325

    David H. Lorenz
    111 Cullinane Hall, College of Computer Science,
    Northeastern University, Boston, MA 02115
    (617) 373-2076

    Program Committee