Academia.eduAcademia.edu

Strategies for object-oriented technology transfer (panel)

1993, ACM SIGPLAN Notices

Strategies for Object-Oriented Technology Transfer (PANEL) Dennis de Champeaux, Fuure Inc. & Onto00 (moderator) Andrew J. Baer, American Munagement Systems, Inc. Brian Bernsen, McDonnell Douglas Aerospace East Alan R. Korncoff, The Boeing Company Tim Korson, COMSOFT & Clemson University Daniel S. Tkach, IBM International Technical Support Center 1 Background Improving SW development processes is getting increased attention. Hence we can ask for the circumstances under which it is preferable to stick to an existing (structured) paradigm and strive to improve development discipline or alternatively when it is warranted to do an 00 paradigm shift,. Can we formulate a rule of thumb of the form: An organization should improve its SE1 maturity level to X before considering a paradigm shift to OO? If not, why not. If yes, what is a recommended value for X? Software 00 has won the battle, but the war is not yet over. Success stories have been reported. Reuse has been observed in practice. Work is progressing to deal with a full lifecycle and to tackle mega systems. While the tra.nsition to 00 ma.y or may not be obvious for an individual, it is a complex affair? if not a nightmare, for large organizations. Programmers in divisions are often eager to go 00, their managers are often hesitant. A recurring question is how to deal with the large body of existing software that must keep running while at the same time it becomes more and more of a lia.bility. Corporate software research may be “miles ahead” of what goes on in divisions, but it is not obvious how to transfer these insights and practices into divisional trenches. VVe can rephrase these topics into the following groups of questions: Maturity Systems Folkore has it that the legacy problem can be attacked by wrapping an existing system inside an object and that one subsequently objectifies the inside layer-by-layer or subsystem-by-subsystem. This is minimal advice. Can we expand it? Legacy 2 There is a wide arsenal for impacting software work practices. These include training, using internal or external expertise; development of a.dva.nced prototypes in a corporate lab which a.re transferred to divisions; a,nd temporary transfer of people from a corporate think-tank to divisions and/or the other way around. What a,ctions yield the best pay off and what are optimal circumstances for their application? Technology Process Andrew Baer Transfer While many organizations have small pockets of object technology development, very few have moved to la.rge scale development of mission critical business systems. Using object technology to design, develop, a,nd deploy these types of systems requires more than learning a new language, and more than just learning how to fully take adva.ntage of an object development environment. Using object technology on this scale requires understand- 437 ing how objects impa.ct every development life cycle. Transitioning Technology fa,cet of the system the Organization ha.nds-on experience with the technology. This includes some limited hands-on training for designers and managers. Second, create a central object support team to initially champion object technology, to seed new project teams, and ultimately manage the corThe central object support porate reuse library. group member working on an object project has the responsibility to make sure that the project is aware of the designs and objects available in the corporate reuse library, is responsible for helping the project t,ea.m to utilize these reusable objects? is responsible for helping the team to develop new objects (or extensions to existing corporate reusable objects) in a way tha.t is consistent with the esisting library, and is responsible for incorporat,ing to Object Large organizations transitioning to object technology must choose between an evolutiona,ry approa.ch and a revolutiona.ry approach. The revolutionary approach suggests that it is best to “warp” directly to building large complex object systems, learning what you need to learn through the school of “hard knocks”. The evolutionary approach recognizes that people and organizations will learn and adapt more efficiently through a phased transition to object technology. I suggest that while the revolutionary approach may work for a very few organizations, that the evolutionary approach will be best for the large majority of those organizations responsible for developing large-scale mission critical business systems. these new objects (or extensions) into the corporate reuse libra.ry. Without this central staff, it will be difficult to make reuse an effective corporate practice. Third, develop a reuse plan and a vision of the basic architecture of your object technology a,pplications. It is more likely that you will crea.te reusable objects during your early projects if the designers and developers working on those projects have a vision of the objects that are most reuseful As part. of your reuse plan, for your orga.nization. develop a strategy for building your reuse libra,ry, and a strategy for fostering reuse. Daniel Tkach suggests that the phases for an evolutionary change t,o object technology are awareness, exploration, transition, and habit. In developing a strategy to effect this change, an orga.nization must a.ssess where they are along this spectrum. In doing so, the organization must also recognize that the move to object technology does not usually occur in isolation. It is normally accompanied by a move to other technologies such as client/server, GUI, and distributed data. Therefore, to develop a.n effective transition strategy, an organization must assess where individuals or groups are in rela.tion to the phases of evolutionary change for each of the new technologies being introduced. Of the many activities that are undertaken as part of transitioning to object technology, I would like to focus on four key activities. First, make sure to plan for ext.ensive training and mentoring. Learning object technology is not simply learning the syntax of a new la.nguage. It requires the designer and developer to extend their model of the software development process. Make sure that ev- Finally, understand the methods and techniques you will use to make object technology a repeatable and defined process. Object technology impacts the system development life-cycle. It doesn’t require us to “un-learn” what we already kno\v? but it does require us to adopt new practices and procedures. At AMS our research found that while many object technology experts have put forward ideas notatious on object design, and have developed for documenting object models, no one has documented a complete analysis, design, and development methodology for large scale business systems. To provide this full system life-cycle support, we chose to select portions of several object methodologies and combine them in way that works for eryone the types of projects working on object technology projects gets 438 we undertake. SE1 Maturity 3 Level Technology It is not necessary to achieve a specific level of software engineering ma.turity prior to transitioning to object technology. However, I believe an organization will want to move towards an SE1 level of at least 3 to maximize the benefits of reuse. Maximum reuse will occur when the elements (both designs and code) adhere to a format and standards used across an organization. Having a repeatable and defined software engineering process will foster reuse. Legacy Brian Bernsen Transfer Software technology transfer is perhaps more difficult than other types of technology transfer due to the abstract (and creative) nature of the design process. Likewise, it is more difficult to justify (in a capital budgeting sense) the investment in technology and technology transfer. However, there are a number of components to successful 00 technology transfer? many of which apply to all kinds of technology transfer. Management sponsorship and commitment is a key ingredient in 00 technology transfer. Management must understand the costs and benefits of technology since they provide the budget source for training and tools. Cost-benefit analysis and technical overviews should be prepared and presented to management to elicit their support. Organizational support should be provided by a technology center which selects and develops 00 technologies for in-house use a.nd applies these technologies to pilot programs. As technology is transferred to production projects, the technology personnel can move with it. They can serve as chief methodologists and act as a resource to other software engineers? or they can serve as chief software architects laying 00 frameworks for others to refine. (This is an effective way to “spread the fait”, but does not obviate the need for formal training of all software engineers.) Organizational and/or work breakdown structures should reflect object hierarchies vs. functional to facilitate the technology transfer. Training is the most important means of 00 Systems While some object zealots would like to believe that we ca.n just ignore legacy systems, the ma,jority of professionals in our industry understand that no technology is appropriate in all cases. In the short term, our ability to identify successful strategies for working with these legacy systems may determine the pace at which large organizations can move to object technology. In looking at the functionality of legacy systems it is important to categorize them by their operational characteristics. On one end of the spectrum, some legacy systems are massive data handlers and require very little user interaction (e.g., large billing systems like those found in the telecommunications industry or mailing list processors). At t.he other end are those systems that are highly interactive (e.g., customer support systems). While there are certainly exceptions to any guideline, it has been our experience that a.n organization receives the most benefit from migrating those systems at the highly interactive end of the spectrum first. These systems can benefit from the advanced user interface capabilities available on distributed hardware! and can benefit from the response time improvements of distributing the work load across a range of CPUs. The organizational benefits include bett.er customer support, reduced training of customer support personnel, and reduced mainframe costs. technology transfer. Everyone involved in the software development process should be trained including project managers, system engineers, softand (in many cases) the ware quality assurance, customer, with the training tailored for the target group. Alliances with academia can provide both training and trained individuals (for an expanding workforce). Re-training of an established workforce is more difficult since old met,hods must be “unlearned”? and there may be substantial iner- 439 tia. to overcome in an organiza.tion that has developed (and may be supporting) applications developed with other methods. This re-training is best accomplished in hands-on workshops. Classroom training and the distribution of manuals and texts is not sufficient. The use of 00 languages and tools can accelerate the training process and help to enforce the methods. 00 software design should be ta.ught in the context of the software engineering principles on which it is based (e.g. modularity and a,bstraction). quantitative justification for an organiza.tion level. Any informal, grass roots movement would likely not be possible. 00 technology and processes will be refined and developed on the first “real” project to which it is applied. A flexible schedule a.llowing for this learning curve is crucia.1. In general, schedules and development plans providing for prototypes, re-design, a.nd re-code are indicated since a. quality 00 design is difficult (if not impossible) to achieve in a single iterat,ion. Before considering the question of “how” to transform a legacy system to 00, it is essential to ask the question “why ?“. The conversion of any legacy system to an 00 system must be examined from a It may not be cost effective business perspective. or advisable to transform an existing system which has been tested and is in a maintenance phase to an 00 one. Perhaps the legacy problem is simply acknowledging that there will always be systems which are not. 00 and should not be converted. It may be the case that 00 is only cost effective on new or extensively modified systems. SE1 Maturity at this to 00 In short, there is not a minimum SE1 level below which a shift to 00 is not prudent, however organizations at level 1 should consider the transition to 00 concurrently with increasing the SE1 level. Legacy Level There is some relationship between the SE1 level and the feasability/ease of a transition to 00 methods. The SE1 level can certainly influence the ease and duration of a transition to an 00 method. The transition can only be as orderly as the SE1 level. According to the Capability Maturity Model (CMM) for Software (Version 1.1, Software Engineering Institute, February 1993), the software process in an organization at level 1 is “constantly changed” as the work progresses, thus a transition to 00 would be difficult to effect or measure. This Systems Converting an existing system piecemeal may also aggravate the legacy problem since there is no clean sheet to start from. For academic purposes, might creating objects “subsyst,em by subsystem” be difficult due to the fra.gmentation of the properties associated with each subsystem. It may not be possible to make a clean cut into an existing system to extract a subsystem and the logic associated with it. Furthermore, at any point in the conversion, you have an inconsistent system. A conversion makes more sense and “layer-by-layer” provides consistency within ea,ch la,yer converted, but again, it may not be possible to extract these layers without substantial re-work of code in other layers not yet extracted. would not necessarily mitigate the effects of training, an essential part of the transition. In fact, the shift to 00 and higher SE1 levels might well be concurrent. On the other hand, while the transition to 00 might be more orderly in orga,nizations at levels 3-5, it might also be more difficult in the sense that existing processes are (as described in the CMM) “practiced, documented, enforced, trained, (and) measured”, which may imply some inertia to change. Organizations at level 5 are “continuously improving”, but a shift to 00 would likely require For several reasons then, the “conversion” of a.n existing system to 00 may not be advised. If an 00 system is desired, a clean break with the old system should be established to foster a clean sheet 00 design, with the old system viewed as a black box from which performance requirements can be established. 440 4 Alan Technology Korncoff system; t,he resistance to change will impede Do pick a problem where technical progress. the domain readily supports and suggests the identification of objects by other than the development team, i.e. the end users and responsible management. Transfer It’s a good news-ba,d news situation: The good news is: if you are already successful in technology transfer of software projects, the skills that you have developed are directly applicable. 00 technology transfer is not much different than the transfer of other software technology. The bad news is: if you haven’t figured out how to do software technology transfer, transferring 00 technology is just an a,dded burden. Keys to successful technology transfer include the following. 1. Establish internad 4. Plan for impacts expertise. 5. Concentrate A central staff should do the initial development assisted and supported by the team who will eventually undertake system maintenance. The project plan (cost a.nd schedule) should allow for the added time to perform this technology tra.nsfer. The team should also involve end users. to establish on selling management. Emphasize that using 00 technology, enables the solution to be provided, “BFC” (Better? Leverage the capability Faster, Cheaper). of rapid prototyping as an enhancement to gathering end user requirements and permitting higher end user involvement in the deis also velopment process. Rapid prototyping an effective management communication tool; show a working version of the system rather than a requirements document. Indicate the value of reuse in the development of other applications as part of the long term business case. Do not refer to the work as a paradigm shift; this holds a negative connotation to many managers. staff but involve sust,aining 3. Choose a small problem success. and policies. The use of 00 technology may not be accounted for in the e,xisting software developAreas most often imment infrastructure. pacted are quality assurance, especially validation and verification; software certification; documentation; software standards; and proMany of the policies and gram scheduling. procedures developed for traditional software development methodologies will have to be modified or extended to be applicable to 00 work. Team with those responsible for these standards and policies to perform the necessary adjustments. Either hire it or train the internal staff. Use of external consultants is, at best, a short term, stopgap. It ma.y be possible to provide internal training cost effectively: e.g. at Boeing the majority of Smalltalk programmers were self taught using a tutorial included with the software. Supplemental training can be purchased on an as needed ba.sis from various vendors and consultants. 2. Leverage a central support st.aff. to standards an initial 6. Plan for object Size selection should be based on the ability to produce a production system with measurable return on investment within 1 to 2 years. Requirement,s of a longer time period risk losing management, support. Do not pick a mission critical applica.tion; the visibility of a failure incurs unnecessary risk. Do not pick a legacy reuse. Though a powerful capability afforded by 00, reuse does not just happen. Reuse does not just mean developing specifications for objects Provisions with intent of facilitating reuse. have to be made for a variety of infrastructure issues including reuse library definition 441 and maintenance; legalities for developing and reusing in reuse; incentives objects. maturity. For these 00 just seems like a very natural way of modeling their problems and the visual programming environments are a major productivity boost in reducing the learning curve. The individuals for whom the shift appears most painful are those well schooled in classical, top-down structured development. This group have to “unlearn” an analysis methodology and a way of viewing a problem solution. It is almost as if their maturity gets in the way. Large scale reuse (i.e. company-wide or at least outside of the development group who origina,lly created the objects) requires appreciable sophistication in a variety of issues beyond just object definition and development. There are few companies capable of effectively levera,ging reuse for traditional software modules. Maturity in managing these traditional software reuse issues is a. pre-requisite for undertaking large scale 00 reuse. Acceptance. Activities that we as 00 professionals can do to speed the acceptance of our technology: 1. Devise a set of 00 rics. software development met- Management is well aware (or at least believes that it is well aware) of the estimated productivity of programmers using traditional development means. It is possible to estimate how many programmers of a, given level maturity can cut x number of lines of code in y days. Such metrics afford a level of comfort to management that appropriate levels of control and tracking are provided for in a development project. We need to develop such metrics for 00 work. Legacy 2. Develop language standa.rds. For example, the ANSI Technical X3J20 for Smalltalk. System Common characteristics relevant here include: Committee Mainframe 3. Amass a library of success stories. of legacy systems code Fra,gility with respect Provide tha.t are hosting. Layers of patch functionalit,y. Identify projects whose success was made possible or at least enhanced by the use of 00 technology. We need to be able to show return on investments. The successes should be in a variety of domains. Maturity Objectification mission critical obfuscating essential to cha.nge. services. In light of this, recommendations technology include: for applying 00 Level 1. Legacy There are really two separate issues here: (1) Use of the technology for application development and (2) Large scale 00 Reuse. My position on the first has been: The shift to 00 does not seem directly related to maturity is software engineering. Two disparate groups have been shown most capable in leveraging the technology. First are the Hackers. These are individuals who are always the first to tryout a new technology independent of what it is. The second group is the Domain Experts with little software development databases should be left intact. 2. Layering may not be a good fit. The pa,stiche of patches is unlikely to support objectification of successive layers; the patches are rarely so accommodatingly arranged. Further, there is no guarantee that. an arbitrary legacy system would benefit from objectification. We all know that 00 is not a panacea. One approach is to 3. Consider an 00 client. create an 00 based client process running on 442 a worksta,tion providing access to legacy functionality accessed as a server. The 00 client process would be configured with an appropriate GUI. Successive functionality could be selectively migrated from the server legacy system and incorporated into the client process. Advantages of the approach include: (a) the migration process would be transparent to the end user; (b) minimad impact on existing, often mission critical functions; (c) the computing power originally only available from mainframe systems is now likely more cost effectively provided by the workstation; (d) minima,1 or at lea,st well defined impa.ct on the fragile system. 5 Tim Korson High Leverage tivities Technology Transfer Ac- Technology transfer activities depend on the stage Daniel Tkach has deof technology adoption. Exploration, scribed the stages as: Awareness! Transition, a.nd Habit. I would like to focus my remarks on the transition stage. There are many appropriate activities for this stage tl1a.t have been extensively explored in the literature. Most of them are not unique to OOT and therefore not as interesting to explore as those activities that are more directly related to OOT. My experience is that the creation of 00 domain specific libraries and frameworks is one of the highest leverage activities appropriate to the transition stage. These libraries and frameworks can serve as a focal point for many of t,he other more traditional For example, the 00 traintransition activities. ing curriculum could now include courses on these frameworks. In a.ddition 00 apprenticeship programs can be structured around the continued development and maintenance of the libraries. Most importa*ntly, development teams will now staat to use these libraries and frameworks, which will automatically propagate the use of OOT. Another very high leverage activity is the creation of a corporate object center whose sole mission is to fa.cilita,te the transfer to OOT. This center is charged with activities such as: 1. Coordinating other corpora,te bodies such a.s the process group, measurements group, testing group? training department, R&D group, etc. to make sure that they underst.and OOT and it’s impact on them; 2. Producing handbooks and guidelines for the support of development teams; 3. Maintaining a staff of 00 experts to serve a,s project ment,ors; a.nd 4. Lobbying propriate upper level management policy and organizational for the apchanges. Even when an organization has an existing technology insertion group, the temporary creation of an object center staffed with 00-specific change agents is a good idea. Many companies are doing this. For example, IBM has a generic technology insertion group, but has recently also created an object technology center. SE1 Maturity Level I do not see any need for an organization to be at a certain level of maturity before moving to OOT. In fa.ct t,he more ma.ture a. soft,ware development, organization, the more likely it is that the organzation will be reluctant, to move to OOT because of the immature state of the process infrastructure for 00 software development. Most organizations support a variety of development efforts. Consider a health care organization that develops billing, payroll and other standard DP systems, but also develops labora,tory analysis software and other patient care systems that deal with on-line retrieval of s-rays, EKGs etc. The DP systems are probably based on a stable technology with a reasonably mature development process. The advanced multimedia and embedded systems are the more likely candidates for OOT precisely beca.use the development organization does not yet have a mature technology and process for these systems. 443 Legacy Systems port, Q&As, electronic flashes, and participation in conferences and meetings (SHARE, GUIDE etc), are vehicles for technology transfer. The idea of wrappers is often presented as a solution to the problem of making legacy systems “look” 00. However, why should legacy systems have to “look” OO? Most corporations already have a mix of software technologies. OOT is one more technology to add to the mix. It is a mistake to assume that all legacy systems should be converted at some level to OOT. It is true that 00 systems will need to be able to interface with some legacy systems, and that some legacy systems should be migrated to OOT, but there are numerous ways to accomplish this. Wrappers are often indicated when the new 00 systems are written in a pure OOPL like Smalltalk and the legacy systems are in a language like COBOL. However, most commercial systems are written in a hybrid language. When the legacy code is written in the base language of the 00 hybrid, one could choose to recompile the old code with the hybrid compiler. In addition lightweight interface procedures are often indicated. 6 Daniel Technology cumstances Transfer - Actions and Cir- The process of transferring a new technology to an organization is not linear: the needs of the target organization vary during the process, depending on the phase of the transfer the organization is involved in. Four transfer phases can be identified from the point of view of the target organization: The target organization should know about the existence of the new technology and understand the advantages and risks involved in embracing it. Awareness. Exploration. prototype The target organization sets up projects using the new technology. The target organization has decided to embrace the new technology, and the existing technology base is being converted t.o the new one. Transition. Tkach The new technology has become “business as usual” in the target organization. A mature stage of t,his phase would be characterized by the presence of process control? quality standards, and productivity measurements. Habit. The position presented in this panel draws from my experience as the consultant responsible for the transfer of technology projects in the field of object-oriented technology at the IBM International Technical Support Organization (ITSO), which is a worldwide “transfer of technology” institution. The ITS0 has centers close to the main IBM hardware a.nd software laboratories around the world. The objective of those centers is to transfer technology from where it is created - the labs - to where it is needed in the organization - marketing, consulting, and services staff - and also to IBM customers. The technologies are transferred via publications (known as redbooks), workshops taught worldwide, and residencies in which international field support specialists (and eventually customers and lab developers) participate to produce the workshops and redbooks mentioned The awareness phase is key to achieve an effective transfer of technology. This phase is particularly crucial for object-oriented technology, since many economic and cultural decisions have to be made. The recipients of the transfer in this phase are both managers and programmers. Managers and programmers have to be aware of the advantages of object-oriented technology and the requirements for capitalizing on these advantages. The bottom line message is that productivity and quality in object-oriented software development are achieved through reuse, but then the meaning and nature of reuse have to be un- earlier. derstood, In addition. 3rd level direct technical sup- 444 as well as the organizational changes it cesses, control, and metrics, which usually have to be imported. A source of exchange of sophisticated questions and solutions has to be established, such as e-mail conferences and forums. In the habit phase, the quest is for refining the technology, improving existing processes, and exploring the next steps. This level justifies the existence of a.n in-house staff of high level specialists which determine where and what aspect of the technology should be transferred. Although awareness - exploration - transition habit is a na.tural sequence, it is by no means a necessary one. The following are three counterexamples describing ca,ses where this sequence will not hold (and many more can be found): entails. Technical decision issues such as the choice of language and methodology have to be explained, but should not become the focus at this point. It is more important to deal with the “not invented here” syndrome, and with legitimate concerns such as incentives, performance evaluations, and training opportunities. The main objective of the transfer of technology in the awa.reness pha.se is that the technology should not be perceived as threatening by anyone but as a growth opportunity for everyone. Short courses (from 1 t,o 5 days) that include technology fundamentals, advantages, technical and organizational considerations, success stories (both internal and external), and marketplace trends and directions, are effective transfer means in this phase. Those courses should be delivered in-house and there should be several opportunities to attend them on different dates; a teach-the-teachers by company experts or external consultants may be a convenient way t.o sta,rt the process. A list of recommended conferences and trade shows may be a useful tool for stirring the interest of key people in the target organization. 1. A company take-over or merger where the new owner has already developed object-oriented systems. 2. A multi-national company that imposes the new technology on its world-wide branches. 3. A start-up developing technology. The exploration phase is characterized by the existence of “points of light” or “negative entropy pockets”, that is small nuclei of developers that test the new technology, many times with manager consent during normal working hours, but often after hours. Enthusiasts of the new technology appear, probably with some background from the university, from readings, or from previous jobs. The transfer of technology in this phase requires the definition of a specific development environment, the availability of such an environment and the training of selected people in its use for concrete pilot projects. Users groups, where the practitioners of the new technology and interested people meet, say, once per month, to discuss topics, present their projects and even invite external speakers, have proved to be a successful transfer of technology instrument in this stage. company that decides to start the systems with object-oriented The described sequence is: however, a typical cess for any organizational paradigm shift. SE1 Maturity Level and Paradigm pro- Shift If the report that says that about 80% of t,he US MIS shops are at level 1 is correct: and we accept “Thou shalt not perform Yourdon’s admonition: paradigm shifts at low SE1 maturity levels”: the application development world would never go to 00. My position here is that a paradigm shift does not depend OII the maturity of the whole organization but on the characteristics of projects and of the group that will implement them. In addit,ion, transfer of 00 technology does not have to start with programming in the large, but with smaller teams where the process management constraints can be relaxed, and therefore not require a particular SE1 maturity level, even for that team. We should not lose the perspective on the prob- In the transition phase, the key issue is productivity. The technology required now, in addition to the continuous training efforts, relates to pro- lem: in any case, the para.digm 445 shift has to start at some level of maturity, based on some technology. Probably, if we wait long enough, there will be another paradigm shift within the next 10 years for which we will not be prepared either, so . . . And since achieving a SE1 maturity level requires establishing formal methodologies and process definitions of some kind, there does not seem to be an a,pparent adva.nta,ge for an organization to rea,ch to a level 3 maturity with a process based on structural analysis instead of object-oriented modeling, and then make the transition to object-orientation. Legacy quired, probably due to technological reasons, such as a change in the data store and retrieval access methods. Another approach is not to wrap the legacy systems directly, but to use them as servers to the new object-oriented applications, leaving them in their own environment. For instance, the legacy code could probably be left to execute in a server machine connected to the true object oriented application via, a network operating system (NOS) providing location transparency, and have a wrapper or proxy object at the client’s end providing the required interface to the NOS (i.e. wrapping the NOS instead of wrapping the legacy code). This approach is particularly useful when the server (native legacy) environment is quite different from the object-oriented client environment, as is usually the case with mainframe legacy systems. Systems If legacy code can be re-engineered through existing tools, there may be an opportunity for objectifying without the use of wrapping techniques, by transforming the resulting models into object models. These transformations will at this stage have to be performed “by hand”, by carving, as Eric Herness advocates, the E-R models that the re-engineering process may produce. The present level of the technology does not allow for productive direct object-model re-engineering, although the use of techniques derived from the field of artificial intelligence, seems to be promising. Current code-slicing techniques are not adequate for objectoriented layering, since they are usually functionoriented. Statistical tools that could find clusters of accessed data would enhance the productivity of the re-engineering process, but their commercial availability is not widespread. 7 Biographies Andy Baer is currently a Vice President at American Management Systems and Director of Object Technology in the AMS Center for Advanced Technologies. His responsibilities include managing the creation of a reuseable software infrastructure for developing large business applications, evaluating emerging object technology products and trends, helping transition AMS’s staff to using objects, and being the primary focal point at AMS for marketing object technology. Brian Bernsen is a Unit Chief in the Center for Software Engineering at McDonnell Douglas Aerospace East (MDAE), where he investigates CASE tools and software development methods. Prior to joining the Center for Software Engineering, he held various software development positions on the F/,4-18, AV-8B, and A-12 projects? where he wrote the Software Standards and Procedures Manual. He has taught several in-house classes on Ada and Software Engineering and is methods currently developing a “Best Practices” Legacy relational databases should be used “asis”. There is no apparent justification for a massive conversion to an OODBMS, especially in a business environment. Wrappers could be used as a technique for objectifying both legacy code and objects. But a deep series of layers of wra.ppers would be hard to specify and maintain. In addition, wrappers [also known as “ada.pters”) could be used for materializing objects from legacy data stores such a,s flat files. When wrapping legacy systems, legacy data stores should be wrapped separately, because they may be the first things for which a change may be re- manual for Ada software development, Alan Korncoff is Senior Principal the Research 446 and Technology Division at MDAE. Scientist in of the Boe- ing Company. Present assignment is Principal Invest,igator, Object-oriented Technology for Manufacturing Automation. In this capacity, he developed a.nd lead the deployment of the Exception Processor (patent pending), the first application of 00 on the factory floor in Boeing. He is currently Program Ma.nager, Project Ma.nager, Principal Investigator for four 00 projects. Tim Korson ha.s two affiliations: He is Executive Director, The Consortium for the Management of Emerging Software Technologies (COMSOFT) and he is also a R.esearch Associate at Clemson Vniversity. Daniel Tkach is a Senior Information Technology Consultant for Object-Oriented Technology. He works for the IBM International Technical Support Center in San Jose, California, where he is responsible for the IBM worldwide transfer of technology projects in object-orientation. His recent book on the topic, “Object-Oriented Technology in the Application Development Environment” is in the process of being published by The Benjamin/Cummings Publishing Company. 447