David Cohn - Academia.edu (original) (raw)

Papers by David Cohn

Research paper thumbnail of Solving the Service Composition Puzzle

2008 IEEE International Conference on Services Computing, 2008

We observed and grouped common service composition techniques into six patterns with distinct cha... more We observed and grouped common service composition techniques into six patterns with distinct characteristics of their integration intermediary. No pattern is better than others in all business and IT situations. Therefore our analysis suggests a formal methodology in impact and cost analysis to justify the choice of composition patterns in service design. Our contribution leads to an advisory tool consisting

Research paper thumbnail of The rise of the model-driven enterprise

Enterprises have been using formal modeling techniques for a considerable time. This use, however... more Enterprises have been using formal modeling techniques for a considerable time. This use, however, has been limited to relatively narrow application domains. In this paper we provide data to support our argument that we are at a tipping point, the beginning of a much wider use of formal modeling techniques for managing large organizations

Research paper thumbnail of π : Effective Use of Metacomputation for Structuring Operating Systems

To respond to continuing hardware advances and changing application demands, operating systems mu... more To respond to continuing hardware advances and changing application demands, operating systems must be flexible. Recently developed metacomputation techniques can provide the desired flexibility. The πarchitecture investigates the use of metaobject protocols to tailor subsystems of operating systems. It allows effective utilization of events and resources through interfaces for tailorable object implementations. Its main contributions are flexible event management, scope reification and change management. The challenges and possible solutions are described in the context of a distributed shared object subsystem.

Research paper thumbnail of New Patterns of Innovation

Encyclopedia of Creativity, Invention, Innovation and Entrepreneurship, 2020

ABSTRACT The search for new business ideas and new business models is hit-or-miss in most corpora... more ABSTRACT The search for new business ideas and new business models is hit-or-miss in most corporations, despite the extraordinary pressure on executives to grow their businesses. Management scholars have considered various reasons for this failure. One well-documented explanation: Managers who are skilled at executing clearly defined strategies are ill equipped for out-of-the-box thinking. In addition, when good ideas do emerge, they’re often doomed because the company is organized to support one way of doing business and doesn’t have the processes or metrics to support a new one. That explanation, too, is well supported. Without a doubt, if you tackle business innovation systematically—rather than hoping people will get creative during an “innovation jam” or a special offsite—you improve the odds of success (and decrease the chances you’ll be left staring at a blank sheet of paper). Traditional, tested ways of framing the search for ideas exist, of course. One is competency based: It asks, How can we build on the capabilities and assets that already make us distinctive to enter new businesses and markets? Another is customer focused: What does a close study of customers’ behavior tell us about their tacit, unmet needs? A third addresses changes in the business environment: If we follow “megatrends” or other shifts to their logical conclusion, what future business opportunities will become clear? We’d like to propose a fourth approach. It complements the existing frameworks but focuses on opportunities generated by the explosion in digital information and tools. Simply put, our approach poses this question: How can we create value for customers using data and analytic tools we own or could have access to? Over the past five years, we’ve explored that question with a broad range of IBM clients. In the course of that work, we’ve seen advances in IT facilitate the hunt for new business value in five distinct—but often overlapping—patterns. Those patterns form the basis of our framework. We believe that by examining them methodically, managers in most industries can conceive solid ideas for new businesses. (To learn about the underlying technical trends, see the sidebar “Why Are These Patterns Emerging Now?”)

Research paper thumbnail of Structuring distributed shared memory with the pi architecture

[1993] Proceedings. The 13th International Conference on Distributed Computing Systems

Page 1. Structuring Distributed Shared Memory with the n; Architecture Dinesh C. Kulkarni,Arindam... more Page 1. Structuring Distributed Shared Memory with the n; Architecture Dinesh C. Kulkarni,Arindam Banerji, Michael R. Casey and David L. Cohn dcrl@cse.nd.edu Distributed Computing Research Laboratory University of Notre Dame, Notre Dame, IN 46556, USA ...

Research paper thumbnail of Position Statement

