integrating system engineering software tools

4
Integrating System Engineering Software Tools Edward Y. Chow Hughes Aircraft Company ABSTRACT System engineering projects typically involve the use of a variety of design, analysis, simulation, and management software tools that are home-grown or commercial-off-the-shelf (COTS). Very often, these applications are hosted on dissimilar computing platforms in a network environment. An application deployed on one platform may not be easily ported to another platform, and it usually cannot be readily accessed by software on the other platform. Enhancing the inter-operation among software applications or tools will greatly increase the effectiveness of the system engineering process. The middleware technology currently being developed by the computer industry promises to provide the needed software interface for integrating tools across a heterogeneous computer network. This paper discusses the experience of applying the middleware technology to software tools used in system engineering. INTRODUCTION System engineering is a cross-functional activity that involves multiple disciplines, such as reliability, electrical engineering and mechanical engineering. Generally, each Author’s Current Address: Hughes Aircraft Company, M/S RE/R07/P539, PO Box 92426, Los Angeles, CA 90009, USA. Based on a presentation at DASC ’97. 0885-8985/98/ $10.00 0 1998 IEEE discipline makes use of different design, analysis, simulation, and management software, both COTS and home-grown. Furthermore, computing platforms of various types (e.g., Persoinal Computers running Windows NT (PC/NT), UNIX worlkstations, and Macintosh computers) are employed in a system engineering environment. Typically, ;an application deployed on one platform cannot be easily accessed by software on another platform, nor is it easily portable. In order to enhance the effectiveness of system engineering, the ability to make use of these diverse software tools in concert (i.e., tool inter-operability) is a necessity. Tool inter-operability also encourages the re-use of existing tools, hence, reduces the overall product development effort. The cross-platform tool integration technology used to achieve inter-operability should possess two practical characteristics: 1) the ability to incorporate legacy software, and 2) be based on widely accepted standards. The first characteristic is desirable because legacy software is likely to include well-tested and validated, hence, valuable tools. As it is not practical to re-train all engineers who may develop tools in the latest software technology, tools developed by engineers may continue for some time to resemble the legacy style. The ability to integrate legacy software also ensures a method of incorporating these “new” tools. In order to achieve the inter-operability among a large set of software, it is important that the integration technology is based on the most widely adopted standards. This, we hope, will lead to widespread software suplport of this technology, especially among COTS products, as well as a rich collection of training and educational materials on the subject. IEEE AES Systems Magazine, November I998 3

Upload: ey

Post on 16-Mar-2017

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Integrating system engineering software tools

Integrating System Engineering

Software Tools

Edward Y Chow Hughes Aircraft Company

ABSTRACT

System engineering projects typically involve the use of a variety of design analysis simulation and management software tools that are home-grown or commercial-off-the-shelf (COTS) Very often these applications are hosted on dissimilar computing platforms in a network environment An application deployed on one platform may not be easily ported to another platform and it usually cannot be readily accessed by software on the other platform Enhancing the inter-operation among software applications or tools will greatly increase the effectiveness of the system engineering process The middleware technology currently being developed by the computer industry promises to provide the needed software interface for integrating tools across a heterogeneous computer network This paper discusses the experience of applying the middleware technology to software tools used in system engineering

INTRODUCTION

System engineering is a cross-functional activity that involves multiple disciplines such as reliability electrical engineering and mechanical engineering Generally each

Authorrsquos Current Address Hughes Aircraft Company MS RER07P539 PO Box 92426 Los Angeles CA 90009 USA

Based on a presentation at DASC rsquo97

0885-898598 $1000 0 1998 IEEE

discipline makes use of different design analysis simulation and management software both COTS and home-grown Furthermore computing platforms of various types (eg Persoinal Computers running Windows NT (PCNT) UNIX worlkstations and Macintosh computers) are employed in a system engineering environment Typically an application deployed on one platform cannot be easily accessed by software on another platform nor is it easily portable In order to enhance the effectiveness of system engineering the ability to make use of these diverse software tools in concert (ie tool inter-operability) is a necessity Tool inter-operability also encourages the re-use of existing tools hence reduces the overall product development effort

The cross-platform tool integration technology used to achieve inter-operability should possess two practical characteristics 1) the ability to incorporate legacy software and 2) be based on widely accepted standards The first characteristic is desirable because legacy software is likely to include well-tested and validated hence valuable tools As it is not practical to re-train all engineers who may develop tools in the latest software technology tools developed by engineers may continue for some time to resemble the legacy style The ability to integrate legacy software also ensures a method of incorporating these ldquonewrdquo tools In order to achieve the inter-operability among a large set of software it is important that the integration technology is based on the most widely adopted standards This we hope will lead to widespread software suplport of this technology especially among COTS products as well as a rich collection of training and educational materials on the subject

IEEE AES Systems Magazine November I998 3

m UNIX

lsquo Legacy applications

L J

applications)

- connections being developed

Fig 1 Tool Integration Using Middleware

MIDDLEWARE

PUNT

c

