Definitions of Tool TIntegration for 1’Environments IAN THOMAS,Hew let t-Packard BRIANA. NEJMEH Innovative Engineering Practices

What does Tool integration is about the extent to “inteyation’’ mean? siderable discussion in recent years about which tools agree. The subject of these the integration of software-engineering agreements may include data format, Integration is a environments, perhaps beginning with user-interface conventions, use of com- the use of “integrated” in the term lPSE mon functions, or other aspects of tool property of tool (integrated project-support environment) construction. To determine how well and continuing with the coinage of the tools agree - and how well they are inte- intewelationsh+s. terms ICASE (integrated CASE) and grated into an environment - we pro- ISEE (integrated software-engineering pose a framework that focuses on d&nzng Understanding it environment). integration, independently of the mecha- will help us design Although some have tried to define nisms and approaches used to support in- precisely what “intcgration” means in tegration. better tools and these terms, we believe these definitions Our purpose is to identify the goals of are not as precise as they should be. We integration and propose some questions integration believe integration is not a property of a that establish what information is needed single tool, but of its relationships with to know that these goals have been mechanisms. other elements in the environment, reached. In thls respect, we are following chiefly other tools, a platform, and a pro- Victor Basili and David Weiss’s approach cess. Of these, we believe the key notion is for metria development, in which they the relationships between tools and the advocate identifymg goals, questions that properties of these relationships. refine the goals, and quantifiable tnemcs

~~

IEEE SOFTWARE 07407459/92/0300/0029/$03 00 D IEEE 29 that provide the information to answer the and framework-technology builders. It tools. The software-engineeringcommu- questions.’ However, we do not propose provides them with a definitional fi-ame- nity generally agrees on the importance of quantifiableintegration metria here. work in which these four tool relationships,but the defi- Anthony Wasserman identified five + users can characterize areas in their nitions of integration properties are not as kinds of integration: plagim, which is environments in which tools should be precise as they should be. concerned with framework services; pre- better integrated; Figure 1 shows an entity-relationship sentation, concemed with tool evaluators can diagram depicting a single tool, four rela- user interaction; data, identify criteria to evalu- tionships, and our elaborated properties concemed with the use of ate tool sets they want to for each relationship. The four well- - include in an integrated known relationships are data by tools; c~ztrol,con- There are two cemed with tool commu- environment; + Presentation: The goal of presenta- nication and interopera- VieWpOinh in the + tool writers can ex- tion integration is to improve the effi- amine design and archi- ciency and effectivenessof the user’s inter- tion; and pmces, concerned with the role discussion of tectural issues as they de- action with the environment by reducing of toolsqin the software integration: the velop the next generation his cognitive load. process.‘ of integrated environ- + Data: The goal of data integration is We extend Wasser- environment user‘s ments and identify good to ensure that all the information in the man’sanalysisbybuilding and the environment practice for the use of environment is managed as a consistent on his definitions of pre- emerging integration- whole, regardless of how parts of it are operated on and transformed. sentation, data, control, bui Id e r‘s . support_. mechanisms; and and process integration. + framework-tech- + Conwo~’:The goal of control integra- Our elaborations are nology builders can ex- tion is to allow the flexible combination of based on experience with framework ser- plain how proposed and existing integra- an enpironment’s functions, accordmg to vices and integrated environments and an tion mechanisms contribute to improve- project preferences and driven by the un- analysis of the issues. Because our focus is ments in integration in terms of the prop- derlying processes the environment sup- on the relationship among tools, we do not erties described here. ports. consider platform integration, which we We have tried to separate integration + Procea: The goal of process integra- regard as providmg the basic elements on properties so as to identify them as clearly tion is to ensure that tools interact effec- which the agreement policies and usage and independently as possible. In practice, tively in support of a defined process. conventions for tools are built. we know that tool writers can use a single Our approach uses binary relation- integration-support mechanism to im- ships, which raises the issue of whether TWO POINTS OF VIEW prove several integration properties. integration should be defined as how well two tools are integrated or if it should be There are two points of view in the TOOL INTEGRATION dehed as how well many tools are inte- discussion ofintegration: the environment grated. We believe that the second deh- user’s and the environment builder’s. The The goal ofa software-engineeringen- tion can be adequately captured as an ag- environment user is concerned with per- vironment is “to provide effective support gregate property, derived from how well ceived integration at the environment’s for an effective software p~ocess.”~We be- individual tool pairs are integrated. How- interface. The user desires a seamless tool lieve support is more effective if the envi- ever, our focus on how well two tools are collection that facilitates the construction ronment is integrated - if all its compo- integrated does not mean that we support of systems on time and wihbudget. The nents function as part of a single, integration mechanisms that allow “pri- environment builder, who assembles and consistent, coherent whole. vate” tool agreements. It is important to integrates tools, is concerned with the fea- Integration means that dungs function distinguish a d+nztion of integration from sibility and effort needed to achieve th~s as members of a coherent whole. When a good mechanism for integration support. perceived integration. we say, “Ais well integrated with B,” we The user would hke to see well-inte- are really making many statements be- Presentation ‘ntegratkn. The goal of re- grated tools; the builder would like to see cause A and B are composites with many ducing a user’s cognitiveload should apply easily integrable tools. Both perspectives characteristics. To understand howwellA is to individualtools, tool sets, and the envi- are important, and many of the integra- integrated with Brequiresa careful examina- ronment as a whole. It can be aclueved by tion properties we describe are meaning- tion and comparison of each characteristic. letting users reuse their experience in ful from both points ofview. We extend Wasserman’s four lands of interacting with other tools by Our more precise way of looking at integration by identifymg several well-de- + reducing the number of interaction integration has proved useful to four fined properties that characterize the vari- and presentation paradigms in the envi- groups: users,tool evaluators,tool writers, ous integration relationships between ronment.

