The Unification of Reuse, Opens Systems and Concurrent Engineering Concepts in an Architecture Framework

Marilyn T. Gaska

Lockheed Martin Federal Systems-Owego
1801 State Route 17C
Owego, NY 13827
Tel: (607) 751-4156
Email: Marilyn.Gaska@lmco.com

Abstract:

The position of this paper is that initiatives in different research communities are being unified in practice. These unified design methods can be considered to be appropriate for application across any discipline. Observations of convergence in several design and architecture principles are described in this paper. Previous publications and position papers by this author compared the similarities of the open systems environment (OSE) and COTS integration research areas to those of the horizontal reuse research [1]; applied reuse concepts to concurrent engineering CCD) [2]; and identified reuse lessons learned from architecture and building systems integration [3]. Reuse lessons learned from Commercial Off The Shelf (COTS) software integration have also been described [4]. In addition, parallels between the concurrent engineering and open systems have also been made [5]. However, no single paper has discussed the interrelationships of all of these concepts nor followed up on the fruition of some of these earlier observations in current trends in computer-based systems. Comparisons are made with the evolution of the Joint Technical Architecture (JTA) and Defense Information Infrastructure (DII) Common Operating Environment (COE) as examples of initiatives that blend open systems, reuse, architecture and COTS to enable concurrent tactical operations. The parallel between concurrent engineering and Joint Services planning is another example of cross-discipline concept sharing consistent with generic systems design [6].

Keywords: Reuse, Architecture, Computer-Based Systems, Generic Design, COTS, Concurrent Engineering, Open Systems Environment (OSE)

Workshop Goals: To learn additional concepts and technology for transfer to industrial environment; to share current research efforts in design patterns across disciplines (Ph.D. Dissertation topic in Systems Science at Binghamton University).

Working Groups: Domain Engineering Helps Manage Change - Hype, Myth, Wishful Thinking, or Reality?; Reuse and Product Lines; Object Technology, Architectures, and Domain Analysis: What's the Connection? Is there a connection?

Background

Since February 1993, the author has held the position of Reuse Coordinator at Lockheed Martin Federal Systems (LMFS) in Owego, New York, where she also served as the local arrangements chair for WISR6 held in Owego in November, 1993. She has also coordinated cross-division reuse activities as an affiliate member of the Lockheed Martin Software and Systems Resource Center. As a member of the Advanced Technology Department at LMFS-Owego, she also has been the Principal Investigator for Open Systems Independent Research and Development (IRAD) tasks, including a task on Object Oriented Frameworks and Domain Specific Software Architectures (DSSA) for Management Information Systems (MIS), and a DII Functional Application Architecture task. She was also a key member of the Army Sustaining Base Information Services (SBIS) proposal and initial systems engineering team responsible for open systems profiles. Other past experiences include participation in a CE quality improvement team. Previous papers have focused on the commonalities among problems and application of solutions in the reuse, CE and open systems research areas [5, 1, 2]. This analysis has broadened to comparisons with approaches in areas outside of computer-based systems as part of the authors research interest in design [6]. Reuse is one of the design attributes included in this analysis.

Position

HO: Initiatives in several research communities are becoming unified in practice.

Reuse, open systems, and CE are three concepts from different research from different research communities that have common principles and objectives. All three can be considered design/team attributes that impact the architecture of a development environment and the target computer-based system. Many of the commonalities noted in previous papers by the author are beginning to be realized and unified in practice. The unification of these design concepts can be considered to be appropriate for application across any discipline.

Unification of Concepts from Research Communities

Goals of an open system include interoperability, portability and scalability of computerized applications across networks of heterogeneous hardware and software. A profile is a suite of base standards and other specifications selected to provide application programming interfaces (API), data formats, and protocols that support required functionality and services [7]. Open systems concepts have been compared in more detail to horizontal reuse [1]. The use of interface standards for the horizontal domain software constrains the design of the system and the selection of COTS software. APIs also can be considered patterns of functionality using concepts currently popular in the object community. Open systems principles can also be applied to an enabling infrastructure for concurrent engineering [5].

