back to home page

Tutorials

October, 3 - Morning

October, 3 - Afternoon

 



T1: Automated Transformation Systems for Software Maintenance, Reengineering and Porting

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.



T2: Software Evolution: Its Source, Nature and Control

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



T3: A Roadmap for Integrating Technology Trends for Enterprise Integration

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.


T4: Software Quality Attributes Workshop

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 bachelor’s and engineer’s degrees in electrical engineering from the Universidad Nacional de Ingenieria, Lima, Peru, and a doctorate in computer science from Carnegie Mellon.


T5: Legacy System Modernization Planning

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.




T6: Software Architecture Reconstruction

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).


Webmaster
Contact me for any question or comment.