15.961 Special Studies in Management: Final Paper

Science of Design: Derivation of Generic Design Principles for Software Intensive Systems

By:

Robert Abbanat

Stephen Hazelton

Massachusetts Institute of Technology

Cambridge, Massachusetts

May 17, 2004

Table of Contents

Table of Contents 2

Abstract 3

Part I: Derivation of Generic Design Principles 4

Context - Deficiencies of Heterogeneous Design Standards 4

Motive: Need for Comprehensive Design Framework 5

Current Art 6

Environment: 9

Process Design: 9

Process Realization: 10

Running System: 10

Generic Principles for Developing Design Frameworks 10

Part II: Case-Example: Wireless Grid 12

Framework for the Wireless Grid 12

Background on Wireless Grid Computing 13

Wired Grid Computing: 13

Demand for Grid Computing: 13

A Case Study: The Telephony System: 13

Wired Computing Grid Components: 14

Wireless Grid Computing: 15

Design Framework: Wireless Grid Principles 16

Behavior Parameters: 18

Challenges 19

References 20

Abstract

Large scale, Software-Intensive Systems (SIS) are increasingly pervading every aspect of life, and are becoming progressively more complex. In the absence of an organized, predictable and repeatable approach to the design and development of such systems, they grow organically: sub-components of the overall system are designed to meet the short-term needs of individual stakeholders. As a result, the larger systems emerge with heterogeneous design standards whereby multiple contributing developers have created varying methods for defining system architectures and protocols. The objective of this paper is to outline an innovative, organized, predictable and repeatable method for the development of large-scale SIS that will eliminate the organic evolution of heterogeneous design standards.

In the Part I of the paper we analyze and frame the nature of the problem of heterogeneous design principles, identify the requirements to consistently produce more homogeneous, integrated SIS, derive specifications of generic design principles for the design of SIS, and model a sample framework for a representative SIS. We propose that a design framework for almost every SIS can be created by following a series of design principles that are well defined, yet generic enough to be applied to all software-intensive systems. A series of core principles would lead to the formalization and mechanization of creating standards for emerging software-intensive systems and help to mitigate the negative effects of organic evolution.

Part II of the paper will focus on illustrating the efficacy of design principles by applying them in the case example of a framework for writing software standards for the wireless grid. The framework will be derived from the core principles outlined in Part I, and will highlight a set of behavior parameters for wireless grids. The goal is to validate the generic principles by outlining issues to be addressed with a framework that ensures that any design standard that is developed for sub components of the wireless grid, whether it is a mail protocol or a sensory network protocol, will produce ready-to-market products for the wireless grid.

Part I: Derivation of Generic Design Principles

Context - Deficiencies of Heterogeneous Design Standards

Large scale, Software-Intensive Systems (SIS) are increasingly pervading every aspect of life, and are becoming progressively more complex. In the absence of an organized, predictable and repeatable approach to the design and development of such systems, they grow organically: sub-components of the overall system are designed to meet the short-term needs of individual stakeholders. As a result, the larger systems emerge with heterogeneous design standards whereby multiple contributing developers have created varying methods for defining system architectures and protocols that often compete for dominance in the marketplace. These standards are often defined from the experiential knowledge and intuition of the creators, which varies widely in scope and depth.

There are numerous negative effects of heterogeneous design standards for all stakeholders of SIS. In many cases, the sub-components of the overall system are incompatible, non-interoperable, inconsistent, redundant, proprietary, and perform with varying degrees of Quality of Service (QoS). As these systems evolve and grow, they become increasingly difficult to comprehend, thus confounding the process of educating future developers on system design and development. Further, projects invariably take longer than initial projections, and the pressure to maintain schedules often makes documentation of the design process an expendable task that gets postponed until the completion of the project, and ultimately forgotten. As such, the teachability of these systems is difficult at best.