~

30 MARCH 1992 appearance and interadion behavior?

CONTROL INTEGRATION

Figure 1. Entity-relationship diagram depicting U single tool,four relationships, and elaboratedpropwties.fm each relationship.

providing interaction and presenta- order of commands and parameters, uni- gle metaphor may be awkward or ill- tion paradigms that match the user’s men- formity of the presentation of choices in adapted for some cases, while using many tal models, dialogue boxes, and so on. metaphors may provide one that is well- + meeting the user’s response-time ex- Both Motif and OpenLook specify suited for each case but makes it difficult to pectations, and compliance levels that are relevant here. transfer experience between tools. + ensuring that correct, useful infor- However, both leave aspects of appear- For example, a tool to access and mation is maintained at the disposition of ance and behavior undefined, which may browse a database may use a filingsystem the user. lead to unnecessary, confusing differences metaphor, with filing cabinets, drawers, We identifytwo properties in &IS class, between the appearance and behavior of dossiers, and so on. This metaphor might whch we base on the relationshps be- two tools. impose a strict containment relationship tween the user interfaces of two tools: ap- A broader definition of appearance and between cabinets and drawers and be- pearance and behavior integration and in- behavior should also cover response-time tween drawers and dossiers. Another tool teraction-paradigm integration. aspects. Similar interactions with two tools for accessing the same information may should have similar response times for present a different metaphor that involves Appeamnce and behavior. Ths property an- them to be well integrated with respect to navigating around a hypertext smcture, swers the question, How easy is it to inter- this property. Appearance and behavior with no emphasis on containment rela- act with one tool, having already learned might also include using a common mean- tionships. to interact with the other? In other words, ing for verbs and commands. A user who must use both tools may be how similar are the tools’ screen appear- confused by the different navigation met- ance and interaction behavior? lntemcfion pmdigm. This property answers aphors, so we would say that these two Two tools are said to be well integrated the question, “How easy is it to interact tools are not well-integrated with respect with respect to appearance and behavior with one tool having already leamed the to their interaction paradigms. integration if a user’s experience with and interaction paradigm of the other?” In expectations of one can be applied to the other words, to what extent do two tools use Data mteyah The information ma- other. sdar metaphors and mental models to nipulated by tools includes persistent and Appearance and behavior integration minimiw learning and usage interference? nonpersistent data (which does not sur- captures the similarities and differences Two tools are said to be well integrated vive the execution of the tools that are between the lexical level of the two tools’ with respect to interaction-paradigm inte- sharing or exchanging it). The goal is to user interfaces - how the mouse clicks, gration if they use the same metaphors and maintain consistent information, regard- the format of the menu bars, and so on. It mental models. less of how parts of it are operated on and also covers some aspects of their ~r”’tactic Clearly, it is important to balance the transformed by tools. level differences and similarities - the use of one versus many metaphors. A sin- Data integration between two tools is not