CORBA objects J (applications)

OLE brokers

L

- 7 1 applications

The middleware technology currently being developed by the computer industry promises to provide the software interface with these two characteristics while enabling each piece of software to easily play the role of a ldquoserverrdquo or a ldquoclientrdquo across a heterogeneous computer network Although the middleware technology has not matured completely it holds a significant promise for system engineering In the following sections we will briefly describe the middleware employed and the preliminary results of our tool integration effort Finally we will discuss the issues related to tool integration that remain to be explored

Middleware has been described as ldquosoftware that resides in the middle between an application program and the base operating systems databases and networking functions of a computer systemrdquo [l] As such it makes all the operating system and communication details transparent to the applications developer For example it takes care of data format translation without the developerrsquos conscious effort The Object Request Broker (ORB) is a type of middleware that enables objects distributed over a network (eg client and server applications) to operate together Currently there are two widely-used standards for ORBrsquoS One is the Common Object Request Broker Architecture (CORBA) [ 2 3 ] developed by the Object Management Group (OMG) Another is the Component Object Model (COM) [45] offered by Microsoft COM was initially developed for a single platform but was recently extended to the cross-platform case as Distributed COM (DCOM) [5] The two standards CORBA and DCOM represent different approaches and their pros and cons are debated in numerous forums for example see [36] However from a userrsquos point of view a few observations are notable

1 CORBA is a standard developed by the OMG a consortium of over 500 member organizations

2 Several CORBA products (development and runtime software) are available from different vendors for a variety of platforms including UNIX and Windows 95NT systems

3 COM and DCOM are available free of charge with the Windows 95NT operating systems Several Microsoft applications such as Excel Word and Visual Basic etc already support this standard

Windows 95NT platforms 4 Currently COMDCOM are only available for the

It is clear that both CORBA and DCOM enjoy broad support For the former it is in the sense of a large number of organizations that potentially would develop CORBA products For the latter it is in the sense that there is a large installed base of Windows platforms and Microsoft already has a number of popular applications supporting its standard The fact that both UNIX workstations and Pclsquos are important elements of a system engineering environment makes the standard selection simple That is both must be accommodated Fortunately OMG has standardized on an approach to integrating CORBA with OLE automationrsquo Several members including IONA Technologies Inc and Expersoft Corporation have provided products that automate this integration For the tool integration described in this paper we have selected IONA

rsquo OLE and ActiveX may be viewed as functionalities that are based on the COM technology DCOM is the extension of COM to the distributed environment Unfortunately Microsoft has been the main source of the confusion among these terms [ 5 ] In the open literature OLE objects COM objects and ActiveX components often refer to similar entities

4 IEEE AES Systems Magazine November 1998