The evolution of SIS also lacks any intelligent control, and thus lacks any coherent understanding of shared goals and utility of all stakeholders. In such an environment, heterogeneous design standards can become a means for dominant constituents to establish monopolies within the marketplace.[5] This can prevent the innovative solutions of start-up companies from ever reaching the marketplace. Additionally, the heterogeneous nature of sub-components makes them inherently difficult to maintain, and increase development costs as each constituent develops new and varying standards rather than building on what has already been created.

The factors that lead to the development of heterogeneous, organic design standards are not unique to software-intensive systems. In fact, software-intensive systems evolve in design environments that share commonalities with other large-scale projects in a multitude of engineering fields and disciplines. For large-scale, distributed systems such as power grids, the internet or information management systems, the sub-components of the larger system are often designed by many individuals working at different locations, at different times, and for different organizations—each with its own agenda for the outcome of the larger system.[3] In many cases, the environment is highly competitive and there is no collaboration at all between the competing developers[1]. In such cases, the emergence of heterogeneous standards is all but inevitable.

For those components that are developed within an organization, such as an avionics system for a new commercial jetliner, or between cooperative organizations, such as the environmental control systems for the International Space Station, the increasing complexity and globalization of most engineering processes necessitates a level of collaboration that spans geographic, corporate and temporal boundaries.[2] These projects are usually managed with a top-down approach where the system is defined, then parsed into sub-components to be solved by individual teams who must collaborate and then submit their work for integration into the whole. As the degree of required collaboration across geographic, corporate and temporal boundaries increases, so does the time and cost to produce each sub-component of the system, and thus the cost basis for the larger system itself. This accurately describes the environment by which heterogeneous design standards emerge for large-scale, software intensive systems.

Consider, for example, the software-intensive systems that have emerged to integrate wireless 2G and 3G networks with mail servers. In the late 90’s, delivery of email via cell phones surfaced as a compelling application in the evolution of 2G and 3G networks. No formal framework was established to guide the development of this system. As a result, each of the carriers (Verizon, Sprint, AT&T, etc.) developed their own proprietary systems for connecting users on their network with mail servers. Because they were competitors, each developed architectures and protocols with minimal (if any) collaboration and coordination between them. Each then negotiated to install its own system with various mail service providers. Each system is non-interoperable with the other. Each system was developed independent of the others, thus duplicating functionality and costs, and often times re-inventing the wheel. Each requires users to register with a specific mail service provider to receive mail with a given wireless carrier. End users today will feel the pain of this heterogeneous environment when they attempt to receive email after switching their cellular carrier.

Motive: Need for Comprehensive Design Framework

This paper addresses both the design process and requirements, specifications of SIS. The objective is the development of an innovative, organized, predictable and repeatable method for the development of large-scale SIS that will eliminate the organic evolution of heterogeneous design standards. Our approach is to analyze and frame the nature of the problem of heterogeneous design principles, identify the requirements to consistently produce more homogeneous, integrated SIS, derive specifications of generic design principles for the design of SIS, and model a sample framework for a representative SIS. We hope to replace the rough guidelines, intuition and experiential knowledge currently used to design SIS with generic design principles that are formalized, empirically validated by our sample framework and teachable.

We offer that as each SIS is emerging, a comprehensive design framework should be defined for the purpose of establishing an organized, predictable and repeatable approach to the design and development of every sub-component that will comprise the larger SIS. The framework should prescribe a comprehensive series of steps for creating standards that are complete and specific enough to produce ready-to-market sub-component of the larger system. From a technical perspective, ready-to-market standards will insure interoperability within the larger system, eliminate redundancy, ensure that end products are as robust as possible, and establish consistent QoS.