IEEE SOFTWARE 31 relevant when they deal with disjoint data. make it available to the second tool, the point of view because duration can be de- Also the data-integration properties data must be run through a conversion rived from the start-date and end-date. should reflecz the use of the “same” data by program. From the environment builder’s Designers of environments that must tools, even if that data is represented differ- point of view, these two design tools are maintain consistent duplicate and derived ently or can be deduced from other data. not as well integrated with respect to data must choose strategies for timing the We have identified five properties in interoperability integration as two tools updates to the duplicate and derived data- th~sclass, defined between the data man- that use the same fomiat and model. If the the well-known “refresh-time’’ problem. agemendrepresentation aspects of two user must initiate the conversion, the tools Avoiding duplicated data in a database tools: interoperability, are also not well inte- still allows the use of replicated data, which nonredundancy, data grated from the user’s a distributed database might provide to consistency, data ex- - point of view. improve robusmess or performance. change, and sYnc~oniza- Tools are well Tools are well inte- Dutu comi~te~.Maintaining the consis- tion. ptedwhen they have a integrated when they common view of data. tency of duplicate or derived data is a fre- /nteroprobi/* Suppose a have a common view Some environments quently observed special case of how to tool using some data in achieve this common maintain some general semantic con- the environment has a of data. view by using common straint on the data. For example, a de- certain view of that data. internal structures for the signer may want to ensure that the sum of Another tool may need to infomiation they manip- certain attributes in the database is less use some or all of the data used by the first ulate (such as prograns and design am- than some value: Tool 1 manipulates some tool but may have a different view of that facts). Examples include the Interlisp envi- data A, Tool 2 manipulates some data B, data. How views differ can range from the ronment and Rational’s Ada environment. and there is a semantic constraint relating pedarities of character representations Other environment5 use common sche- the permissible values of A and B. to differences in the ma~.Exaiiples include Pact4 and IBMs The data-consistency property an- each tool assumes and captures in sche- ADKycle Information Model.’ swers the question, “How well do the tools mas. Two tools may even assume differ- indicate the actions they perfomi on data ent seniantics for data stored using the Nmredundunq Th~sproperty answers the that is subject to sonic semantic constraint same schema. question, “How much data managed by a so that other parts ofthe environment can The interoperability-integration tool is duplicated in or can be derived from act appropriately?” In other words, how property answers the question, “How the data managed by the other?” In other well do two tools cooperate to maintain much work must be done to make the data words, it identifies the redundancy in the the semantic constraints on the data they used by one tool manipulable by the data that the two tools independently store manipulate? other?” In other words, what must be and manipulate. Two tools are said to be well integrated done for the two tools to see the data as a Two tools are said to be well integrated with respect to data-consistency integra- consistent whole? with respect to nonredundancy integra- tion if each tool indicates its actions and This property illustrates the different tion if they have little duplicate data or the effects on its data that are the subject of viewpoints of the user and builder. The data that can be automatically derived semantic constmints that also refer to data environment user may perceive that two from other data. managed by the other tool. tools are well integrated because they Redundant information in a database, present a common schema at the user in- whether duplicate or derived, is undesir- Doto exchunge. Two tools may want to ex- terface, even if each tool actually has a dif- able because it is difficult to maintain con- change data. The data may be in the fonn ferent . The environment sistency. Nonredundancy is relevant even of initial values communicated from the budder will see that the tools are not well if the tools store their data in the same first tool to the second when it starts exe- integrated, because they use different data database. cution or it may be in the fonn of values modelsandrequirealotofwork to make the Well-integrated tools should minimize passed to a tool while it is executing. To data of one tool manipulable by the other. redundant data. For example, suppose two exchange data effectively, the tools must Two tools are said to be well integrated project-management tools, which operate agree on data format and semantics. with respect to interoperability integra- on the same data, use the concept of a This property answers the question, tion if they require little work for them to project task. One assumes that tasks have “How much work must be done to make be able to use each other’s data. two attributes, start-date and end-date; the data generated by one tool usable by For example, suppose a design tool the other assumes that tasks have two attri- the other?’ In other words, what must be produces data in a certain format and that butes, star-date and duration. Although done to make the data generated by one data must be manipulated by another tool both tools use the same start-date, they are executing tool manipulable by the other? that expects data in a different format. To not well integrated from the builder’s Two tools are said to be well integrated

~~~

32 MARCH 1992 with respect to data-exchange integration xoperties determine how well integrated gard, control integration complements if little work on format and semantics is re- hey are to do hs). Cooperating tools may data integration. quired for them to be able to exchange data. ilso need to maintain the consistency of Data integration addresses data repre- This definition is very similar to the he nonpersistent data that may be repli- sentation, conversion, and storage issues; interoperability definition, but data-ex- :ated in several tools in a set. control integration addresses control- change integration also applies to nonper- The synchronization property answers transfer and service-sharing issues. We sistent data. he question, “How well does a tool com- have identified two properties, defined on Some environments may allow the en- nunicate changes it makes to the values of the control relationship between two vironment builder, rather than the tool de- ionpersistent, common data so that other tools: provision and use. signer, to decide which data is persistent. :ools it is cooperating with may synchro- We make the distinction between data-ex- ize their values for the data?” Two tools hovision. This property answers the change and interoperability because the ire well integrated with respect to syn- question, “To what extent are a tool’s ser- mechanisms that support data-exchange :hronization integration if all the changes vices used hy other tools in the environ- integration may be different from the to all shared nonpersistent data made by ment?” mechanisms that support interoperability me tool are communicated to the other. A tool is said to be well integrated with integration, although some environments Suppose a set of development tools in- respect to provision integration if it offers may use the data-management system to dudes a debugger and a browser. The set services other tools in the environment implement interoperability integration. might have been constructed with the idea require and use. The definition of persistent data is inde- that the debugger and browser would Suppose you are building a project- pendent of whether or not the data is ihare a single current-source-code-line management tool that requires the user to stored in a database. Data-exchange inte- Dosition. When the de- enter a brief description gration is also relevant whether or not the bugger stops at a break- Iof project tasks. Such a II .I two tools use the same database. point, it changes the cur- Achieving high use tool requires an editing Suppose you have two project-man- rent source-- code line service to enter textual agement tools. The first is a scheduling position, which the integration requires task descriptions. In &IS tool that displays a network of project browser uses to display case, provision integra- tasks, each represented as an icon. Each the lines above and below modular tools. tion refers to the extent to task icon has a user-defined name repre- curren t-source-code- which the editing tool sented as a task-type attribute in the line. Both tools need a consistentviewof hs provides the services required by the proj- environment’s database. The second tool datum and must inform each other of ect-management tool. is a time sheet that lets the user record time changes they make w it spent on projea tasks. The user interface Thsdefinition is very similar to data- Use. Thls property answers the ques- to the second tool is a spreadsheet, with consistency integration, except it applies tion, “To what extent does a tool use the each column headed by a task identifier to nonpersistent data. We make the dis- services provided by other tools in the en- that is used as an account number for tinction because the mechanisms used to vironment?” charging. Ths task identifier is also stored support synchronization may be different A tool is well integrated with respect to as a task-type attribute in the from the mechanisms used to support data use integration if it appropriately uses the environment’s database. consistency. Both mechanisms must de- services offered by other tools in the envi- Now suppose the user wants to copy a fine a refresh time to communicate ronment. 1 task icon from the scheduling tool and changes between tools. Achieving high use integration re- paste it into the task-identifier cell of the quires modular tools. A tool written with- time-sheet tool, which would then display Control integration. To support flexible out regard for replacing services that it the task identifier of the task icon. Clearly, function combinations, tools must share provides with similar services will not both tools must agree on the format and functionality. Ideally, all the functions of- achieve good use integration. The same semantics of the data exchanged via the fered by all the tools in an environment tool could be written so that it either ex- 1 copy-and-paste mechanism. should be accessible (as appropriate) to all pects certain services in its execution envi- other tools, and the tools that provide ronment and provides a means of incor- Synchronizatiion. In general, a single tool functions need not know what tools will be porating such services into the tool or will manipulate some persistent data and constructed to use their functions. provides a convenient way of replacing a will also need nonpersistent data for exe- For tools to share functionality, they tool-provided service with a comparable cution. This is also true of a set of cooper- must be able to communicate the opera- service offered by another tool in the en- ating tools, whch typically will manipu- tions to be performed. Because operations vironment. late persistent data (and interoperability, require data, the tools must also commu- The project-management tool in the nonredundancy, and data-consistency nicate data or data references. In hsre- earlier example would be highly inte-

IEEE SOFTWARE 33 grated with the editing tool with respect to frucesss step. This propeny answers the should reflect events generated by other use integration if it used the editing tool’s question, “How well do relevant tools in the relevant tools. Second, a relevant tool services. The project-management tool environment combine to support the per- should generate events that help satisfy would then have to provide a convenient formance of a process step?” other relevant tools’ preconditions. way to replace its text-editing services with The performance of a process step will Tools are said to be well integrated with those offered by the editing tool. often be decomposed into executions of respect to event integration if they gener- various tools. Tools often have precondi- ate and handle event notifications consis- Process ‘nteyot’on. There are three di- tions that must be true before they can tently (when one tool indicates an event mensions to ensuring that tools interact perform work to achieve has occurred, another tool well to support a defined process:6 their goals. A tool’s pre- responds to that event). + A process stq is a unit of work that conditions are satisfied - Suppose you want to yields a result. Assessing design perfor- when other tools achieve we shouldbe plan and schedule a mod- mance is a process step. their goals. designing and building ule unit test. TO do so, the + A process event is a condition that Tools are said to be process requires that arises during a process step that may result well integrated- with re- tools to take 1. the module be in the execution of an associated action. spect to process-step in- advantage of the completelydeve~oped(for Conducting a successful compile may re- tegration if the goals they . example, it has run sult in the scheduling of a unit test. achieve are part of a CO- lntegrafion support through the Unix lint tool + Aprocess constraint restricts some as- herent decomposition of cleanly), pect of the process. A constraint might be the Drocess steD and ifac- mechanisms ovoilobk- 2. the module be that no person can have more than 10 pro- complishing these goals checked into the configu- cess steps assigned to them concurrently. lets other tools achieve their own goals. ration-management system, and A tool embodies a set of assumptions Tools can be poorly integrated for sev- 3. test personnel be available. about the processes in which it may be eral reasons. The goals achieved by two In other words, the notification of all used; two tools are well integrated with relevant tools can be incompatible in that three events is a precondition to unit-test respect to process if their assumptions one tool makes it harder for the other tool scheduling. In tlus case, the lint tool might about the process are consistent. The de- to achieve its goals. Similarly, the goals generate an event indicating a module has gree of consistency between the process achieved by one relevant tool can be in- passed through lint cleanly, the configura- assumptions of tools strongly influences compatible with the preconditions neces- tion-management tool might generate an the degree ofpotential process integration sary for the other relevant tool to execute. event indicating a completed module has for all the process-integration properties Suppose a compile-and-debug process been checked into the system, and a re- we identified. step uses a C++ preprocessor, a C com- source-availability tool might generate an Obviously, tools that make few process piler, and a debugger.The C++preproces- event indicating that test personnel are assumptions (like most text editors and sor accepts C++and generates C, which is available. These tools would be well inte- compilers) are easier to integrate than compiled. The debugger, which is in- grated with the unit-test scheddg tool tools that make many process assumptions tended to sipport source-level debugging, because they generate the events necessary (like those that support a specific design uses infonnation generated by the C com- to satisfy its preconditions. method prescriptively or generate test piler. It does not know that the C program Events have some similarities with the skeletons from a design notation). was generated by a C++preprocessor. data-trigger mechanisms that are part of Whether we need to consider how well In this case, the C++compilation chain some persistent object-management sys- two tools are integrated with respect to pro- and the debugger are not well integrated tems. One major difference is that events cess integration depends on whether they with respect to process-step integration may be signaled without changes to persis- are both relevant to the same process step. because the functions of the C++compila- tent or nonpersistent common data; they in- For example, the relevant tools in asaing tion chain and the debugger do not form a dicate only that somedung of interest and design performance might be a graphical coherent decomposition of the compile- relevance to the process has occurred. design tool and a performance-analysis tool. and-debug step that would permit source- Other tools that may be irrelevant to th~s level debugging of the C++program. Ccxrdront. This property answers the process step are the assembler and debugger. question, “How well do relevant tools in Whether a tool is relevant or irrelevant de- Event. This property answers the ques- the environment cooperate to enforce a pends on the process property. tion, “How well do relevant tools in the constraint?” We identified three process-integra- environment agree on the events they There are two aspects to enforcing a con- tion properties, defined on the process re- need to support a particular process?” straint First, one tool’s permitted functions lationship between two tools: process step, There are two aspects to event agree- may be constrained by another‘s functions. event, and constraint. ment. First, a relevant tool’s preconditions Second, a tool’s functions may constrain an-

34 MARCH 1992 other tool’s permitted fimctions. -gue that these distinctions are false and indcpendent of an cn\;ironnient’s technol- Tools are said to be well integrated with nnecessary - that all services anbe pro- ogy base atid are relevant to object-ori- respect to constraint integration if they ided by operations associated with ob- ented environments. make similar assumptionsabout the range rts.IIowever, itisstill truethatsomeobject We helieve other environment ele- of constraints they recognize and respect. psare defined as important to the system inelits -including the characzerization of At first glance, constraint integration id that these objects have predefined oper- the software process - have relation- may appear to be the same as data-consis- ions. Also, each object requires execution- ships that could be analyzed using this tency integration. However, data-consis- ngine services and persistent data manage- technique. \%’e look forward to cxtend- tency integration is concerned with con- lent for its implementation, in addition to ing and refining this set of relationships straints on data values; whereas, constraint iterobject communication. The intep- and properties as our understanding of integration is concerned with constraints on properties we have identified are largely to(11 integration grows. + on process states and how such process constraints affect tool functioning. If pro- ~ . cess-state information, such as the statusof ACKNOWLEDGMENTS variousprocess steps,is modeled and man- Anunihcr of the initial ideas for this work e\ol\ed in working-goup discvssion\ invol\ingTim Colliiis, aged in the environment’s data-manage- KcL-in Ewert, Colh &rev, andJon Gustaison. Lkalso rcccived helpful ~o~iini~ntsfrom Frank Bck hlark ment system, then the mechanisms that Dowson, Anthony Earl,John Favaro, Peter Feller, Rad Fleming, Steve (;a&. AIikc hloriegan, Da\.c Ncttlt.9, support data-consistency integration can Huw Oliver, Lolo Penedo, Bill Riddle, F:u Shafrir, and Lyn L/zlc. ’Ihc Naoon,il Inauhite ofStmdards urd ?tclinology W’orhig Group on ISEEs’ suhgroup 011 intcgr.ition gencratcd tiimy trst exes we used tu refine also support constraint integration. thew ideas. Suppose a process constraint is that the same person cannot both code and test a REFERENCES module. In tls case, if the resource-allo- 1. \:R. Basili and D.M. U’eisq, “AMethodolop for Collectiiig\hlid Sofmxc I;nginccring Data,“ IZXE cation tool that assigns a coding task to a ‘1;” Su@m En,& Nov. IYX4, pp. 728-738. person then prohbits the configuration- 2. A.1. LVassemran, “‘Iool Integr~nonin Sofiu arc Engineering L;ii~iro~i~iicilt\,’’in .S~:.ft..w I.;ii,~+wiii~q fihi- ro?niimn:N-or. Int‘l Cf‘67-ksl.quti Enr~rroiniiaits,F. Long. cd., Springcr-\‘erl.ig, Bei-lin, IYYO. pp 137-140. management tool from letting that person 3. V. Stenning, “On the Role ofan I.:n\ironnicnt,” l’rnr. Iiit‘/Cm!f: ;ofti:iiw ki~~q,IEEI (3Press. Los 41- checkout the same module for testing, the amitos, Calif., 1987, pp 10-34. resource-allocation tool is well integrated 4. M.1. ‘I’honias, ‘“liml Integ-ation in the Pxt I.ii~~ironiiir~it,”lhc. ht’l Con/: Sufiii.07~EiIg., IEEF CSPress, with respect to constraint integration with 1.m Alamitos, (Blif., 1989, pp. 13-22, the configuration-management tool. i. \’.J. Mercui-ic et al., “AD/Cycle Strategy and Architccnii-c.” IRtl ,SW(,/~/J.~.,\id 211, SO2, 1900, pp 170- 188. 6. M. Iltiwson, B. Nejnieh. and I$’. R~ddle,“Fnndanieiit~l Share Procc$\ (:iiiiccpts.” Ref. So. 7.:. Soft- n this article, we have emphasized defi- \\ are Iksign aid ,tialysis, Booldrr, Colo., I WO. Initions of integration properties on re- i.B. Nejineh, “Characteristics of Integ~ahleSoh-are Tool\,”’li.ch. Report 8Y036-N, Sofnr are Pi-(iducuvity lationships between tools rather than the Consortium, I{erndori. \:a., 1‘189. specific integration-support mechanisms. -~ ~~~ ~~~ ~~ The designs of integration-support mechanisms and tools do not proceed in- Ian Thomas \\orI\s on ~oftu~ire-eng~neer~ngen\~ronrncntinfi-a\micture at \ofmare dependently. Integration-support mecha- Design and iZn~l~si\.a research aid con\ulhng conipdni Liliile at lieulen-Packad, he uorhed on nexT-generahon ohject-r)ricnted hroadcast iiiechnni~m~to \upport control 111- nisms are not developed assuming a con- tegrahon aid the use of the Portalde C oninion li~)ltn\ironnient’s Olilcct-\lanage- stant model of how tools are written. inent \v\tem to wpporr dntd mteganon Ihs rcstarcli intti e\ts mcluclt viltnxe enp- Similarly, tools and tool architectures neering en, iromncnt framLworIO, data rnmagenient tor wftn are cngmeenng must evolve to take advantage of the new envlronmenn, en\ ~ronment-intrgrationteclinolop, and soft\\ are process \uppoi t generation of integration-support mech- Thomas recentd d RS in dpplied ~ll,~thenimc~friini die LT1iner~;lniof \\!des, Aher)stwd and an MS incomputer saence kom die L nibersin ot Lxindon He IS ‘1 nieiii anisms. ber ofALhl md the IEFP < oinpiiter 5ocietr Instead of asking how the integration- support mechanisms support tools, we should be aslung how to design and build tools so they can best take advantageof the Brian Nejmeh iu president of Innov,ihve Prac~ices(Instep), d firm spec~dizingin softu-are jirweys impro\ enient. Refore fr)unding Instep, Ncjineh led sev- mechanisms available. Brian Nejmeh of- eral groups at the Sobarc Producu\ity Consortiuiii. He has ~rittenwidely on soharc- fers advice on how to do this.’ engineering topics and is the s~ftware-engineeringeditor for Co~inr?iiiic~atiollrit th:1C\ I. This article describes a model of envi- Nejnieh rcccivcd d BS in froin .Vlegheny Cdege and an AIS in ronment frameworks that identifies computer science from Piirdirr liiiiverv t),. €IC is A ineiiihrr ofPhi Rew Kqqn, and the IEEF Computer Socieh. framework services, tools that offer other Addrm quesnons ahout thi? article to Thoma\ at Sohvare Design and ;\nalysir. +W services, data-management services, and so <:astro St., Stc. XX), Mountain \b,CA WM1; Intemct thoma&?sda.cnmor to Nejmeh at on. Some proponents of object-orientation Instep, l1iX CoppRed Rd., €kmdon,\A 22071: Inteniet ncjmehQinstepcr~m.

IEEE SOFTWARE