Wednesday, May 16, 2001
Vice President, Application and Integration Middleware Division
IBM Corporation, USA
Photo courtesy of IBM
Software Engineering and the Internet
To successfully compete in the drive towards e-business, businesses are faced with challenges that strain their resources across all fronts. In their bid to win new market share, businesses must balance the necessity of new innovative products, released on ever shortening cycles, with the maintenance of their core businessa core that provides the capital leverage needed to fuel this new growth. Businesses must succeed in these changes with a skills base that is, relative to the market requirements, diminishing. Achieving equilibrium between demands that historically have been treated as dichotomous will require nothing less than a change in the very culture of the software engineering community.
This change is evident, but how will we, as a the software community, be successful in effecting this change? Successful modification of this culture begins with an understanding, at all levels, of the change in the skills pool and the exponential rise in the need for reliable, scalable systems that can accommodate millions of customers on ever more complex internet based e-business applications. While an increasing number of businesses deploy mission critical applications and begin to build e-market places on the internet, we need to be able to adapt our software engineering philosophy to create software in a more flexible environment that focuses on delivering capability in a more time-critical fashion than we have been challenged to do in the past. The paradigm of designing to perfection must be scaled back to a model that facilitates progressive discovery for the growing population of programmers who are relatively new to the business. Only when we can deliver flexible software to support the deployment of these new e-business applications will we succeed in supporting the drive to e-business.
Wednesday, May 16, 2001; 9:00 a.m.10:00 a.m.
Dr. Sabbah is the vice president, development, Application and Integration Middleware (AIM) Division of IBM. He manages software development for all application server, messaging, and development tools in IBM's portfolio. This is a group that spans over 9 locations worldwide with over 4000 software developers that produce the Websphere platform, CICS, all MQ Series products and the VisualAge tools across a base of 9 or more operating system platforms. Prior to that, he was vice president architecture and tools development where he was responsible for the architecture and strategy for IBM's application development tools as well as IBM's overall web application servers and business integration software.
He began his career at IBM in 1974 in telecommunications software (VTAM) in Kingston, New York. He received his Ph.D. in Computer Science from the University of Rochester in 1981, specializing in artificial intelligence and computer vision. He returned to the IBM Research Division and was responsible for the artificial intelligence effort, then programming languages, and finally for software technology. Dr. Sabbah has direct experience in both product development and in software research.
Thursday, May 17, 2001
Alan J. Perlis Professor of Computer Science
Carnegie Mellon University, USA
Photo courtesy of Carnegie Mellon University
The Coming-of-Age of Software Architecture Research
Over the past decade, software architecture research has emerged as the principled study of the overall structure of software systems, especially the relations among subsystems and components. From its roots in qualitative descriptions of useful system organizations, software architecture has matured to encompass broad explorations of notations, tools, and analysis techniques. Whereas initially the research area interpreted software practice, it now offers concrete guidance for complex software design and development. We can understand the evolution and prospects of software architecture research by examining the research paradigms used to establish its results. These are, for the most part, the paradigms of software engineering. We advance our fundamental understanding by posing research questions of several kinds and applying appropriate research techniques, which differ from one type of problem to another, yield correspondingly different kinds of results, and require different methods of validation. Unfortunately, these paradigms are not recognized explicitly and are often not carried out correctly; indeed not all are consistently accepted as valid.
This retrospective on a decade-plus of software architecture research examines the maturation of the software architecture research area by tracing the types of research questions and techniques used at various stages. We will see how early qualitative results set the stage for later precision, formality, and automation and how results build up over time. This generates advice to the field and projections about future impact.
Thursday, May 17, 2001; 10:30 a.m.11:30 a.m.
Mary Shaw is the Alan J. Perlis Professor of Computer Science at Carnegie Mellon University. She has been a member of this faculty since completing the Ph.D. degree at Carnegie-Mellon in 1972. She had previously earned a B.A (cum laude) from Rice University and worked in systems programming and research at the Research Analysis Corporation and Rice University.
Her research interests in computer science lie primarily in the areas of programming systems and software engineering, particularly software architecture, programming languages, specifications, and abstraction techniques. She has participated in developing innovative curricula in Computer Science from the introductory to the doctoral level. Dr. Shaw has received the Warnier prize for contributions to software engineering and is a Fellow of the Association for Computing Machinery, the Institute for Electrical and Electronics Engineers, and the American Association for the Advancement of Science.
Chief Technical Officer
Teknowledge Corporation, USA
"Tolerating Inconsistency" Revisited
We're surrounded by inconsistency: in our requirements, in the data that our software processes, and in those software systems themselves. Yet our formal systems can't handle such inconsistency. Most of them lose the ability to form any valid conclusions or analyses in the presence of even a single inconsistency.
This forces our programs to operate in terms of an idealized model rather than the real world with the attendant requirement to either maintain a mapping between the two or force human operators to resolve the inconsistencies before the data is processed by the idealized system.
My Tolerating Inconsistency paper introduced a simple way to scope formal constraint systems so that they applied only to the consistent data. Data inconsistent with these rules could then be represented and processed by giving them special marks to place them outside the rules' scope.
My talk will review the influence this idea had on the field and my subsequent work.
Thursday, May 17, 2001; 11:30 a.m.12:00 a.m.
Dr. Robert Balzer received his B.S., M.S., and Ph.D. degrees in Electrical Engineering from the Carnegie Institute of Technology, Pittsburgh, Pennsylvania, in 1964, 1965, and 1966, respectively.
After several years at the Rand Corporation, he left to help form the University of Southern California's Information Sciences Institute (USC-ISI) where he served as Director of ISI's Software Sciences Division and Professor of Computer Science at USC from 1972 to 2000. Last year he joined Teknowledge Corporation as their Chief Technical Officer and Director of their Distributed Systems Unit. The Distributed Systems Unit combines artificial intelligence, database, and software engineering techniques to automate the software development process. Current research includes wrapping COTS products to provide safe and secure execution environments, extend their functionality, and integrate them together; instrumenting software architectures; and generating systems from domain specific specifications.
Friday, May 18, 2001
Senior Vice President and Chief Information Officer
Photo courtesy of Lufthansa
Software Engineering Challenges: A CIO's Perspective
To be competitive in today's market, businesses face many challenges in the development and maintenance of information systems. These systems are usually widely distributed. They incorporate highly critical corporate knowledge, which has to be easily accessible and maintainable. Engineering these large systems efficiently requires making decisions about a number of issues. Decisions about whether to build or buy software affect qualities of the software such as customization and reusability, and decisions about mobility of services affect qualities of the software such as maintainability. Moreover, for improved reliability, techniques that can provide seamless but secure and reliable information flow and transaction processing, although expensive, must be integrated into the development process. Finally, systems must be adaptable to new technologies such as wireless computing. Old existing legacy software has to be integrated with new web-based applications such as portals or the whole world of "e".
In this talk, I will consider software engineering from the point of view of a concerned layman, and discuss software development and systems at Lufthansa. I will discuss the underlying architecture of the Lufthansa systems, which consist of a variety of systems and interfaces. I will also discuss the role of the Y2K problem as a germ for renewed life. Finally, I will discuss Lufthansas view of the client-server architecture as an intermediate stage towards building advanced information systems, which meet the above mentioned challenges.
Friday, May 18, 2001; 11:00 a.m.12:00 p.m.
Before joining Lufthansa in 1992, Bernd Voigt was doing research and teaching mathematics at various German universities. At Lufthansa, he directed the Frankfurt office of Lufthansa Informationstechnik und Software GmbH Berlin, and formed the new Competence Center Decision Support Technology at Lufthansa Systems GmbH. In 1995, he founded in Budapest, Hungary, the Lufthansa subsidiary Lufthansa Systems Hungariy Kft. From 1996 to 1998, he was managing director of Lufthansa Systems Berlin GmbH. Since the beginning of 1999, he has been Senior Vice President and Chief Information Officer of Lufthansa German Airlines.
Linda M. Northrop
Director, Product Line Systems Program
Carnegie Mellon Software Engineering Institute, USA
Photo courtesy of the Carnegie Mellon Software Engineering Institute
Reuse That Pays
A company builds a software system capable of running a diesel engine in a week, and in one case over a weekend, as opposed to the full year that it used to take. Another company builds one of its typical systems with 13 software engineers instead of the more than 100 it once required, and at the same time decreases the systems defect rate ten-fold. Still another increases its software-intensive product offerings from four per year to 50 per year. Imagine being able to use one person to integrate and test 1.5 million source lines of Ada for a real-time command-and-control system onboard a ship, with safety-critical requirements? Or increasing software productivity four-fold over three years, as another company has done? These organizations all achieved their results through strategic software reuse. We software people have been promising the benefits of reuse for decades. Are we finally achieving a reuse strategy that lives up to its hype?
Friday, May 18, 2001; 2:00 p.m.3:00 p.m.
Linda Northrop has over 30 years of experience in the software development field as practitioner, manager, consultant, and educator. She is currently director of the Product Line Systems Program at the Software Engineering Institute (SEI). The Product Line Systems Program works in the areas of software architecture, reengineering, component and product line engineering. Her current publications are in the areas of software product lines, software architecture, and object technology. She is a frequently invited speaker at technical conferences and was featured in a television special on object technology aired by the British Broadcasting Company.
Before joining the SEI, she was associated with both the United States Air Force Academy and the State University of New York as professor of computer science and with both Eastman Kodak and IBM as a software engineer. As a private consultant, Linda also worked for an assortment of companies covering a wide range of software systems. She recently chaired the first Software Product Line Conference. Linda is an eight-year member of the OOPSLA Organizing Committee, was OOPSLA '99 Technical Program Chair, and is OOPSLA '2001 Conference Chair. She is also a member of the ACM and the IEEE Computer Society, and the Computer Science Accreditation Commission.