CE involves a multidisciplinary team of people working together. Rapid prototyping to get the requirements better defined is an important aspect of concurrent engineering. This is also a key component of Joint Application Development (JAD) sessions for computer-based system development. Evolution of a common information model for the CE team's problem domain is similar to large scale reuse objectives in systems development [6]. While initial CE efforts focused on product, process and organization models and views, this list has expanded to include facilities.

The push for the selection of COTS products to implement a common infrastructure and the support application services is a form of black box reuse, where components are procured external to an organization rather than obtained from prior internal development in this scenario. Open systems is a form of both horizontal and COTS reuse. All of the components now advertised on the WWW become a virtual reuse library. Reuse lessons can be learned from both COTS selection and integration areas [4].

In general, architectures provide for harmonization and coherence among the components, and architecture style compliance is a key criteria/requirement in selection of COTS applications to implement a system. Open systems are founded on architectural principles. There are several common architectural styles in client/server computing, as well as communications options for distributed computing and objects. Computer-based systems research has drawn on building architecture principles [3]. Patterns, object-oriented frameworks and large scale reuse also involves the principle of domain specific software architectures.

Framework for Cross Discipline Application

Similarities in objectives among various research communities call for increased collaboration and synergy. Concepts of collaboration, planning and scheduling, workflow, common data/object representations and models, interoperability, frameworks, and reuse are found in the agenda of concurrent engineering conferences such as Concurrent Engineering, Research and Applications (CERA); but many are also found in open systems, reuse and architecture forums. These system level principles and objectives apply to many disciplines that involve management of human team activities. This includes engineering, business, and operations.

Creating a flexible and adaptable environment where many can work in parallel or jointly is an objective of commercial and Department of Defense (DoD) design, manufacturing, and operations. Description of a reusable design framework that incorporates these concepts may apply to design of systems, products, processes or services. In addition, examples of reusable component-based design can be drawn from a number of disciplines. Many of these principles have been incorporated in the approach component-based software engineering as well [8].

Comparisons

Many of the commonalities noted in previous papers are beginning to be realized and unified in practice in initiatives such as the DoD Joint Technical Architecture (JTA) and the Defense Information Infrastructure (DII) plans in the DoD. An overview of work with the JTA and DII shows in practice how these concepts from reuse, open systems, concurrent engineering and architecture are merging.

A key objective of the JTA to provide computer-based systems that support interoperability among the services to enable joint operations. Facilitation of workflow in support services by providing an infrastructure of interoperable systems is key. The JTA provides the ``building codes'' that permit the flow of information in support of the Warfighter when implemented. ``The Warfighter battlespace is complex and dynamic, requiring timely and clear decisions by all levels of military command. Warfighters must be able to work together within and across Services in ways not totally defined in today's operational concepts and/or architectures.'' [9]

The DII COE concept is best described as an architecture that is fully compliant with the DoD Technical Architecture Framework for Information Management (TAFIM, Volumes 2 and 3). The TAFIM is an approach for building interoperable systems, a collection of reusable software components, a software infrastructure for supporting mission area applications, and a set of guidelines and standards. The guidelines and standards specify how to reuse existing software and how to properly build new software so that integration is seamless and, to a large extent, automated [10].

More specific examples are provided as to how these principles are demonstrated in the JTA/DII, as also illustrated in the Figure 1 diagram that maps these concepts to the DII elements.

  1. Open Systems: The current DoD Joint Technical Architecture (JTA) defines a detailed profile, based on the TAFIM, to provide for interoperability among applications for command, control, communications, computers and intelligence (C4I). The DII COE runtime specification is also based on open specifications for infrastructure services and support applications. Scalability is a key attribute to allow for the same systems to be used in peace and war.
  2. Concurrent Engineering: CE involves a multidisciplinary team of people working together whether development engineers, operational Warfighters or supporting enterprise personnel. The development of the JTA and DII has emphasized user / stakeholder participation. More traditional applications of CE concepts to engineering development can be applied in an operational environment that includes plan development and execution. A vision of the DII is to support anywhere, anytime, any mission in the global infosphere, which parallels an enabling infrastrcture for CE.
  3. Reuse: Selection of COTS products to implement the infrastructure and support application services is consistent with the Perry Memorandum calling for COTS and Nondevelopmental Item (NDI) usage. In order to reuse COTS integration, the DII COE provides for larger scale reuse by providing an integrated software infrastructure on a distributed hardware network configuration. Applications built upon the COE should be portable to any COE platform. While this is a type of horizontal reuse, large scale reuse principles are also applied for vertical domains in C4I. A common object model for a domain facilitates enterprise wide integrated information as well.
  4. Architecture: DoD has defines three types of architectures: operational, technical and system. The JTA define the rules and the technical architecture for design and integration of components, as implemented in the DII. The goal is to have the system behave as a unified whole to meet performance goals and customer satisfaction. The JTA defines specifications for common services (horizontal reuse) areas that promote interoperability (open systems). The DII COE provides a run time environment architecture specification and compliance evaluation scheme based on a client/server architecture. The goal of providing a global interoperable enabling application infrastructure in support of the Warfighter should result in an architecture consistent with CE principles.

References

1
M. Gaska, ``An Open Systems Perspective on Horizontal Reuse,'' in Sixth Annual Workshop on Institutionalizing Software Reuse, (Owego, NY), pp. Gaska1-7, In cooperation with the IEEE Computer Society Technical Committee on Software Engineering, November 2-4, 1993.

2
M. Gaska, ``Application of Reuse Concepts to Concurrent Engineering,'' in Proceedings from Concurrent Engineering Research and Applications (CERA) 1994 Conference, (Johnston, PA), pp. 255-266, Concurrent Technologies Corp., August 29-31, 1994.

3
M. Gaska, ``Reuse Lessons Learned from Architecture and Building Systems Integration,'' in Workshop on Institutionalizing Software Reuse (WISR 7), (St. Charles, Illinois), August 28-30, 1995.

4
M. Gaska and W. Tracz, ``Confessions of a Used Program Salesperson, Lessons Learned on Domain Scoping/Analysis and COTS Software Integration,'' in Proceedings of the Software Technology Conference CDROM, (Salt Lake City, Utah), Software Technology Center, April 24, 1996.

5
M. Gaska, ``An Open Systems Profile for Concurrent Engineering,'' in Proceedings Second Workshop on Enabling Technologies (WET) - Infrastructure Collaborative Enterprises (ICE), (Morgantown, WV), IEEE, April 20-22, 1993.

6
M. Gaska, ``General Principles of Requirements Engineering Across Disciplines: Patterns for Application to New Approaches to Computer-Based Systems Design,'' Tech. Rep. Prospectus for Ph.D. Research, Binghamton University, June 1994.

7
N. I. of Standards and Technology, ``Application Portability Profile (APP): The U.S. Government's Open System Environment Profile OSE/1 Version 2.0,'' Tech. Rep. Special Publication 500-210, NIST, June 1993.

8
A. Brown, Component-Based Software Engineering. California: IEEE Computer Society, 1996.

9
D. of Defense, ``Department of Defense Joint Technical Architecture,'' Tech. Rep. Draft Version 1.0, 9 July 1996.

10
J. Interoperability and E. Organization, ``Defense Information Infrastructure (DII) Common Operating Environment (COE),'' Tech. Rep. Version 2.0(Series), Defense Information Systems Agency, June 28 1996.

Biography

Marilyn T. Gaska is an Advisory Programmer in Advanced Technology at Lockheed Martin Federal Systems (LMFS) in Owego, New York. Her specific background in reuse and open systems IRAD tasks has already been described. Marilyn also has been involved in OSE standards and profiles on the Army Sustaining Base Information Services (SBIS) contract, as well as COTS software integration LMFS-Owego tasks. Prior to joining the Federal Systems Integration business area, assignments involved concurrent engineering and computer aided design (CAD). Marilyn had experience in other fields such as healthcare before joining IBM Federal Systems Company, now part of Lockheed Martin, in 1987. In addition, she is a Ph.D. candidate in the Industrial Engineering and Systems Science Department at Binghamton University. Research in the systems design area with Professor Donald C. Gause focuses on application of requirements principles across disciplines to new approaches to computer-based systems design [6]. These part-time studies follow her second Master of Science in Advanced Technology at Binghamton in 1985. However, she received her first Master of Science on a Cornell Fellowship in 1979 following completion of a Bachelor of Science degree at Cornell in 1978. She is also a member of the IEEE.