Technologiesrsquo Orbix [7] (for UNIX) and Orbix Desktop (for Windows 95NT with support for the CORBA-OLE integration) [SI

Before we proceed to describe our integration example it is worthwhile to discuss briefly an alternative to both CORBA and DCOM This is the Java technology that has taken the software industry by storm in the past two years It has the appeal of ldquowrite-once run anywhererdquo and it would work very well with the World Wide Web Java in conjunction with the recently released Remote Method Invocation (RMI) could be a ldquo100 pure Javardquo candidate framework for distributed computing Unfortunately RMI was not mature enough so that the Java alternative would still rely on CORBA See [9] for a discussion of the roles of CORBA and Java in distributed computing The Java alternative was not adopted here pending further advances in the technology

TOOL INTEGRATION

Analysis and requirements management are two important tasks of system engineering In this study we have chosen to integrate tools used for these tasks Specifically we are interested in connecting analysis applications that are developed and deployed for UNIX and PC platforms Furthermore we would like to link analysis to a requirements management system eg we would like to automate the capture of requirement parameters generated by analysis applications into the requirements database The applications involved are home-grown analysis tools for the UNIX workstation Microsoft Excel for the PC and DOORS2 [lo] a requirements management application developed by Quality Systems and Software Inc (QSS) The UNIX tools are of the legacy variety Excel is only COM compliant and DOORS is advertised to support OLE automation IONA Technologiesrsquo Orbix product is used to provide the connection across platforms (via CORBA) and the bridge between CORBA and COM The tool integration project is depicted in Figure 1 on previous page The heavy lines denote the connections being developed A CORBA wrapper can be viewed as a software layer that provides a CORBA compliant interface to a legacy application An OLE broker is a program that in effect translates an interface between the CORBA and COM standards (OLE applications denote applications that support OLE automation) Both the wrappers and the brokers can be constructed using the Orbix development software (in conjunction with a C+ + compiler on the UNIX platform or Microsoft Visual C+ + and Visual Basic on the PC) in a straightforward manner

CORBA wrappers and OLE brokers were developed for home-grown legacy UNIX applications Microsoft Excel and other PC programs They proved to

DOORS stands for Dynamic Object Oriented Requirements System

be effective in providing the connection between the UNIX tools and Excel across the network With these wrappers and brokers UNIX tools can easily invoke an Excel model pass it the required inputs and receive the analysis results In the reverse direction PC programs can call legacy UNIX applications across the network No software porting was invlolved The only code development required was for the wrappers and brokers which are much simpler than a code porting effort

effort First the relative ease in connecting applications across dissimilar platforrns will facilitate software re-use Second tool inter-operability is feasible in a heterogeneous environment one that consists of dissimilar platforms and a range of diverse software sophistication (eg from legacy to modern programming styles) This has an important practical consequence In carrying out their tasks engineers often develop software tools to aid their design and analysis These tools are typically developed using the available resources computer systems and software that are most familiar to the engineers The use of middleware for tool integration eliminates the urgency in training engineers in a specific software technology which is likelly to be unfamiliar to them because their expertise lies in mechanical engineering and electrical engineering and not in software engineering As a result productivity of engineers can be maintained while the added benefits of intier-operable tools are realized In many cases these benefits can out-weigh the relative inefficiency of this tool clonnection approach when compared to ldquotightrdquo integration An example of a tighter tool integration in our case would be the porting of the Excel models to C+ + code for the UNIX platform the network communication is eliminated and the C+ + code can be optimized to execute more rapidly than the Excel models

applications and Excel the integration with the released version (31) of DOORS was less encouraging The most serious difficulty stems from the lack of support of parameter passing with DOORS acting as an OLE automation server Due to this limitation it is not possible to automate the capture of analysis results into DOORSrsquo database or the extraction of requirements parameters from the database via the COM standard However the beta release of the new version (40) provides a string property that can be accessed by a client application With this string other data types ie integer and real can be effectively passed between DOORS and its clients But this approach is rather inefficient since the data needs to be encoded and decoded during every exchange Our experience brings out a very important point - inter-operability among COTS applications relies heavily on their support of common connection standards (ie CORBA or COMDCOM) and the effectiveness of the inter-operation depends on the functionality provided through the connection standard

This result is significant for our tool integration

While we had success in connecting our legacy

IEEEAES Systems Magazine November I998 5

DISCUSSION

Although our effort in system engineering tool integration is preliminary the experience we gained is very positive It is evident that the use of ORBrsquos holds significant promise for achieving inter-operability among home-grown and COTS applications However many issues remain to be examined and resolved before tool inter-operability becomes a widespread reality The issues can be grouped into two categories those relevant to the development of ORBrsquos and COTS applications and those related to the deployment of this software in the engineering community Some examples are discussed briefly below

Development Issues In addition to the basic ORB functionality the

OMG also defined numerous services to be made available with the ORB [23] eg the naming and security services A naming service allows an object connected to the ORB to locate other available objects (applications or tools) This is especially useful when the number of objects that can be connected are distributed over a large network The security service is also important particularly in a large organization where object access control and data integrity management can be quite complex Not all of these services are implemented in currently available CORBA products It is important that (CORBA) ORB vendors continue to commit to providing these services in a timely manner At the same time it is also crucial for COTS application developers to support the ORB standards (CORBA or COMDCOM) and provide access to their Application Programming Interfaces (MIrsquoS) through these ORB standards

Deployment Issues A successful deployment of the middleware

technology for tool integration requires careful planning Example issues to be considered include the type of ORB services to be implemented load distribution object configuration management and licensing cost Among the services specified to be provided by the ORBrsquos it is likely that only a properly chosen subset will deliver the most cost effective ORB for each situation As objects (tools) become available they raise the issue of load balancing among compatible platforms A simple aspect of the question here is Should an object be hosted on the developerrsquos platform or should it be hosted on a special ldquoserverrdquo platform The former alternative tends to distribute the computing load whereas the latter tends to concentrate it A specific solution possibly a combination of the above possibilities designed to deliver a certain cost-performance compromise is likely required for each engineering environment As objects are developed and updated a configuration management policy and accompanying method is clearly required

Lastly the cost of deploying the technology also deserves careful consideration The most obvious cost component is licensing In a system engineering community it is possible for many engineers to be tool developers some of the time That is in the natural course of solving problems tools are developed There are few dedicated tool-smiths Currently CORBA development license costs are typically on the order of thousands of dollars At this price it is cost prohibitive to assign each engineer a license A practical compromise based on an efficient procedure of sharing licenses or perhaps a modification of the licensing fee structure is needed

applying middleware technology to integrate software tools used for system engineering Several issues related to the application of this technology are also discussed Many more issues and challenges are likely to be uncovered as we continue to deploy this technology Cooperation among ORB vendors COTS application developers and the end users (engineering community) is necessary to overcome these challenges in reaching practical and affordable solutions

REFERENCES

In summary this paper reports our experience in

[l] Doug Goddard May 1996

Data Based Advisor How Middleware Can Help Your Enterprise

[2] CORBA 20 IIOP Specifcation July 1996 The Object Management Group (OMG)

available online at httpwwwomgorgcorbacorbaiiophtm [3] Robert Orfali Dan Harkey and Jeri Edwards 1996

The Essential Distributed Objects Survival Guide Wiley New York

[4] The Component Object Model Specification Draft Version 09

available online at httpwwvmicrosoftcom oledevolecomtitle htm

Understanding ActiveXand OLE

Microsoft Corporation October 24 1995

[5] David Chappell 1996

Microsoft Press

[6] Mark Roy and Alan Ewald October 1996 Choosing between CORBA and DCOM

Distributed Objects

IONA Technologies Inc [7] The Orbin Architecture November 1996

available online at httpwwwionacomProducts OrbixArchitectureindex html

[8] Orbinfor Wndows IONA Technologies Inc

available online at httplwwwionacomProducts OrbixWindowsWhitePaper html

[9] Kurt Wallnau Nelson Weiderman and Linda Northrop June 1997

Distributed Object Technology with CORBA and Java Key Concepts and Implications

Software Engineering Institute Technical Report CMUSEI-97-TR-004 Carnegie Mellon University

[lo] Introduction to DOORS Quality Systems and Software Inc available online at httpwwwqssinccomDOORSoverviewhtml

6 IEEE AES Systems Magazine November 1998

Page 2: Integrating system engineering software tools

m UNIX

lsquo Legacy applications

L J

applications)

- connections being developed

Fig 1 Tool Integration Using Middleware

MIDDLEWARE

PUNT

c

CORBA objects J (applications)

OLE brokers

L

- 7 1 applications

The middleware technology currently being developed by the computer industry promises to provide the software interface with these two characteristics while enabling each piece of software to easily play the role of a ldquoserverrdquo or a ldquoclientrdquo across a heterogeneous computer network Although the middleware technology has not matured completely it holds a significant promise for system engineering In the following sections we will briefly describe the middleware employed and the preliminary results of our tool integration effort Finally we will discuss the issues related to tool integration that remain to be explored

Middleware has been described as ldquosoftware that resides in the middle between an application program and the base operating systems databases and networking functions of a computer systemrdquo [l] As such it makes all the operating system and communication details transparent to the applications developer For example it takes care of data format translation without the developerrsquos conscious effort The Object Request Broker (ORB) is a type of middleware that enables objects distributed over a network (eg client and server applications) to operate together Currently there are two widely-used standards for ORBrsquoS One is the Common Object Request Broker Architecture (CORBA) [ 2 3 ] developed by the Object Management Group (OMG) Another is the Component Object Model (COM) [45] offered by Microsoft COM was initially developed for a single platform but was recently extended to the cross-platform case as Distributed COM (DCOM) [5] The two standards CORBA and DCOM represent different approaches and their pros and cons are debated in numerous forums for example see [36] However from a userrsquos point of view a few observations are notable

1 CORBA is a standard developed by the OMG a consortium of over 500 member organizations

2 Several CORBA products (development and runtime software) are available from different vendors for a variety of platforms including UNIX and Windows 95NT systems

3 COM and DCOM are available free of charge with the Windows 95NT operating systems Several Microsoft applications such as Excel Word and Visual Basic etc already support this standard

Windows 95NT platforms 4 Currently COMDCOM are only available for the

It is clear that both CORBA and DCOM enjoy broad support For the former it is in the sense of a large number of organizations that potentially would develop CORBA products For the latter it is in the sense that there is a large installed base of Windows platforms and Microsoft already has a number of popular applications supporting its standard The fact that both UNIX workstations and Pclsquos are important elements of a system engineering environment makes the standard selection simple That is both must be accommodated Fortunately OMG has standardized on an approach to integrating CORBA with OLE automationrsquo Several members including IONA Technologies Inc and Expersoft Corporation have provided products that automate this integration For the tool integration described in this paper we have selected IONA

rsquo OLE and ActiveX may be viewed as functionalities that are based on the COM technology DCOM is the extension of COM to the distributed environment Unfortunately Microsoft has been the main source of the confusion among these terms [ 5 ] In the open literature OLE objects COM objects and ActiveX components often refer to similar entities

4 IEEE AES Systems Magazine November 1998

