Results 11 - 20
of
1,178
A Survey of Agent-Oriented Methodologies
, 1999
"... . This article introduces the current agent-oriented methodologies. It discusseswhat approacheshave been followed (mainly extending existing objectoriented and knowledge engineering methodologies), the suitability of these approaches for agent modelling, and some conclusions drawn from the survey. 1 ..."
Abstract
-
Cited by 138 (0 self)
- Add to MetaCart
. This article introduces the current agent-oriented methodologies. It discusseswhat approacheshave been followed (mainly extending existing objectoriented and knowledge engineering methodologies), the suitability of these approaches for agent modelling, and some conclusions drawn from the survey. 1 Introduction Agent technology has received a great deal of attention in the last few years and, as a result, the industry is beginning to get interested in using this technology to develop its own products. In spite of the different developed agent theories, languages, architectures and the successful agent-based applications, very little work for specifying (and applying) techniques to develop applications using agent technology has been done. The role of agent-oriented methodologies is to assist in all the phases of the life cycle of an agent-based application, including its management. This article reviews the current approaches to the development of an agent-oriented (AO) methodology. ...
Use Case Maps as Architectural Entities for Complex Systems
- IEEE Transactions on Software Engineering
, 1998
"... ABSTRACT. This paper presents a novel, scenario-based notation called Use Case Maps (UCMs) for describing, in a high-level way, how the organizational structure of a complex system and the emergent behavior of the system are intertwined. The notation is not a behavior specification technique in the ..."
Abstract
-
Cited by 125 (2 self)
- Add to MetaCart
ABSTRACT. This paper presents a novel, scenario-based notation called Use Case Maps (UCMs) for describing, in a high-level way, how the organizational structure of a complex system and the emergent behavior of the system are intertwined. The notation is not a behavior specification technique in the ordinary sense, but a notation for helping a person to visualize, think about, and explain the big picture. UCMs are presented as “architectural entities ” that help a person stand back from the details during all phases of system development. The notation has been thoroughly exercised on systems of industrial scale and complexity and the distilled essence of what has been found to work in practice is summarized in this paper. Examples are presented that confront difficult complex-system issues directly: decentralized control, concurrency, failure, diversity, elusiveness and fluidity of runtime views of software, self modification of system makeup, difficulty of seeing large-scale units of emergent behavior cutting across systems as coherent entities (and of seeing how such entities arise from the collective efforts of components), and large scale. 1
Reactor: An Object Behavioral Pattern for Concurrent Event Demultiplexing and Dispatching
, 1995
"... Factory design patterns [9]), and advanced operating system mechanisms (such as explicit dynamic linking and multi-threading [10]). 9 Sample Code The following code illustrates an example of the Reactor object behavioral pattern. The example implements a portion of the logging server described in ..."
Abstract
-
Cited by 122 (57 self)
- Add to MetaCart
Factory design patterns [9]), and advanced operating system mechanisms (such as explicit dynamic linking and multi-threading [10]). 9 Sample Code The following code illustrates an example of the Reactor object behavioral pattern. The example implements a portion of the logging server described in Section 2. This example also illustrates the use of an object creational pattern called the Accepter (described in [7]). The Accepter pattern decouples the act of establishing a connection from the service(s) provided once a connection is established. This pattern is useful for simplifying the development of connection-oriented network services (such as file transfer, remote login, distributed logging, and video-on-demand). The Accepter pattern enables the application-specific portion of a service to be modified independently of the mechanism used to establish the connection. The code shown below implements the ClientAccepter class. This class performs the steps necessary to accept connecti...
Requirements Engineering in the Year 00: A Research Perspective
, 2000
"... Requirements engineering (RE) is concerned with the identification of the goals to be achieved by the envisioned system, the operationalization of such goals into services and constraints, and the assignment of responsibilities for the resulting requirements to agents such as humans, devices, a ..."
Abstract
-
Cited by 107 (11 self)
- Add to MetaCart
Requirements engineering (RE) is concerned with the identification of the goals to be achieved by the envisioned system, the operationalization of such goals into services and constraints, and the assignment of responsibilities for the resulting requirements to agents such as humans, devices, and software. The processes involved in RE include domain analysis, elicitation, specification, assessment, negotiation, documentation, and evolution. Getting highquality requirements is difficult and critical. Recent surveys have confirmed the growing recognition of RE as an area of utmost importance in software engineering research and practice. The paper presents a brief history of the main concepts and techniques developed to date to support the RE task, with a special focus on modeling as a common denominator to all RE processes. The initial description of a complex safetycritical system is used to illustrate a number of current research trends in RE-specific areas such as go...
Automatic Code Generation from Design Patterns
- IBM Systems Journal
, 1996
"... Design patterns raise the abstraction level at which people design and communicate design of object-oriented software. But design patterns still leave the mechanics of their implementation to the programmer. This paper describes the architecture and implementation of a tool that automates the implem ..."
Abstract
-
Cited by 104 (1 self)
- Add to MetaCart
Design patterns raise the abstraction level at which people design and communicate design of object-oriented software. But design patterns still leave the mechanics of their implementation to the programmer. This paper describes the architecture and implementation of a tool that automates the implementation of design patterns. The user of the tool supplies application-specific information for a given pattern, from which the tool generates all the pattern-prescribed code automatically. The tool has a distributed architecture that lends itself to implementation with off-the-shelf components. 1
Object-Oriented Patterns
, 1992
"... This article explores patterns, how to find them, presents some patterns for object-oriented analysis (OOA) and object-oriented design (OOD) as well as providing examples and guidelines for applying them. Patterns Apply to Many Disciplines What is a pattern? Pattern. A fully realized form, original, ..."
Abstract
-
Cited by 103 (0 self)
- Add to MetaCart
This article explores patterns, how to find them, presents some patterns for object-oriented analysis (OOA) and object-oriented design (OOD) as well as providing examples and guidelines for applying them. Patterns Apply to Many Disciplines What is a pattern? Pattern. A fully realized form, original, or model accepted or proposed for imitation: something regarded as a normative example to be copied; archetype; exemplar (10). Many fields use patterns in various ways: In music and literature, a pattern is the coherent structure or design of a song or book. In art, a pattern is the composition or plan of a work of graphic or plastic art. In architecture, a pattern is an architectural design or style. In psychology, a pattern is a thinking mechanism that is basic to the brain's operation, helping one to perceive things quickly (1). In archeology, a pattern is a group of phases having several distinguishing and fundamental features in common. In linguistics, a pattern is the manner in which smaller units of language are grouped into larger units. In dressmaking, a pattern is a pleasing shape that is applied repeatedly. In decorating, a pattern is a design or figure appearing in furniture or an accessory. In manufacturing, a pattern is the shape or style of a manufactured form. In aviation, a pattern is a collection of approaches, turns, and altitudes prescribed for an airplane that is coming in for a landing. In broadcasting, a pattern is a standard diagram for testing television circuits. In numismatics, a pattern is a specimen of a proposed coin or coin design. In chess, a pattern is a set of moves that may be applied in an overall strategy (10). With each pattern, small piecework is standardized into a larger chunk or unit. Patterns become the building blocks for design an...
A Unified Framework for Cohesion Measurement in Object-Oriented Systems
, 1997
"... The increasing importance being placed on software measurement has lead to an increased amount of research developing new software measures. Given the importance of object-oriented development techniques, one specific area where this has occurred is cohesion measurement in object-oriented systems. H ..."
Abstract
-
Cited by 97 (12 self)
- Add to MetaCart
The increasing importance being placed on software measurement has lead to an increased amount of research developing new software measures. Given the importance of object-oriented development techniques, one specific area where this has occurred is cohesion measurement in object-oriented systems. However, despite a very interesting body of work, there is little understanding of the motivation and empirical hypotheses behind many of these new measures. It is often difficult to determine how such measures relate to one another and for which application they can be used. As a consequence, it is very difficult for practitioners and researchers to obtain a clear picture of the state-of-the-art in order to select or define cohesion measures for object-oriented systems. This situation is addressed and clarified through several different activities. First, a standardized terminology and formalism for expressing measures is provided which ensures that all measures using it are expressed in a f...
Agent-Oriented Software Engineering: The State of the Art
, 2001
"... Abstract. Software engineers continually strive to develop tools and techniques to manage the complexity that is inherent in software systems. In this article, we argue that intelligent agents and multi-agent systems are just such tools. We begin by reviewing what is meant by the term “agent”, and c ..."
Abstract
-
Cited by 96 (0 self)
- Add to MetaCart
Abstract. Software engineers continually strive to develop tools and techniques to manage the complexity that is inherent in software systems. In this article, we argue that intelligent agents and multi-agent systems are just such tools. We begin by reviewing what is meant by the term “agent”, and contrast agents with objects. We then go on to examine a number of prototype techniques proposed for engineering agent systems, including methodologies for agent-oriented analysis and design, formal specification and verification methods for agent systems, and techniques for implementing agent specifications. 1
Design Recovery by Automated Search for Structural Design Patterns in Object-Oriented Software
- PROCEEDINGS OF THE 3RD WORKING CONFERENCE ON REVERSE ENGINEERING
, 1996
"... The object-oriented design community has recently begun to collect so-called design patterns: cliches plus hints to their recommended use in software construction. The structural design patterns Adapter, Bridge, Composite, Decorator, and Proxy represent packaged problem/context/solution/properties d ..."
Abstract
-
Cited by 95 (0 self)
- Add to MetaCart
The object-oriented design community has recently begun to collect so-called design patterns: cliches plus hints to their recommended use in software construction. The structural design patterns Adapter, Bridge, Composite, Decorator, and Proxy represent packaged problem/context/solution/properties descriptions to common problems in object-oriented design. Localizing instances of these patterns in existing software produced without explicit use of patterns can improve the maintainability of software. In our approach, called the Pat system, design information is extracted directly from C ++ header files and stored in a repository. The patterns are expressed as Prolog rules and the design information is translated into facts. A single Prolog query is then used to search for all patterns. We examined four applications, including the popular class libraries zApp and LEDA, with Pat. With some restrictions all pattern instances are found; the precision is about 40 percent. Since manual filtering of the
output is relatively easy, we consider Pat a useful tool
for discovering or recovering design information.