From a management perspective, ready-to-market standards will have an enormous impact on market dynamics. Well crafted standards will enable smaller, entrepreneurial companies to safely create products without the fear that a monopolistic, competing product will make theirs obsolete, thus ensuring that creativity and innovation is nurtured. A standard would reduce the perceived risk of adopting products from start-ups, especially in nascent technology markets where innovation is driven by emerging market opportunities. A standard that has been developed by an unbiased committee will prevent an incumbent giant from establishing a de-facto proprietary standard that gives them monopoly powers while stifling innovation and competition from start-ups. The standard effectively enables smaller vendors to unite against a large incumbent, rather than face it alone. For example, the LWAPP (Lightweight Wireless Access Point Protocol) initiative is seen as an attempt to counteract Cisco’s effort to establish its own WLAN technologies as de facto standards by virtue of its enterprise market share; and to give companies a risk-free alternative if they are starting to chafe under Cisco’s high prices and often dictatorial approach.

A standard may be essential to facilitate the rapid and ubiquitous deployment of emerging applications that are critical to national security or personal safety. Consider for example, the ability to track, within a few dozen feet, the position of a wireless handset using GPS. There are many applications of this technology that could morph into standard features of personal safety:

-  911 calls: authorities could rapidly locate a caller in distress

-  Child safety: parents could track the whereabouts of kids via their mobile phone

-  National security: suspects could be easily found

The most rapid deployment of such a technology would result from a standard adopted by all the wireless carriers and mobile phone manufacturers. Consider, for example, ULocate, one of the early pioneers of cell-phone tracking services. ULocate's platform only works on cell phones that can establish and transmit latitude and longitude using the government's Global Positioning System (GPS). Currently, ULocate’s technology is proprietary, and only supports the Motorola i730, i88s and i58sr on the following carrier networks: Nextel, Southern LINC, TELUS Mobility (MIKE). Although demand for such a position-tracking service may support several vendors, the absence of clearly defined development standards will likely result in a myriad of proprietary systems that are not mutually compatible. Accordingly, the technology may suffer from QoS issues or interoperability that will limit its effectiveness.

Finally, a comprehensive framework is itself a concise, self-contained platform for educating future developers of the system and its sub-components.

Current Art

The process of design has characteristics that transcend domains and focus areas. It has been addressed in multiple fields of engineering, computer science and large scale software systems. When dealing specifically with complex software systems, however, the access and dissemination of data is almost always a central component. This is likely to be the case with the wireless grid as well. Recently, efforts have been made to determine how to design systems that access and integrate multiple sources of data. A recent conference to address the current art in this area occurred at the Science of Design for Information Systems (SDIS 2003) in Seattle, in 2003. Systems addressed at this conference included those that deal with complex data such as multimedia and text, systems that must integrate both spatial and temporal factors, systems that involve large-scale replication and distribution, and systems that integrate complicated work flows and notifications. Several areas received particular focus:

A. Design for Integration. Here, the effort has been to determine optimal methods for the integration of legacy enterprise systems and processes. Special focus has been given to identify standardized methods for creating, deploying and integrating complex and well-structured applications. The designer of any new sub-component, unless it is a “greenfield” application that does not tie to any legacy applications, it must accommodate any legacy systems. Any design principles must address issues such as translating messages with different formats and wrapping heterogeneous interfaces within a standardized interface. Currently, there is not a comprehensive set of principles to deal with such integration issues. When addressing a large scale, software intensive system, however, the following is a comprehensive set of scenarios that must be considered when defining generic principles for developing robust frameworks for SIS:

·  Integration of data sources: With multiple source databases, create an integrated mapping between them, enabling users to easily generate queries.

·  Data warehouse loading: Create standardized methods to enable the quick identification and rectification of inconsistencies.

·  XML message translation: Create standardized methods for mapping source XML messages to targets. This would be particularly applicable for wirless grid applications that arise in B2B and E-Commerce applications.

·  Schema evolution: Create standardized methods for mapping old database constructs to new ones.

·  Integrate custom applications with commercial applications: Create standardized adaptors to enable new applications to interpolate legacy applications.

·  Object-oriented or XML wrapper generation for a SQL database: Create a standardized method to expose data as methods in an object-oriented language or as XML elements and attributes.