Technologiesrsquo Orbix [7] (for UNIX) and Orbix Desktop (for Windows 95NT with support for the CORBA-OLE integration) [SI

Before we proceed to describe our integration example it is worthwhile to discuss briefly an alternative to both CORBA and DCOM This is the Java technology that has taken the software industry by storm in the past two years It has the appeal of ldquowrite-once run anywhererdquo and it would work very well with the World Wide Web Java in conjunction with the recently released Remote Method Invocation (RMI) could be a ldquo100 pure Javardquo candidate framework for distributed computing Unfortunately RMI was not mature enough so that the Java alternative would still rely on CORBA See [9] for a discussion of the roles of CORBA and Java in distributed computing The Java alternative was not adopted here pending further advances in the technology

TOOL INTEGRATION

Analysis and requirements management are two important tasks of system engineering In this study we have chosen to integrate tools used for these tasks Specifically we are interested in connecting analysis applications that are developed and deployed for UNIX and PC platforms Furthermore we would like to link analysis to a requirements management system eg we would like to automate the capture of requirement parameters generated by analysis applications into the requirements database The applications involved are home-grown analysis tools for the UNIX workstation Microsoft Excel for the PC and DOORS2 [lo] a requirements management application developed by Quality Systems and Software Inc (QSS) The UNIX tools are of the legacy variety Excel is only COM compliant and DOORS is advertised to support OLE automation IONA Technologiesrsquo Orbix product is used to provide the connection across platforms (via CORBA) and the bridge between CORBA and COM The tool integration project is depicted in Figure 1 on previous page The heavy lines denote the connections being developed A CORBA wrapper can be viewed as a software layer that provides a CORBA compliant interface to a legacy application An OLE broker is a program that in effect translates an interface between the CORBA and COM standards (OLE applications denote applications that support OLE automation) Both the wrappers and the brokers can be constructed using the Orbix development software (in conjunction with a C+ + compiler on the UNIX platform or Microsoft Visual C+ + and Visual Basic on the PC) in a straightforward manner

CORBA wrappers and OLE brokers were developed for home-grown legacy UNIX applications Microsoft Excel and other PC programs They proved to

DOORS stands for Dynamic Object Oriented Requirements System

be effective in providing the connection between the UNIX tools and Excel across the network With these wrappers and brokers UNIX tools can easily invoke an Excel model pass it the required inputs and receive the analysis results In the reverse direction PC programs can call legacy UNIX applications across the network No software porting was invlolved The only code development required was for the wrappers and brokers which are much simpler than a code porting effort

effort First the relative ease in connecting applications across dissimilar platforrns will facilitate software re-use Second tool inter-operability is feasible in a heterogeneous environment one that consists of dissimilar platforms and a range of diverse software sophistication (eg from legacy to modern programming styles) This has an important practical consequence In carrying out their tasks engineers often develop software tools to aid their design and analysis These tools are typically developed using the available resources computer systems and software that are most familiar to the engineers The use of middleware for tool integration eliminates the urgency in training engineers in a specific software technology which is likelly to be unfamiliar to them because their expertise lies in mechanical engineering and electrical engineering and not in software engineering As a result productivity of engineers can be maintained while the added benefits of intier-operable tools are realized In many cases these benefits can out-weigh the relative inefficiency of this tool clonnection approach when compared to ldquotightrdquo integration An example of a tighter tool integration in our case would be the porting of the Excel models to C+ + code for the UNIX platform the network communication is eliminated and the C+ + code can be optimized to execute more rapidly than the Excel models

applications and Excel the integration with the released version (31) of DOORS was less encouraging The most serious difficulty stems from the lack of support of parameter passing with DOORS acting as an OLE automation server Due to this limitation it is not possible to automate the capture of analysis results into DOORSrsquo database or the extraction of requirements parameters from the database via the COM standard However the beta release of the new version (40) provides a string property that can be accessed by a client application With this string other data types ie integer and real can be effectively passed between DOORS and its clients But this approach is rather inefficient since the data needs to be encoded and decoded during every exchange Our experience brings out a very important point - inter-operability among COTS applications relies heavily on their support of common connection standards (ie CORBA or COMDCOM) and the effectiveness of the inter-operation depends on the functionality provided through the connection standard

This result is significant for our tool integration

While we had success in connecting our legacy

IEEEAES Systems Magazine November I998 5

DISCUSSION

Although our effort in system engineering tool integration is preliminary the experience we gained is very positive It is evident that the use of ORBrsquos holds significant promise for achieving inter-operability among home-grown and COTS applications However many issues remain to be examined and resolved before tool inter-operability becomes a widespread reality The issues can be grouped into two categories those relevant to the development of ORBrsquos and COTS applications and those related to the deployment of this software in the engineering community Some examples are discussed briefly below

Development Issues In addition to the basic ORB functionality the

OMG also defined numerous services to be made available with the ORB [23] eg the naming and security services A naming service allows an object connected to the ORB to locate other available objects (applications or tools) This is especially useful when the number of objects that can be connected are distributed over a large network The security service is also important particularly in a large organization where object access control and data integrity management can be quite complex Not all of these services are implemented in currently available CORBA products It is important that (CORBA) ORB vendors continue to commit to providing these services in a timely manner At the same time it is also crucial for COTS application developers to support the ORB standards (CORBA or COMDCOM) and provide access to their Application Programming Interfaces (MIrsquoS) through these ORB standards

Deployment Issues A successful deployment of the middleware

technology for tool integration requires careful planning Example issues to be considered include the type of ORB services to be implemented load distribution object configuration management and licensing cost Among the services specified to be provided by the ORBrsquos it is likely that only a properly chosen subset will deliver the most cost effective ORB for each situation As objects (tools) become available they raise the issue of load balancing among compatible platforms A simple aspect of the question here is Should an object be hosted on the developerrsquos platform or should it be hosted on a special ldquoserverrdquo platform The former alternative tends to distribute the computing load whereas the latter tends to concentrate it A specific solution possibly a combination of the above possibilities designed to deliver a certain cost-performance compromise is likely required for each engineering environment As objects are developed and updated a configuration management policy and accompanying method is clearly required

Lastly the cost of deploying the technology also deserves careful consideration The most obvious cost component is licensing In a system engineering community it is possible for many engineers to be tool developers some of the time That is in the natural course of solving problems tools are developed There are few dedicated tool-smiths Currently CORBA development license costs are typically on the order of thousands of dollars At this price it is cost prohibitive to assign each engineer a license A practical compromise based on an efficient procedure of sharing licenses or perhaps a modification of the licensing fee structure is needed

applying middleware technology to integrate software tools used for system engineering Several issues related to the application of this technology are also discussed Many more issues and challenges are likely to be uncovered as we continue to deploy this technology Cooperation among ORB vendors COTS application developers and the end users (engineering community) is necessary to overcome these challenges in reaching practical and affordable solutions

REFERENCES

In summary this paper reports our experience in

[l] Doug Goddard May 1996

Data Based Advisor How Middleware Can Help Your Enterprise

[2] CORBA 20 IIOP Specifcation July 1996 The Object Management Group (OMG)

available online at httpwwwomgorgcorbacorbaiiophtm [3] Robert Orfali Dan Harkey and Jeri Edwards 1996

The Essential Distributed Objects Survival Guide Wiley New York

[4] The Component Object Model Specification Draft Version 09

available online at httpwwvmicrosoftcom oledevolecomtitle htm

Understanding ActiveXand OLE

Microsoft Corporation October 24 1995

[5] David Chappell 1996

Microsoft Press

[6] Mark Roy and Alan Ewald October 1996 Choosing between CORBA and DCOM

Distributed Objects

IONA Technologies Inc [7] The Orbin Architecture November 1996

available online at httpwwwionacomProducts OrbixArchitectureindex html

[8] Orbinfor Wndows IONA Technologies Inc

available online at httplwwwionacomProducts OrbixWindowsWhitePaper html

[9] Kurt Wallnau Nelson Weiderman and Linda Northrop June 1997

Distributed Object Technology with CORBA and Java Key Concepts and Implications

Software Engineering Institute Technical Report CMUSEI-97-TR-004 Carnegie Mellon University

[lo] Introduction to DOORS Quality Systems and Software Inc available online at httpwwwqssinccomDOORSoverviewhtml

6 IEEE AES Systems Magazine November 1998

Page 3: Integrating system engineering software tools

Technologiesrsquo Orbix [7] (for UNIX) and Orbix Desktop (for Windows 95NT with support for the CORBA-OLE integration) [SI

Before we proceed to describe our integration example it is worthwhile to discuss briefly an alternative to both CORBA and DCOM This is the Java technology that has taken the software industry by storm in the past two years It has the appeal of ldquowrite-once run anywhererdquo and it would work very well with the World Wide Web Java in conjunction with the recently released Remote Method Invocation (RMI) could be a ldquo100 pure Javardquo candidate framework for distributed computing Unfortunately RMI was not mature enough so that the Java alternative would still rely on CORBA See [9] for a discussion of the roles of CORBA and Java in distributed computing The Java alternative was not adopted here pending further advances in the technology

TOOL INTEGRATION

Analysis and requirements management are two important tasks of system engineering In this study we have chosen to integrate tools used for these tasks Specifically we are interested in connecting analysis applications that are developed and deployed for UNIX and PC platforms Furthermore we would like to link analysis to a requirements management system eg we would like to automate the capture of requirement parameters generated by analysis applications into the requirements database The applications involved are home-grown analysis tools for the UNIX workstation Microsoft Excel for the PC and DOORS2 [lo] a requirements management application developed by Quality Systems and Software Inc (QSS) The UNIX tools are of the legacy variety Excel is only COM compliant and DOORS is advertised to support OLE automation IONA Technologiesrsquo Orbix product is used to provide the connection across platforms (via CORBA) and the bridge between CORBA and COM The tool integration project is depicted in Figure 1 on previous page The heavy lines denote the connections being developed A CORBA wrapper can be viewed as a software layer that provides a CORBA compliant interface to a legacy application An OLE broker is a program that in effect translates an interface between the CORBA and COM standards (OLE applications denote applications that support OLE automation) Both the wrappers and the brokers can be constructed using the Orbix development software (in conjunction with a C+ + compiler on the UNIX platform or Microsoft Visual C+ + and Visual Basic on the PC) in a straightforward manner

CORBA wrappers and OLE brokers were developed for home-grown legacy UNIX applications Microsoft Excel and other PC programs They proved to

DOORS stands for Dynamic Object Oriented Requirements System

be effective in providing the connection between the UNIX tools and Excel across the network With these wrappers and brokers UNIX tools can easily invoke an Excel model pass it the required inputs and receive the analysis results In the reverse direction PC programs can call legacy UNIX applications across the network No software porting was invlolved The only code development required was for the wrappers and brokers which are much simpler than a code porting effort

effort First the relative ease in connecting applications across dissimilar platforrns will facilitate software re-use Second tool inter-operability is feasible in a heterogeneous environment one that consists of dissimilar platforms and a range of diverse software sophistication (eg from legacy to modern programming styles) This has an important practical consequence In carrying out their tasks engineers often develop software tools to aid their design and analysis These tools are typically developed using the available resources computer systems and software that are most familiar to the engineers The use of middleware for tool integration eliminates the urgency in training engineers in a specific software technology which is likelly to be unfamiliar to them because their expertise lies in mechanical engineering and electrical engineering and not in software engineering As a result productivity of engineers can be maintained while the added benefits of intier-operable tools are realized In many cases these benefits can out-weigh the relative inefficiency of this tool clonnection approach when compared to ldquotightrdquo integration An example of a tighter tool integration in our case would be the porting of the Excel models to C+ + code for the UNIX platform the network communication is eliminated and the C+ + code can be optimized to execute more rapidly than the Excel models

applications and Excel the integration with the released version (31) of DOORS was less encouraging The most serious difficulty stems from the lack of support of parameter passing with DOORS acting as an OLE automation server Due to this limitation it is not possible to automate the capture of analysis results into DOORSrsquo database or the extraction of requirements parameters from the database via the COM standard However the beta release of the new version (40) provides a string property that can be accessed by a client application With this string other data types ie integer and real can be effectively passed between DOORS and its clients But this approach is rather inefficient since the data needs to be encoded and decoded during every exchange Our experience brings out a very important point - inter-operability among COTS applications relies heavily on their support of common connection standards (ie CORBA or COMDCOM) and the effectiveness of the inter-operation depends on the functionality provided through the connection standard

This result is significant for our tool integration

While we had success in connecting our legacy

IEEEAES Systems Magazine November I998 5

DISCUSSION

Although our effort in system engineering tool integration is preliminary the experience we gained is very positive It is evident that the use of ORBrsquos holds significant promise for achieving inter-operability among home-grown and COTS applications However many issues remain to be examined and resolved before tool inter-operability becomes a widespread reality The issues can be grouped into two categories those relevant to the development of ORBrsquos and COTS applications and those related to the deployment of this software in the engineering community Some examples are discussed briefly below

Development Issues In addition to the basic ORB functionality the

OMG also defined numerous services to be made available with the ORB [23] eg the naming and security services A naming service allows an object connected to the ORB to locate other available objects (applications or tools) This is especially useful when the number of objects that can be connected are distributed over a large network The security service is also important particularly in a large organization where object access control and data integrity management can be quite complex Not all of these services are implemented in currently available CORBA products It is important that (CORBA) ORB vendors continue to commit to providing these services in a timely manner At the same time it is also crucial for COTS application developers to support the ORB standards (CORBA or COMDCOM) and provide access to their Application Programming Interfaces (MIrsquoS) through these ORB standards

Deployment Issues A successful deployment of the middleware

technology for tool integration requires careful planning Example issues to be considered include the type of ORB services to be implemented load distribution object configuration management and licensing cost Among the services specified to be provided by the ORBrsquos it is likely that only a properly chosen subset will deliver the most cost effective ORB for each situation As objects (tools) become available they raise the issue of load balancing among compatible platforms A simple aspect of the question here is Should an object be hosted on the developerrsquos platform or should it be hosted on a special ldquoserverrdquo platform The former alternative tends to distribute the computing load whereas the latter tends to concentrate it A specific solution possibly a combination of the above possibilities designed to deliver a certain cost-performance compromise is likely required for each engineering environment As objects are developed and updated a configuration management policy and accompanying method is clearly required

Lastly the cost of deploying the technology also deserves careful consideration The most obvious cost component is licensing In a system engineering community it is possible for many engineers to be tool developers some of the time That is in the natural course of solving problems tools are developed There are few dedicated tool-smiths Currently CORBA development license costs are typically on the order of thousands of dollars At this price it is cost prohibitive to assign each engineer a license A practical compromise based on an efficient procedure of sharing licenses or perhaps a modification of the licensing fee structure is needed

applying middleware technology to integrate software tools used for system engineering Several issues related to the application of this technology are also discussed Many more issues and challenges are likely to be uncovered as we continue to deploy this technology Cooperation among ORB vendors COTS application developers and the end users (engineering community) is necessary to overcome these challenges in reaching practical and affordable solutions

REFERENCES

In summary this paper reports our experience in

[l] Doug Goddard May 1996

Data Based Advisor How Middleware Can Help Your Enterprise

[2] CORBA 20 IIOP Specifcation July 1996 The Object Management Group (OMG)

available online at httpwwwomgorgcorbacorbaiiophtm [3] Robert Orfali Dan Harkey and Jeri Edwards 1996

The Essential Distributed Objects Survival Guide Wiley New York

[4] The Component Object Model Specification Draft Version 09

available online at httpwwvmicrosoftcom oledevolecomtitle htm

Understanding ActiveXand OLE

Microsoft Corporation October 24 1995

[5] David Chappell 1996

Microsoft Press

[6] Mark Roy and Alan Ewald October 1996 Choosing between CORBA and DCOM

Distributed Objects

IONA Technologies Inc [7] The Orbin Architecture November 1996

available online at httpwwwionacomProducts OrbixArchitectureindex html

[8] Orbinfor Wndows IONA Technologies Inc

available online at httplwwwionacomProducts OrbixWindowsWhitePaper html

[9] Kurt Wallnau Nelson Weiderman and Linda Northrop June 1997

Distributed Object Technology with CORBA and Java Key Concepts and Implications

Software Engineering Institute Technical Report CMUSEI-97-TR-004 Carnegie Mellon University

[lo] Introduction to DOORS Quality Systems and Software Inc available online at httpwwwqssinccomDOORSoverviewhtml

6 IEEE AES Systems Magazine November 1998

Page 4: Integrating system engineering software tools

DISCUSSION

Although our effort in system engineering tool integration is preliminary the experience we gained is very positive It is evident that the use of ORBrsquos holds significant promise for achieving inter-operability among home-grown and COTS applications However many issues remain to be examined and resolved before tool inter-operability becomes a widespread reality The issues can be grouped into two categories those relevant to the development of ORBrsquos and COTS applications and those related to the deployment of this software in the engineering community Some examples are discussed briefly below

Development Issues In addition to the basic ORB functionality the

OMG also defined numerous services to be made available with the ORB [23] eg the naming and security services A naming service allows an object connected to the ORB to locate other available objects (applications or tools) This is especially useful when the number of objects that can be connected are distributed over a large network The security service is also important particularly in a large organization where object access control and data integrity management can be quite complex Not all of these services are implemented in currently available CORBA products It is important that (CORBA) ORB vendors continue to commit to providing these services in a timely manner At the same time it is also crucial for COTS application developers to support the ORB standards (CORBA or COMDCOM) and provide access to their Application Programming Interfaces (MIrsquoS) through these ORB standards

Deployment Issues A successful deployment of the middleware

technology for tool integration requires careful planning Example issues to be considered include the type of ORB services to be implemented load distribution object configuration management and licensing cost Among the services specified to be provided by the ORBrsquos it is likely that only a properly chosen subset will deliver the most cost effective ORB for each situation As objects (tools) become available they raise the issue of load balancing among compatible platforms A simple aspect of the question here is Should an object be hosted on the developerrsquos platform or should it be hosted on a special ldquoserverrdquo platform The former alternative tends to distribute the computing load whereas the latter tends to concentrate it A specific solution possibly a combination of the above possibilities designed to deliver a certain cost-performance compromise is likely required for each engineering environment As objects are developed and updated a configuration management policy and accompanying method is clearly required

Lastly the cost of deploying the technology also deserves careful consideration The most obvious cost component is licensing In a system engineering community it is possible for many engineers to be tool developers some of the time That is in the natural course of solving problems tools are developed There are few dedicated tool-smiths Currently CORBA development license costs are typically on the order of thousands of dollars At this price it is cost prohibitive to assign each engineer a license A practical compromise based on an efficient procedure of sharing licenses or perhaps a modification of the licensing fee structure is needed

applying middleware technology to integrate software tools used for system engineering Several issues related to the application of this technology are also discussed Many more issues and challenges are likely to be uncovered as we continue to deploy this technology Cooperation among ORB vendors COTS application developers and the end users (engineering community) is necessary to overcome these challenges in reaching practical and affordable solutions

REFERENCES

In summary this paper reports our experience in

[l] Doug Goddard May 1996

Data Based Advisor How Middleware Can Help Your Enterprise

[2] CORBA 20 IIOP Specifcation July 1996 The Object Management Group (OMG)

available online at httpwwwomgorgcorbacorbaiiophtm [3] Robert Orfali Dan Harkey and Jeri Edwards 1996

The Essential Distributed Objects Survival Guide Wiley New York

[4] The Component Object Model Specification Draft Version 09

available online at httpwwvmicrosoftcom oledevolecomtitle htm

Understanding ActiveXand OLE

Microsoft Corporation October 24 1995

[5] David Chappell 1996

Microsoft Press

[6] Mark Roy and Alan Ewald October 1996 Choosing between CORBA and DCOM

Distributed Objects

IONA Technologies Inc [7] The Orbin Architecture November 1996

available online at httpwwwionacomProducts OrbixArchitectureindex html

[8] Orbinfor Wndows IONA Technologies Inc

available online at httplwwwionacomProducts OrbixWindowsWhitePaper html

[9] Kurt Wallnau Nelson Weiderman and Linda Northrop June 1997

Distributed Object Technology with CORBA and Java Key Concepts and Implications

Software Engineering Institute Technical Report CMUSEI-97-TR-004 Carnegie Mellon University

[lo] Introduction to DOORS Quality Systems and Software Inc available online at httpwwwqssinccomDOORSoverviewhtml

6 IEEE AES Systems Magazine November 1998