Definitions of Tool Integration for Env ironments IAN THOMAS, Hewlett-Packard BRIAN A. NEJMEH innovative Engineering Practices

* What does here has been con- Tool integration is about the extent to “integration ” mean? Tsiderable 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 1PSE mon functions, or other aspects of tool propeq 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- interrelationships. terms ICASE (integrated CASE) and grated into an environment - we pro- Understanding it ISEE (integrated software-engineering pose a framework that focuses on d&zing 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 “integration” 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 this respect, we are following chiefly other tools, a platform, and a pro- Victor Basili and D&d Weiss’s approach cess. Of these, we believe the key notion is for metrics development, in which they the relationships between tools and the advocate identifying goals, questions that properties of these relationships. refine the goals, and quantifiable metrics

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-engineering commu- questions.’ However, we do not propose provides them with a definitional fi-ame- nity generally agrees on the importance of quantifiable integration metrics 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: pkz$&z, 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, concerned with * tool evaluators can diagram depicting a single tool, four rela- user interaction; data, identify criteria to evalu- tionships, and our elaborated properties concerned with the use of ate tool sets they want to for each relationship. The four well- data by tools; colztrol,con- Thereare two include in an integrated known relationships are cemed with tool commu- environment; + Presentation: The goal of presenta- nication and interopera- viewpointsin the l tool writers can ex- tion integration is to improve the effi- tion; and pmcesT, discussionof amine design and archi- ciency and effectiveness of the user’s inter- concerned with the role tectural issues as they de- action with the environment by reducing of tools in 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- environmentuser ’s ments and identify good to ensure that all the information in the man’s analysis by building and he 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 sentation, data, control, builder’s. support mechanisms; and operated on and transformed. and process integration. + framework-tech- l Control: 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 environment’s functions, according 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 + Procex The goal of process integra- regard as providing 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 TWOPOINTS 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 TOOLINTEGRATION de&red as how well many tools are inte- discussion ofintegration: the environment grated. We believe that the second dehni- user’s and the environment builder’s The The goal ofa software-engineering en- tion can be adequately captured as an ag- environment user is concerned with per- vironment is “to provide effective support gregate property, derived horn how well ceived integration at the environment’s for an effective software process.“3 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 within budget. 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 things function distinguish a dejnition of integration from sibility and effort needed to achieve this as members of a coherent whole. When a good mechanismfor integration support. perceived integration. we say, “A is well integrated with B,” we The user would like to see well-inte- are really making many statements be- Presentation‘htegatl~~~. The goal of re- grated tools; the builder would like to see cause A and B are composites with many ducing a user’s cognitive load should apply easily integrable tools. Both perspectives characteristics. To understand howwelL is to individual tools, tool sets, and the envi- are important, and many of the integra- integrated with Brequires a careful examina- ronment as a whole. It can be achieved 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 kinds of interacting with other tools by Our more precise way of looking at integration by identifying 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 Figure 1. Entity-relationship diagram depicting a single tool,four relatimships, and elaboratedpropertiesfm eachrelationship.

+ providing interaction and presenta- order of commands and parameters, uni- gle metaphor may be awkward or il tion paradigms that match the user’s men- formity of the presentation of choices in adapted for some cases,while using mar tal models, dialogue boxes, and so on. metaphors may provide one that is we1 + meeting the user’s response-time ex- Both Motif and OpenLook specify suited for each casebut makesit difficult t pectations, and compliance levels that are relevant here. transfer experience between tools. l ensuring that correct, useful infor- However, both leave aspects of appear- For example, a tool to access an mation is maintained at the disposition of ance and behavior undefined, which may browse a database may use a filing-system the user. lead to unnecessary, confusing differences metaphor, with filing cabinets, drawers, We identify two properties in this class, between the appearance and behavior of dossiers, and so on. This metaphor might which we base on the relationships 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 Appeomnceand behavior. This property an- them to be well integrated with respect to navigating around a hypertext sn-ucture, swers the question, How easyis 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? lntemctionpomdigm. 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 learned 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 hteyatian The information ma- other. similar metaphors and mental models to nipulated by tools includes persistent and Appearance and behavior integration minimize 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 5ynzizctic 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 endddate. should reflect 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 &om 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- this class, defined between the data man- that use the same format and model. If the the well-known “refresh-time” problem. agement/representation 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 replicateddata, 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 synchroniza- Tools Tools are well inte- tion. Datacamistency Maintaining the consis- integratedwhen they ~~~;h”r,l,e~o$~taatency of duplicate or derived data is a he- Interoperabihy.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 infomration they manip- certain attributes in the database is less use some or all of the data used by the first ulate (such as programs and design arti- than some value: Tool 1 manipulates some tool but may have a different view of that facts). Examples include the Interlisp em- 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 peculiarities of character representations Other environments use common sche- the permissible values of A and B. to differences in the mas. Examples include Pact4 and IBM’s The data-consistency property an- each tool assumes and captures in sche- AD/Cycle Information Model.’ swers the question, “How well do the tools mas. Two tools may even assume differ- indicate the actions they perfoml on data ent semantics for data stored using the hmdurtdarqThis property answers the that is subject to swne semantic constraint same schema. question, “How much data managed by a so that other parts of the 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 constnaints 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 it- whether duplicate or derived, is undesir- Dataexchange. 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 builder 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 form 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 assumesthat 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 properties determine how well integrated gard, control integration complements if little work on format and semantics is re- they are to do this). Cooperating tools may data integration. quired for them to be able to exchange data. also need to maintain the consistency of Data integration addresses data repre- This definition is very similar to the the nonpersistent data that may be repli- sentation, conversion, and storage issues; interoperability definition, but data-ex- cated 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. the question, “How well does a tool com- have identified two properties, defined on Some environments may allow the en- municate changes it makes to the values of the control relationship between two vironment builder, rather than the tool de- nonpersistent, common data so that other tools: provision and use. signer, to decide which data is persistent. tools it is cooperating with may synchro- We make the distinction between data-ex- nize their values for the data?” Two tools /h~ii~rt This property answers the change and interoperability because the are well integrated with respect to syn question, “To what extent are a tool’s ser- mechanisms that support data-exchange chronization integration if all the changes vices used by other tools in the environ- integration may be different from the to all shared nonpersistent data made by ment? ” mechanisms that support interoperability one 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 cludes 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 share a single current-source-code-line management tool that requires the user to stored in a database. Data-exchange inte- position. When the de- enter a brief description gration is also relevant whether or not the bugger stops at a break of project tasks. Such a two tools use the same database. point, it changes the cur- tool requires an editing Suppose you have two project-man- rent-source-code-line Achievinghigh use service to enter textual agement tools. The first is a scheduling position, which the integrationrequires task descriptions. In this 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 modulartools. tion refers to the extent to task icon has a user-defined name repre- current-source-code- which the editing tool sented as a task-type attribute in the line. Both tools need a consistentview of this 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 to it spent on project tasks. The user interface This definition is very similar to data- Use.This property answers the ques- to the second tool is a spreadsheet, with consistency integration, except it applies tion, “‘IO 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. This 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. 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- 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- Syflc/mizatimIn 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, which 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 this re- earlier example would be highly inte-

IEEE SOFTWARE 33 grated with the editing tool with respect to fracesssstep This property 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*nte@*~n. 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? their goals. A tool’s pre- responds to that event). + A processstq is a unit of work that conditions are satisfied Suppose you want to yields a result. Assessing design perfor- when other tools achieve Weshould be nlan and schedule a mod- mance is a process step. their goals. designingand building ~~c;E;;;;z;;;;~ he + A processevent is a condition that Tools are said to be arises during a process step that may result well integrated with re- toolsto take 1. the module be Y in the execution of an associated action. spect to process-step in- completely developed (for Conducting a successful compile may re- tegration if the goals they advantageofthe example, it has run sult in the scheduling of a unit test. achieve are part of a co- integrationsupport through the Unix lint tool + Aprocessconstraint restricts some as- herent decomposition of pect of the process. A constraint might be the process step and if ac- mechanismsavailable. cleylybhe module be that no person can have more than 10 pro- complishing these goals checked into the configu- cesssteps 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 this 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 scheduling tool tools that make many process assumptions tended to support 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 asessing tion chain and the debugger do not form a dicate only that something 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 this level debugging of the C++ program. CansfrairttThis property answers the processstep are the assemblerand 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 consnaint?” We identified three process-integra- environment agree on the events they There are two aspectsto 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. a Tools are said to be well integrated with U respect to constraint integration if they v make similar assumptions about the range jf of constraints they recognize and respect. f? At first glance, constraint integration a may appear to be the same as data-consis- a tency integration. However, data-consis- e tency integration is concerned with con- n straints on data values; whereas, constraint ir integration is concerned with constraints / Ji on process states and how such process constraints affect tool functioning. If pro- cess-stateinformation, such asthe status of various process steps, is modeled and man- aged in the environment’s data-manage- ment system, then the mechanisms that support data-consistency integration can also support constraint integration. Suppose a process constraint is that the same person cannot both code and test a module. In this case, if the resource-allo- cation tool that assigns a coding task to a person then prohibits the configuration- management tool from letting that person checkout the same module for testing, the resource-allocation tool is well integrated with respect to constraint integration with the configuration-management tool.

n this article, we have emphasized defi- I nitions of integration properties on re- lationships between tools rather than the specific integration-support mechanisms. The designs of integration-support mechanisms and tools do not proceed in- dependently. Integration-support mecha- nisms are not developed assuming a con- stant model of how tools are written. Similarly, tools and tool architectures must evolve to take advantage of the new generation of integration-support mech- anisms. Instead of asking how the integration- support mechanisms support tools, we should be asking how to design and build tools so they can best take advantage of the mechanisms available. Brian Nejmeh of- fers advice on how to do this.’ This article describes a model of envi- ronment frameworks that identifies tiamework services, tools that offer other services, data-management services, and so on. Some proponents of object-orientation

IEEE SOFTWARE