Introduction The efficient use of interconnected workstations demands effective cooperation betwe... more Introduction The efficient use of interconnected workstations demands effective cooperation between remote processes. A variety of cooperation paradigms have been proposed for this purpose. Those which let the underlying communication show through, typically message-passing approaches, tend to be efficient, but machine-dependent; those which hide it in a higher-level paradigm, such as RPC, are easier to use and more portable. However, few have effectively unlocked the latent power of the underutilized workstations which clutter up local area networks. It is time to identify a new approach that is fast, intuitive and portable. The data unit [1] is an abstraction based on typed distributed shared memory. Just as RPC transforms low-level message passing to a higher-level abstraction that programmers understand, data units transform distributed shared memory [2]. Shared memory becomes an entity with access operations, rather than just a string of b

Research paper thumbnail of Multiple Distributed Checkpoints over Unreliable Channels

Failure recovery in a computing system can be based on periodically saving system state in a chec... more Failure recovery in a computing system can be based on periodically saving system state in a checkpoint. The problem of making a consistent checkpoint in a distributed system has previously been solved for the case in which communication links are error-free and deliver messages in the order in which they are sent. We present a solution that does not require links to preserve message order. Messages are tagged with information which allows the nodes to coordinate the recording of their individual states. These states, taken together, form a consistent checkpoint for the entire system. When a node records its state, it does not merely record the state of its processes, but also the state of its communication subsytem. This reduces the problem of handling messages in transit at the time of a checkpoint to one of handling messages lost in transit, which we assume the communication system is capable of doing. The scheme naturally handles multiple checkpoints.

Research paper thumbnail of Protected Shared Libraries

Protected shared libraries are a new mechanism for building fast user-level operating system serv... more Protected shared libraries are a new mechanism for building fast user-level operating system services. They retain the isolation properties of other userlevel implementation approaches with improved performance and flexibility. The approach can be used with either microkernel-based or monolithic operating systems. Operating system services are built as shared libraries that can be linked into client tasks. However, the classic notion of dynamically linkable shared libraries is extended to isolate the services from the clients, from other services and from the kernel. Thus, protected shared library services avoid the interdependencies that inhibit changes and complicate maintenance in monolithic systems. However, they also eliminate the overhead of full context switches that limit the performance of classic microkernels. Since they retain the key protection features of microkernels, they represent a much more attractive performance improvement approach than co-location. Unlike migrat...

Research paper thumbnail of Real spreadsheets for real programmers

Proceedings of 1994 IEEE International Conference on Computer Languages (ICCL'94)

... the user clicks on a cell, say cell C, while editing some other cell's formula, the ... more ... the user clicks on a cell, say cell C, while editing some other cell's formula, the system enters c's relative address (c [ + . . , I ) in the formula. ... operation except that the special value # is held to be equal to anything; let A be a 2-column block of first name/last name pairs, and b ...

Research paper thumbnail of Observations on Spreadsheet Languages, Intension and Dataflow

Research paper thumbnail of Multiple Distributed Checkpoints over Unreliable Channels

Research paper thumbnail of Distribution and persistence: natural outgrowths of the ARCADE data model

International Workshop on Object Orientation in Operating Systems, 1992

Distribution, persistence and atomicity are natural extensions of the ARCADE data model, rather t... more Distribution, persistence and atomicity are natural extensions of the ARCADE data model, rather than add-on properties. The model is based on the way a programmer views and uses typed data objects. It consists of data units and data unit links which act as the nodes and edges of a directed graph model. It serves as an excellent substrate for implementing

Research paper thumbnail of Design, Distribution and Management of Object-Oriented Software

The promise of object-oriented software has been somewhat dimmed by the continu- ing need for sou... more The promise of object-oriented software has been somewhat dimmed by the continu- ing need for source code familiarity to realize the goals of code-reuse and manage- ability. Software design has been hampered by the infeasibility of predicting all possible circumstances of use. Composing applications out of reusable components has remained a myth, primarily due to limitations of the simplistic shared

Research paper thumbnail of A Framework for Building Extensible C++ Class Libraries

Research paper thumbnail of Workstation cooperation through a typed distributed shared memory abstraction

[1992] Proceedings Third Workshop on Workstation Operating Systems

Research paper thumbnail of ARCADE: An Architectural Basis for Distributed Systems

Modern computer interconnections typically include a wide variety of systems. They may have diffe... more Modern computer interconnections typically include a wide variety of systems. They may have different hardware architectures and operating system structures. Normally, they are underutilized, resulting in significant latent power. ARCADE is new architectural basis for distributed computing systems intended to exploit this power. It defines machine-independent abstractions and services which can be used to build distributed applications on such interconnections. They have been successfully implemented as both a stand-alone microkernel and as a set of add-in services for conventional operating systems. The abstractions are based on high-level language models which makes them easily accessible and quite efficient. The services can transparently cross even heterogeneous machine boundaries. The architecture proposes a new approach to distributed shared memory and to global resource identification. The resulting structure has proven to be a powerful set of building blocks for a variety of...

Research paper thumbnail of Architectural issues in spreadsheet languages

Lecture Notes in Computer Science, 1994

We have recently begun to develop a programming language model for concurrent computation based u... more We have recently begun to develop a programming language model for concurrent computation based upon the popular spreadsheet metaphor. We call it the Generalized Spreadsheet Model (GSM); it provides an easy-to-use, geometrically appealing interface to a concurrent computational facility. This interface directly captures the Dataflow relationships inherent in many important problems and makes them available for determining the order of

Research paper thumbnail of A Reward-based Economic Model for Component Reuse

Given today's stringent cost, time-to-market, and quality constraints, it is imperative that ... more Given today's stringent cost, time-to-market, and quality constraints, it is imperative that development teams evaluate the potential for system components to be implemented with previously designed components. A methodology and system for encouraging reuse as a design principle and rewarding both the design of reusable components and the subsequent reuse of such components is presented. If a decision is made to forego previously designed components, the design team is encouraged to incorporate reusability into the component design by a reward or compensation structure that rewards both the individual members of a team as well as the corporate entity to which the design team is assigned. The reward structure also encourages teams to use existing designs wherever possible by rewarding a team that reuses an existing component. An administrator may adjust the relative rewards to modulate a preference for innovation in selected areas.

Research paper thumbnail of Π: A New Approach to the Design of Distributed Operating Systems

ACM SIGPLAN OOPS Messenger, 1993

Research paper thumbnail of Operating systems and cost management

ACM SIGOPS Operating Systems Review, 1994

Research paper thumbnail of Solving the Service Composition Puzzle

2008 IEEE International Conference on Services Computing, 2008

We observed and grouped common service composition techniques into six patterns with distinct cha... more We observed and grouped common service composition techniques into six patterns with distinct characteristics of their integration intermediary. No pattern is better than others in all business and IT situations. Therefore our analysis suggests a formal methodology in impact and cost analysis to justify the choice of composition patterns in service design. Our contribution leads to an advisory tool consisting

Research paper thumbnail of The rise of the model-driven enterprise

Enterprises have been using formal modeling techniques for a considerable time. This use, however... more Enterprises have been using formal modeling techniques for a considerable time. This use, however, has been limited to relatively narrow application domains. In this paper we provide data to support our argument that we are at a tipping point, the beginning of a much wider use of formal modeling techniques for managing large organizations

Research paper thumbnail of π : Effective Use of Metacomputation for Structuring Operating Systems

To respond to continuing hardware advances and changing application demands, operating systems mu... more To respond to continuing hardware advances and changing application demands, operating systems must be flexible. Recently developed metacomputation techniques can provide the desired flexibility. The πarchitecture investigates the use of metaobject protocols to tailor subsystems of operating systems. It allows effective utilization of events and resources through interfaces for tailorable object implementations. Its main contributions are flexible event management, scope reification and change management. The challenges and possible solutions are described in the context of a distributed shared object subsystem.

Research paper thumbnail of New Patterns of Innovation

Encyclopedia of Creativity, Invention, Innovation and Entrepreneurship, 2020

ABSTRACT The search for new business ideas and new business models is hit-or-miss in most corpora... more ABSTRACT The search for new business ideas and new business models is hit-or-miss in most corporations, despite the extraordinary pressure on executives to grow their businesses. Management scholars have considered various reasons for this failure. One well-documented explanation: Managers who are skilled at executing clearly defined strategies are ill equipped for out-of-the-box thinking. In addition, when good ideas do emerge, they’re often doomed because the company is organized to support one way of doing business and doesn’t have the processes or metrics to support a new one. That explanation, too, is well supported. Without a doubt, if you tackle business innovation systematically—rather than hoping people will get creative during an “innovation jam” or a special offsite—you improve the odds of success (and decrease the chances you’ll be left staring at a blank sheet of paper). Traditional, tested ways of framing the search for ideas exist, of course. One is competency based: It asks, How can we build on the capabilities and assets that already make us distinctive to enter new businesses and markets? Another is customer focused: What does a close study of customers’ behavior tell us about their tacit, unmet needs? A third addresses changes in the business environment: If we follow “megatrends” or other shifts to their logical conclusion, what future business opportunities will become clear? We’d like to propose a fourth approach. It complements the existing frameworks but focuses on opportunities generated by the explosion in digital information and tools. Simply put, our approach poses this question: How can we create value for customers using data and analytic tools we own or could have access to? Over the past five years, we’ve explored that question with a broad range of IBM clients. In the course of that work, we’ve seen advances in IT facilitate the hunt for new business value in five distinct—but often overlapping—patterns. Those patterns form the basis of our framework. We believe that by examining them methodically, managers in most industries can conceive solid ideas for new businesses. (To learn about the underlying technical trends, see the sidebar “Why Are These Patterns Emerging Now?”)

Research paper thumbnail of Structuring distributed shared memory with the pi architecture

[1993] Proceedings. The 13th International Conference on Distributed Computing Systems

Page 1. Structuring Distributed Shared Memory with the n; Architecture Dinesh C. Kulkarni,Arindam... more Page 1. Structuring Distributed Shared Memory with the n; Architecture Dinesh C. Kulkarni,Arindam Banerji, Michael R. Casey and David L. Cohn dcrl@cse.nd.edu Distributed Computing Research Laboratory University of Notre Dame, Notre Dame, IN 46556, USA ...

Research paper thumbnail of Position Statement

Introduction The efficient use of interconnected workstations demands effective cooperation betwe... more Introduction The efficient use of interconnected workstations demands effective cooperation between remote processes. A variety of cooperation paradigms have been proposed for this purpose. Those which let the underlying communication show through, typically message-passing approaches, tend to be efficient, but machine-dependent; those which hide it in a higher-level paradigm, such as RPC, are easier to use and more portable. However, few have effectively unlocked the latent power of the underutilized workstations which clutter up local area networks. It is time to identify a new approach that is fast, intuitive and portable. The data unit [1] is an abstraction based on typed distributed shared memory. Just as RPC transforms low-level message passing to a higher-level abstraction that programmers understand, data units transform distributed shared memory [2]. Shared memory becomes an entity with access operations, rather than just a string of b

Research paper thumbnail of Multiple Distributed Checkpoints over Unreliable Channels

Failure recovery in a computing system can be based on periodically saving system state in a chec... more Failure recovery in a computing system can be based on periodically saving system state in a checkpoint. The problem of making a consistent checkpoint in a distributed system has previously been solved for the case in which communication links are error-free and deliver messages in the order in which they are sent. We present a solution that does not require links to preserve message order. Messages are tagged with information which allows the nodes to coordinate the recording of their individual states. These states, taken together, form a consistent checkpoint for the entire system. When a node records its state, it does not merely record the state of its processes, but also the state of its communication subsytem. This reduces the problem of handling messages in transit at the time of a checkpoint to one of handling messages lost in transit, which we assume the communication system is capable of doing. The scheme naturally handles multiple checkpoints.

Research paper thumbnail of Protected Shared Libraries

Protected shared libraries are a new mechanism for building fast user-level operating system serv... more Protected shared libraries are a new mechanism for building fast user-level operating system services. They retain the isolation properties of other userlevel implementation approaches with improved performance and flexibility. The approach can be used with either microkernel-based or monolithic operating systems. Operating system services are built as shared libraries that can be linked into client tasks. However, the classic notion of dynamically linkable shared libraries is extended to isolate the services from the clients, from other services and from the kernel. Thus, protected shared library services avoid the interdependencies that inhibit changes and complicate maintenance in monolithic systems. However, they also eliminate the overhead of full context switches that limit the performance of classic microkernels. Since they retain the key protection features of microkernels, they represent a much more attractive performance improvement approach than co-location. Unlike migrat...

Research paper thumbnail of Real spreadsheets for real programmers

Proceedings of 1994 IEEE International Conference on Computer Languages (ICCL'94)

... the user clicks on a cell, say cell C, while editing some other cell's formula, the ... more ... the user clicks on a cell, say cell C, while editing some other cell's formula, the system enters c's relative address (c [ + . . , I ) in the formula. ... operation except that the special value # is held to be equal to anything; let A be a 2-column block of first name/last name pairs, and b ...

Research paper thumbnail of Observations on Spreadsheet Languages, Intension and Dataflow

Research paper thumbnail of Multiple Distributed Checkpoints over Unreliable Channels

Research paper thumbnail of Distribution and persistence: natural outgrowths of the ARCADE data model

International Workshop on Object Orientation in Operating Systems, 1992

Distribution, persistence and atomicity are natural extensions of the ARCADE data model, rather t... more Distribution, persistence and atomicity are natural extensions of the ARCADE data model, rather than add-on properties. The model is based on the way a programmer views and uses typed data objects. It consists of data units and data unit links which act as the nodes and edges of a directed graph model. It serves as an excellent substrate for implementing

Research paper thumbnail of Design, Distribution and Management of Object-Oriented Software

The promise of object-oriented software has been somewhat dimmed by the continu- ing need for sou... more The promise of object-oriented software has been somewhat dimmed by the continu- ing need for source code familiarity to realize the goals of code-reuse and manage- ability. Software design has been hampered by the infeasibility of predicting all possible circumstances of use. Composing applications out of reusable components has remained a myth, primarily due to limitations of the simplistic shared

Research paper thumbnail of A Framework for Building Extensible C++ Class Libraries

Research paper thumbnail of Workstation cooperation through a typed distributed shared memory abstraction

[1992] Proceedings Third Workshop on Workstation Operating Systems

Research paper thumbnail of ARCADE: An Architectural Basis for Distributed Systems

Modern computer interconnections typically include a wide variety of systems. They may have diffe... more Modern computer interconnections typically include a wide variety of systems. They may have different hardware architectures and operating system structures. Normally, they are underutilized, resulting in significant latent power. ARCADE is new architectural basis for distributed computing systems intended to exploit this power. It defines machine-independent abstractions and services which can be used to build distributed applications on such interconnections. They have been successfully implemented as both a stand-alone microkernel and as a set of add-in services for conventional operating systems. The abstractions are based on high-level language models which makes them easily accessible and quite efficient. The services can transparently cross even heterogeneous machine boundaries. The architecture proposes a new approach to distributed shared memory and to global resource identification. The resulting structure has proven to be a powerful set of building blocks for a variety of...

Research paper thumbnail of Architectural issues in spreadsheet languages

Lecture Notes in Computer Science, 1994

We have recently begun to develop a programming language model for concurrent computation based u... more We have recently begun to develop a programming language model for concurrent computation based upon the popular spreadsheet metaphor. We call it the Generalized Spreadsheet Model (GSM); it provides an easy-to-use, geometrically appealing interface to a concurrent computational facility. This interface directly captures the Dataflow relationships inherent in many important problems and makes them available for determining the order of

Research paper thumbnail of A Reward-based Economic Model for Component Reuse

Given today's stringent cost, time-to-market, and quality constraints, it is imperative that ... more Given today's stringent cost, time-to-market, and quality constraints, it is imperative that development teams evaluate the potential for system components to be implemented with previously designed components. A methodology and system for encouraging reuse as a design principle and rewarding both the design of reusable components and the subsequent reuse of such components is presented. If a decision is made to forego previously designed components, the design team is encouraged to incorporate reusability into the component design by a reward or compensation structure that rewards both the individual members of a team as well as the corporate entity to which the design team is assigned. The reward structure also encourages teams to use existing designs wherever possible by rewarding a team that reuses an existing component. An administrator may adjust the relative rewards to modulate a preference for innovation in selected areas.

Research paper thumbnail of Π: A New Approach to the Design of Distributed Operating Systems

ACM SIGPLAN OOPS Messenger, 1993

Research paper thumbnail of Operating systems and cost management

ACM SIGOPS Operating Systems Review, 1994