Organizing Business Knowledge The Mit Process Handbook [Electronic resources] نسخه متنی

اینجــــا یک کتابخانه دیجیتالی است

با بیش از 100000 منبع الکترونیکی رایگان به زبان فارسی ، عربی و انگلیسی

Organizing Business Knowledge The Mit Process Handbook [Electronic resources] - نسخه متنی

Thomas W. Malone, Kevin Crowston, George A. Herman

| نمايش فراداده ، افزودن یک نقد و بررسی
افزودن به کتابخانه شخصی
ارسال به دوستان
جستجو در متن کتاب
بیشتر
تنظیمات قلم

فونت

اندازه قلم

+ - پیش فرض

حالت نمایش

روز نیمروز شب
جستجو در لغت نامه
بیشتر
توضیحات
افزودن یادداشت جدید






10.2 Motivation

The purpose of this chapter is to give an answer to the following two questions:



Why do software components interconnect with one another?



How do software components interconnect with one another?



We would like to organize the answers to the first question in a vocabulary of dependency types, and the answers to the second question in a design space of coordination processes. Finally, we would like to connect each of the whys, with a set of hows, that is, associate each dependency type with a set of coordination processes for managing it.

A vocabulary of interdependency patterns would greatly aid designers in constructing application architectural diagrams. Instead of always inventing a new dependency to express a given component relationship, designers would often simply choose one from the dependency vocabulary.

Furthermore the existence of a coordination process design space would reduce the step of managing dependencies with coordination processes to a routine, or even automatic, selection of an element from a coordination process repository.

Finally a vocabulary of dependency types and coordination processes would contribute to an increased understanding of the problems of software interconnection. Over time researchers have developed a vast arsenal of algorithms and techniques for process synchronization, communication, and resource allocation. What has been missing so far is a unified framework for relating those algorithms to the problems they are attempting to solve. Such a framework should encompass (and relate) synchronization, communication, and resource allocation considerations. It should relate techniques and algorithms that are currently being studied by a number of different research areas (programming languages, operating systems, concurrent and distributed systems). Therefore it could form the basis for developing a design handbook of software component interconnection. Such a handbook could help reduce the integration of existing software components into new applications to a routine design problem.

The approach taken in this chapter is based on coordination theory (Malone and Crowston 1994), an emerging research area that focuses on the interdisciplinary study of coordination. Coordination theory defines coordination as the process of managing dependencies among activities. One of its objectives is to characterize different kinds of dependencies and identify the coordination processes that can be used to manage them. This work extends the frameworks presented in Malone and Crowston (1994) and is the first detailed application of the theory to the understanding of software component relationships. Coordination theory is discussed in more detail in section 10.3.

It is important to emphasize that the results described in this chapter do not claim rigorous generality and completeness. Our goal was to develop a dependency vocabulary and coordination process design space that covers a useful subset of the component relationships and constraints encountered in practice. The SYNOPSIS machinery enables designers to incrementally enrich this vocabulary with new abstractions and processes. It is our hope that this work will provide a useful starting point that will lead in interesting extensions by future research.

/ 185