Results 1 - 10
of
43
Controlling Cooperative Problem Solving in Industrial Multi-Agent Systems using Joint Intentions
- ARTIFICIAL INTELLIGENCE JOURNAL
, 1995
"... One reason why Distributed AI (DAI) technology has been deployed in relatively few real-size applications is that it lacks a clear and implementable model of cooperative problem solving which specifies how agents should operate and interact in complex, dynamic and unpredictable environments. As a co ..."
Abstract
-
Cited by 253 (30 self)
- Add to MetaCart
One reason why Distributed AI (DAI) technology has been deployed in relatively few real-size applications is that it lacks a clear and implementable model of cooperative problem solving which specifies how agents should operate and interact in complex, dynamic and unpredictable environments. As a consequence of the experience gained whilst building a number of DAI systems for industrial applications, a new principled model of cooperation has been developed. This model, called Joint Responsibility, has the notion of joint intentions at its core. It specifies pre-conditions which must be attained before collaboration can commence and prescribes how individuals should behave both when joint activity is progressing satisfactorily and also when it runs into difficulty. The theoretical model has been used to guide the implementation of a general-purpose cooperation framework and the qualitative and quantitative benefits of this implementation have been assessed through a series of comparativ...
Generative Programming
, 2000
"... Abstract. This paper is about a paradigm shift from the current practice of manually searching for and adapting components and their manual assembly to Generative Programming, which is the automatic selection and assembly of components on demand. First, we argue that the current OO technology does n ..."
Abstract
-
Cited by 102 (1 self)
- Add to MetaCart
Abstract. This paper is about a paradigm shift from the current practice of manually searching for and adapting components and their manual assembly to Generative Programming, which is the automatic selection and assembly of components on demand. First, we argue that the current OO technology does not support reuse and configurability in an effective way. Then we show how a system family approach can aid in defining reusable components. Finally, we describe how to automate the assembly of components based on configuration knowledge. We compare this paradigm shift to the introduction of interchangeable parts and automated assembly lines in the automobile industry. We also illustrate the steps necessary to develop a product line using a simple example of a car product line. We present the feature model of the product line, develop a layered architecture for it, and automate the assembly of the components using a generator. We also discuss some design issues, applicability of the approach, and future development. 1 From Handcrafting to an Automated Assembly Line This paper is about a paradigm shift from the current practice of manually searching for and adapting components and their manual assembly to Generative Programming,
Software factories: assembling applications with patterns, models, frameworks and tools
, 2004
"... The confluence of component based development, model driven development and software product lines forms an approach to application development based on the concept of software factories. This approach promises greater gains in productivity and predictability than those produced by incremental impro ..."
Abstract
-
Cited by 91 (0 self)
- Add to MetaCart
The confluence of component based development, model driven development and software product lines forms an approach to application development based on the concept of software factories. This approach promises greater gains in productivity and predictability than those produced by incremental improvements to the current paradigm of object orientation, which have not kept pace with innovation in platform technology. Software factories promise to make application assembly more cost effective through systematic reuse, enabling the formation of supply chains and opening the door to mass customization. Categories and Subject Descriptors D.2.2 [Design Tools and Techniques], D.2.11 [Software
Component-Oriented Software Development
- Communications of the ACM
, 1992
"... Introduction Object-oriented programming techniques promote a new approach to software engineering in which reliable, open applications can be largely constructed, rather than programmed, by reusing "frameworks" [3] of plug-compatible software components. Although the dream of a components-based so ..."
Abstract
-
Cited by 38 (2 self)
- Add to MetaCart
Introduction Object-oriented programming techniques promote a new approach to software engineering in which reliable, open applications can be largely constructed, rather than programmed, by reusing "frameworks" [3] of plug-compatible software components. Although the dream of a components-based software industry is very old [9], only now does it appear that we are close to realizing the dream. The reason for this is twofold: . Modern applications are increasingly open in terms of topology, platform and evolution, and so the need for a component-oriented approach to development is even more acute than in the past; . Objects provide an organizational paradigm for decomposing large applications into cooperating objects as well as a reuse paradigm for composing applications from pre-packaged software components. Despite the contributions of object-oriented technology, there are several open research problems that must be resolved t
The Assimilation of Software Process Innovations: An Organizational Learning Perspective
, 1997
"... The burden of organizational learning surrounding software process innovations (SPIs)and complex organizational technologies in generalcreates a "knowledge barrier" that inhibits diffusion. Paul Attewell has suggested that many organizations will defer adoption until knowledge barriers have been s ..."
Abstract
-
Cited by 36 (4 self)
- Add to MetaCart
The burden of organizational learning surrounding software process innovations (SPIs)and complex organizational technologies in generalcreates a "knowledge barrier" that inhibits diffusion. Paul Attewell has suggested that many organizations will defer adoption until knowledge barriers have been sufficiently lowered; however, this leaves open the question of which organizations should be more likely to innovate, even in face of high knowledge barriers. It is proposed here that organizations will innovate in the presence of knowledge barriers when the burden of organizational learning is effectively lower, either because much of the required know-how already exists within the organization, or because such knowledge can be acquired more easily or more economically. Specifically, it is hypothesized that organizations will have a greater propensity to initiate and sustain the assimilation of SPIs when they have a greater scale of activities over which learning costs can be spread (learning-related scale), more extensive existing knowledge related to the focal innovation (related knowledge), and a greater diversity of technical knowledge and activities (diversity). An empirical study using data on the assimilation of object-oriented programming languages (OOPLs) by 608 IT organizations strongly confirmed the importance of the three hypothesized factors in explaining the assimilation of OOPLs.
Systems Development Methodologies: The Problem of Tenses
- Information Technology & People
, 2000
"... This paper presents two fundamental arguments. Firstly, it is proposed that most of the currently-available systems development methodologies are founded on concepts which emerged in the period from about 1967 to 1977. This argument is presented through the use of literature references. The second a ..."
Abstract
-
Cited by 26 (0 self)
- Add to MetaCart
This paper presents two fundamental arguments. Firstly, it is proposed that most of the currently-available systems development methodologies are founded on concepts which emerged in the period from about 1967 to 1977. This argument is presented through the use of literature references. The second argument is that the profile of the development environment now faced in organisations is very different from that which prevailed in the period 1967 to 1977. This is illustrated through original empirical research carried out by the author which supports this argument, and by contrasting these findings with those of previous studies in the literature. It is therefore argued that there is a need to update ‘tenses ’ by deriving new methodological canons more appropriate to the needs of the current development environment. Some suggestions for new methodological canons appropriate to the current development environment are provided.
Compound Types for Java
, 1998
"... Type compatibility can be defined based on name equivalence, that is, explicit declarations, or on structural matching. We argue that component software has demands for both. For types expressing individual contracts, name equivalence should be used so that references are made to external semantical ..."
Abstract
-
Cited by 24 (3 self)
- Add to MetaCart
Type compatibility can be defined based on name equivalence, that is, explicit declarations, or on structural matching. We argue that component software has demands for both. For types expressing individual contracts, name equivalence should be used so that references are made to external semantical specifications. For types that are composed of several such contracts, the structure of this composition should decide about compatibility. We introduce
Test Templates: A Specification-based Testing Framework
- In Proceedings of the 15th International Conference on Software Engineering
, 1993
"... Test templates and a test template framework are introduced as useful concepts in specificationbased testing. The framework can be defined using any model-based specification notation and used to derive tests from model-based specifications---in this paper, it is demonstrated using the Z notation. T ..."
Abstract
-
Cited by 20 (2 self)
- Add to MetaCart
Test templates and a test template framework are introduced as useful concepts in specificationbased testing. The framework can be defined using any model-based specification notation and used to derive tests from model-based specifications---in this paper, it is demonstrated using the Z notation. The framework formally defines test data sets and their relation to the operations in a specification and to other test data sets, providing structure to the testing process. Flexibility is preserved, so that many testing strategies can be used. Important application areas of the framework are discussed, including refinement of test data, regression testing, and test oracles. Contents 1 INTRODUCTION 2 1.1 Specification-based testing : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2 1.2 Scope of the framework : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3 1.3 Related work : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :...
Educational Software Architecture and Systemic Impact: The Promise of Component Software
- Journal of Educational Computing Research
, 1996
"... Roschelle, J. & Kaput, J. (1996). Educational software architecture and systemic impact: ..."
Abstract
-
Cited by 16 (6 self)
- Add to MetaCart
Roschelle, J. & Kaput, J. (1996). Educational software architecture and systemic impact:

