![]() |
PRESENTER: Dr. Michael Mehlich (Semantic Designs, Inc.)
ABSTRACT:
Software maintenance (including reengineering) activities are
largely done manually at present, yet they are the largest software engineering
expense. Considerable productivity and quality enhancements are possible with
a new generation of automated change tools called program transformation systems.
Transformation systems use generalized compiler technology to analyze, modify,
generate and/or reshape existing code. An engineer-customizable base of "transforms"
(a kind of generative reuse of programming knowledge) enables custom analyses
and modifications to large-scale software systems. Examples include redocumenting
code, reverse/re-engineering, changing APIs, porting to new platforms, rearranging
system structure, etc.
This tutorial presents a unified framework covering the theory and implementation
of transformation systems, including parsing, pretty-printing, transforms,
metaprogramming, It will cover a number of practical issues related to all
of the above, including scaling to handle large software systems. A number
of existing transformation tools will be examined, including XML's XSL, to
show how they fit into the framework. Finally, a number of sample applications
will be shown, including detection and removal of duplicate code from real
million-line systems in COBOL and Java, porting software from JOVIAL to C,
and mechanical refactoring to enhance OO frameworks.
This new class of tools will become a part of every software engineer's toolkit
over the next decade, just like editors, compilers, linkers and debuggers.
The tutorial will provide the researcher and the practitioner alike with the
necessary background to understand how these tools work, how to determine
the capabilities and limitations of a particular system, and how to compare
and therefore rationally choose among different transformation systems. This
will enable them to start performing previously impractical maintenance tasks.
BIOGRAPHY:
Dr. Mehlich received a Diploma in Computer Science 1992 from the Universität Passau and a Dr. rer. nat. in Computer Science 1995 from the Ludwig-Maximilians-Universität München, specializing in algebraic specifications and semantics. Between June 1992 and January 1995 he was a research assistant at the chair of Prof. Dr. Wirsing at the Institut für Informatik of the Ludwig-Maximilians-Universität München.
Since 1996, he has been the chief engineer on the DMS Software
Reengineering Toolkit, Semantic Designs commercial transformation system product
aimed at software maintenance tasks for large scale systems. Dr. Mehlich was
also a principal designer of the SD's PARLANSE fine-grain irregular-parallelism
programming language in which DMS is implemented, and architect/implementer
of SD's JOVIAL to C translator.
PRESENTERS: Meir M Lehman (Imperial College in London)
Juan F Ramil (The Open University)
ABSTRACT:
Interest in software evolution and its impact on the market place is spreading rapidly. Such evolution is required for product and process improvement and to adapt software to changing technology and domains. Industrial and academic interest has, in the main, focused on how to achieve such evolution in a reliable and effective manner. Achievement of this goal would be facilitated by understanding the why and the what of evolution. The latter includes why evolution occurs, why it is inevitable and what are its general characteristics. These issues were initially explored in the 70s and 80s by one of the speakers (MML) and his associates. From 1996 to 2001 the UK EPSRC-funded FEAST (Feedback, Evolution And Software Technology) research - with active involvement of the two speakers - refined and extended the earlier conclusions.
This tutorial will present a selection of early and recent findings and will address the following issues:
TARGET AUDIENCE:
The tutorial is aimed at persons ranging from lead analysts/designers/programmers to supervisors, managers and executives and in general a those with leadership or management responsibilities of software maintenance and evolution. Participation in the tutorial will also be beneficial to those preparing themselves for such positions and more generally to those, including researchers and students, who seek a fuller understanding of the evolution phenomenon.
BIOGRAPHIES:
Professor Meir M (Manny) Lehman is an Emeritus Professor, and till recently, a Senior Research Fellow and Senior Research Investigator in the Department of Computing, Imperial College in London. He recently moved to Middlesex University in London where he will be continuing his research within its Software Forensic Center of the School of Computing. He gained his PhD from Imperial College in 1956 for design of the ICCE II arithmetic unit and a DSc from London University in 1986. Professor Lehman is a Fellow of the Royal Academy of Engineering, the EPSRC College, ACM, BCS, IEE and IEEE. In 2001 he received the Harlan D. Mills IEEE CS award in recognition to his contributions to the software engineering field. He co-edited, jointly with Lazlo Belady, Software Evolution: Processes of Software Change, published in 1985 and now out-of-print. He is currently co-editing, jointly with Madhavji, Perry and Ramil a book on Feedback and Evolution in the Software Process. A list of his papers can be found at http://www-dse.doc.ic.ac.uk/~mml/
Juan F. Ramil is a Lecturer in Computing at The Open
University, Milton Keynes, U.K. From 1996 to 2001 he was a researcher in
project FEAST at the Department of Computing, Imperial College, London.
He has authored or co-authored some 40 papers in software evolution and
related issues and given many presentations on the topic. He is a member
of the Committee of the Requirements Engineering Specialist Group of the
British Computer Society. Further details, including a publication listing,
are available at http://mcs.open.ac.uk/jfr46
PRESENTERS: Dennis Smith, Liam O'Brien, Peter Aiken and Atul Bhatt
ABSTRACT:
This tutorial identifies the magnitude of the problem of enterprise integration and presents an emerging technical roadmap for making progress in the area. Enterprise integration has the goal of providing timely and accurate exchange of consistent information between business functions to support both strategic and tactical business goals in a seemingly seamless manner. Although there have been some successes, in general there is not as yet a clear roadmap for how to achieve effective integration of information systems. Most organizations have a large collection of information systems to support disparate functions. The majority of these applications were originally built as individual, stove-piped solutions to support very specific low-level processes. As computer-intensive applications have become more pervasive, the ability of organizations to meet their strategic objectives hinges on their ability to quickly, accurately, and effectively access, analyze and process data. However, legacy systems often make reaching these objectives more challenging because they are hampered by inconsistencies and inefficiencies resulting from integration difficulties due to incompatibilities across application control and data ownership.
This tutorial provides an overview of the challenges of enterprise integration and describes potential starting points of enterprise integration planning, effective use of middleware technologies, the role of ERP solutions, and disciplined system migration in addressing the issue.
The tutorial outlines an emerging technical roadmap for enterprise integration. The roadmap characterizes the state of the practice, identifies critical issues, and research issues that need to be addressed.
This tutorial outlines promising trends in the areas of:
TARGET AUDIENCE:
BIOGRAPHIES:
Dr. Dennis B. Smith is a Senior Member of the Technical
Staff in the Product Line Systems Program at the Software Engineering Institute.
He is the technical lead in the effort for migrating legacy systems to product
lines. In this role he has integrated a number of techniques for modernizing
legacy systems from both a technical and business perspective.
Dr. Smith has been the lead in a variety of engagements with external clients.
He led a widely publicized audit of the FAA's troubled ISSS system. This report
produced a set of recommendations for change, resulting in major changes to
the development process, and the development of an eventual successful follow-on
system. Earlier, Dr. Smith was project leader for the CASE environments project.
This project examined the underlying issues of CASE integration, process support
for environments and the adoption of technology.
Dr. Smith is a co-author of the book, Principles of CASE Tool Integration,
Oxford University Press, 1994. He has published a wide variety of articles
and technical reports, and has given talks and keynotes at a number of conferences
and workshops. He is also a co-editor of the IEEE and ISO recommended practice
on CASE Adoption. He has been general chair of two international conferences,
IWPC'99 and STEP'99. Dr. Smith has an M.A. and PhD from Princeton University,
and a B.A from Columbia University.
Dr. Liam O'Brien is a Senior Member of the Technical
Staff of the Product Line Systems Program at the Software Engineering Institute.
He is technical lead for the architecture reconstruction area and is responsible
for the Dali architecture reconstruction toolset and has applied the toolset
to several customer systems.
He is a principal author of the approach for reengineering decision-making
"Options Analysis for Reengineering" (OAR). Before coming to the
SEI, Dr. O'Brien was a research engineer at CSIRO and a software engineer
at IMR global, both in Australia. In these roles, Dr. O'Brien worked extensively
on research and development of tools and technologies to support reengineering.
While are IMRglobal he developed extensions to a toolset that performed extensive
analyses of PL/1 source code to remediate the Y2K problem. Dr. O'Brien has
a B.Sc. and Ph.D. from the University of Limerick, Ireland.
Dr. Peter Aiken is an Associate professor at Virginia Commonwealth University and Director of the Institute for Data Research. He has extensive experience in developing successful collaborations between the academic, corporate and government sectors. His expertise includes database technology and metadata, legacy systems and reengineering and electronic courseware. He has published widely in such journals as Communications of the ACM, the IBM Systems Journal, and Hypermedia. Dr. Aiken is the co-author of two books: Building Corporate Portals Using XML and Data Reverse Engineering, as well as a forthcoming publication Achieving EAI With Service-Based Architectures.
Dr. Atul K. Bhatt is a consultant in Information Technology
and Business Analysis. He helps organizations enhance their effectiveness
and competitive position through application and integration of existing and
emerging information technologies. He has over 21 years of system design,
project management, and technology planning and integration experience in
computers and communications across various industries. He has held senior-level
engineering, consulting and management positions at Sperry Univac (now Unisys),
a major computer company, at Becton Dickinson, a global medical technology
company, and at several independent consulting companies.
He has been directly responsible for e-Business development, information technology
strategic planning, especially computer networks, development and dispersion
of expert systems and other emerging technologies, and architectural definition
and performance analysis of new generation computers. His principal contributions
have been in the areas of enterprise portals, computer networks, expert systems
and artificial intelligence, knowledge management, domain analysis, database
systems, chip-level to system-level reliability, testability and maintainability,
and design automation.
Dr. Bhatt holds a B.Tech.(Hons.) degree in electronics and electrical communications
engineering from IIT Kharagpur (India), and M.S. and Ph.D. degrees in electrical
engineering, computer science and operations research from the University
of Minnesota.
PRESENTER: Mario R. Barbacci (SEI)
ABSTRACT:
Software quality is the degree to which software possesses a desired combination of attributes (modifiability, security, performance, availability, etc) In this tutorial we describe a few principles for analyzing a software architecture to determine if it exhibits certain quality attributes. We show how analysis techniques indigenous to various quality attribute communities can provide a foundation for performing software architecture evaluation.
Since attributes can interact or conflict improving one attribute often comes at the price of worsening one or more of the others it is necessary to trade-off among multiple software quality attributes at the time the software architecture of a system is specified, before the system is developed.
It is important to point out that we do not aim at an absolute measure of architecture quality; rather our purpose is to identify scenarios from the point of view of a diverse group of stakeholders (e.g., the architect, developers, users, sponsors) and to identify risks (e.g., inadequate performance, successful denial-of-service attacks) and possible mitigation strategies (e.g., prototyping, modeling, simulation).
In the tutorial I will describe processes to conduct architecture trade-off analyses developed by the Software Engineering Institute (SEI).
BIOGRAPHY:
Mario Barbacci is a Senior Member of the staff at the
Software Engineering Institute (SEI) at Carnegie Mellon University. He was
one of the founders of the SEI
where he has served in several technical and managerial positions, including
Project Leader (Distributed Systems), Program Director (Real-time Distributed
Systems, Product Attribute Engineering), and Associate Director (Technology
Exploration Department). Prior to joining the SEI he was a member of the faculty
in the School of Computer Science at Carnegie Mellon University.
His current research interests are in the areas of software architecture and
distributed systems. He has written numerous books, articles, and technical
reports and has contributed to books and encyclopedias on subjects of technical
interest.
Barbacci is a member of the Institute of Electrical and Electronic Engineers
(IEEE) and the IEEE Computer Society, a member of the Association for Computing
Machinery (ACM), and a member of Sigma Xi. He was the founding chairman of
the International Federation for Information Processing (IFIP) Working Group
10.2 (Computer Descriptions and Tools) and has served as chair of the Joint
IEEE Computer Society/ACM Steering Committee for the Establishment of Software
Engineering as a Profession (1993-1995), President of the IEEE Computer Society
(1996), and IEEE Division V Director (1998-1999).
Barbacci is a Fellow of the Institute of Electrical and Electronic Engineers
(IEEE) and the recipient of several IEEE Computer Society Outstanding Contribution
Certificates, the ACM Recognition of Service Award, and the IFIP Silver Core
Award.
Barbacci received bachelors and engineers degrees in electrical
engineering from the Universidad Nacional de Ingenieria, Lima, Peru, and a
doctorate in computer science from Carnegie Mellon.
PRESENTERS: Robert C. Seacord and Grace A. Lewis
ABSTRACT:
This half day tutorial instructs on the use and application of the Remedy approach to legacy system modernization developed by the Software Engineering Institute at Carnegie Mellon University. Remedy is a Risk-Managed approach that integrates software engineering concepts with an organized understanding of the information systems technologies that both constrain and define the solution space.
Remedy is used in the inception phase to produce a modernization plan that minimizes the risk of the modernization effort through effective risk management and mitigation. Elements of Remedy that are covered in this tutorial include:
TARGET AUDIENCE, REQUIRED BACKGROUND:
This tutorial should be useful to anyone involved in the modernization of an enterprise system including the software engineer assigned to a particular module, the software designer asked to design a component, the architect responsible for the overall technical integrity of the system, and IT managers responsible for the success of the project.
BIOGRAPHIES:
Robert C. Seacord is a senior member of the technical
staff at the Software Engineering Institute at Carnegie Mellon University
with 18 years of experience in software development experience in industry,
defense and research. Seacord's principal areas of expertise include modernizing
legacy systems, component-based development, graphical interface design, human
factors. He has worked extensively with EJB, CORBA, JavaBeans, UNIX, Motif,
the Common Desktop Environment (CDE), and other graphical user interface systems
and technologies.
Seacord is a coauthor of a new book on Modernizing Legacy Systems due out
from Addison-Wesley in the Fall of 2002. He is also coauthor of the book Building
Systems from Commercial Components as well as more than 40 papers on component-based
software engineering, Web-based system design, legacy system modernization,
component repositories and search engines, security, and user interface design
and development. Seacord is also a part-time faculty member in the University
of Pittsburgh Computer Science department where he is currently teaching Software
Engineering at the undergraduate level.
Seacord has also been an instructor in the Master of Software Engineering
program at Carnegie Mellon University and has developed and presented numerous
tutorials and courses, most recently at the joint meeting of the European
Software Engineering Conference and the ACM SIG-SOFT Symposium on the Foundations
of Software Engineering (ESEC/FSE 2001), the International Conference on Component-Based
Software Systems (ICCBSS 2002) and the International Conference on Software
Engineering (ICSE 2002).
Seacord was a developer of Version 2.1 of CDE and Motif at the X Consortium.
He was responsible for the addition of the printing-through-X capability and
desktop integration for the Information Manager. Information Manager is a
generalized SGML browser and new CDE 2.1 client. Seacord was also responsible
for maintaining the overall quality and integrity of UIL, MRM, Application
Builder, and other CDE desktop libraries and clients. He was also responsible
for the resolution of CDE 2.1 source code portability problems on the 6 CDE
reference platforms: AIX, HP-UX, Solaris, Digital UNIX, UnixWare and UXP/DS.
Seacord was previously a Member of the Technical Staff in the User Interface
Project at the SEI. From 1987 to 1991, he was a principal architect and developer
of the Serpent User Interface Management System (UIMS) for Motif and UNIX
developed at CMU. Serpent was a successful research project that demonstrated
a means of separating application concerns from user interface design. While
employed at the SEI, he served as Chairman of the IEEE P1201.3 Working Group
on User Interface Management Systems. Before joining the SEI (the first time),
Seacord worked in the areas of software engineering, processor development
and communications at IBM. Seacord has a BS degree in Computer Science from
Rensselaer Polytechnic Institute.
Grace Lewis is a member of the technical staff at the Software Engineering Institute at Carnegie Mellon University. Lewis has 12 years of software development experience in industry. Her main areas of expertise include enterprise information systems, database management systems, modeling with UML, project management, systems integration, and Java programming. Lewis is coauthor of the Addison-Wesley SEI Series book on Modernizing Legacy Systems. She is also the author of over a dozen papers on COTS-based software engineering and model-based verification.
PRESENTERS: Arie van Deursen (CWI) and Claudio Riva (Nokia)
ABSTRACT:
A robust and clear software architecture is often the key discriminator for the success or failure of a software project. The description of software architecture should communicate the essential decisions that have been taken during the design of the software system. Architecture reconstruction is the reverse engineering activity that aims at recovering those decisions that either have been lost (because have not been documented or the original developers have left) or are unknown (because they originate from the system's evolution). The reconstruction is performed by examining the available artifacts (documentation, source code, experts), simulating the system behavior with dynamic analysis techniques and inferring new architectural information that is not immediately evident. This tutorial covers software architecture reconstruction. It addresses, amongst others, the following questions:
This tutorial will address these and other questions that are relevant for the development of large and complex software systems. The purpose of this tutorial is to introduce participants to the state of the art in software architecture reconstruction.
TARGET AUDIENCE:
The tutorial will primarily aim at software practitioners. In addition to that, it will be of interest to practice-oriented researchers in the fields of software evolution and reverse engineering. No specific advance knowledge is required, although experience in the development of large software systems will help to appreciate the problems and solutions discussed during the tutorial.
BIOGRAPHIES:
Arie van Deursen is at the staff of CWI, the Dutch National Research Institute for Mathematics and Computer Science located in Amsterdam. His research interests include software architecture, reverse engineering, object-oriented programming, and software process. He is co-founder of the Software Improvement Group, a CWI spinoff company offering architecture reconstruction services for legacy software systems. He is program co-chair of the IEEE Working Conference on Reverse Engineering (WCRE 2002), and has been a program committee member of a range of conferences in the areas of reverse engineering, software maintenance, and program understanding.
Claudio Riva is a Senior Research Engineer at the Nokia Research Center in Helsinki, Finland. His research interests include architecture reconstruction, reverse engineering, software product lines, and software visualization. He has managed several architecture reconstruction projects with the Nokia business units and he his responsible for the development of the reverse engineering competence within the Nokia Research Center. He has published a range of articles in the areas of reverse engineering and software architecture, he is participating in the European project CAFE in the area of product lines and he is a program committee member of IEEE Working Conference on Reverse Engineering (WCRE 2002).