124,458 research outputs found
The essence of component-based design and coordination
Is there a characteristic of coordination languages that makes them
qualitatively different from general programming languages and deserves special
academic attention? This report proposes a nuanced answer in three parts. The
first part highlights that coordination languages are the means by which
composite software applications can be specified using components that are only
available separately, or later in time, via standard interfacing mechanisms.
The second part highlights that most currently used languages provide
mechanisms to use externally provided components, and thus exhibit some
elements of coordination. However not all do, and the availability of an
external interface thus forms an objective and qualitative criterion that
distinguishes coordination. The third part argues that despite the qualitative
difference, the segregation of academic attention away from general language
design and implementation has non-obvious cost trade-offs.Comment: 8 pages, 2 figures, 3 table
Characterizing traits of coordination
How can one recognize coordination languages and technologies? As this report
shows, the common approach that contrasts coordination with computation is
intellectually unsound: depending on the selected understanding of the word
"computation", it either captures too many or too few programming languages.
Instead, we argue for objective criteria that can be used to evaluate how well
programming technologies offer coordination services. Of the various criteria
commonly used in this community, we are able to isolate three that are strongly
characterizing: black-box componentization, which we had identified previously,
but also interface extensibility and customizability of run-time optimization
goals. These criteria are well matched by Intel's Concurrent Collections and
AstraKahn, and also by OpenCL, POSIX and VMWare ESX.Comment: 11 pages, 3 table
Agent-Based Computing: Promise and Perils
Agent-based computing represents an exciting new synthesis both for Artificial Intelligence (AI) and, more generally, Computer Science. It has the potential to significantly improve the theory and practice of modelling, designing and implementing complex systems. Yet, to date, there has been little systematic analysis of what makes an agent such an appealing and powerful conceptual model. Moreover, even less effort has been devoted to exploring the inherent disadvantages that stem from adopting an agent-oriented view. Here both sets of issues are explored. The standpoint of this analysis is the role of agent-based software in solving complex, real-world problems. In particular, it will be argued that the development of robust and scalable software systems requires autonomous agents that can complete their objectives while situated in a dynamic and uncertain environment, that can engage in rich, high-level social interactions, and that can operate within flexible organisational structures
Recommended from our members
A programme management approach for ensuring coherence in IS (higher) education
This paper examines IS higher education, concentrating on issues of ‘coherence’ in IS curricula. While curriculum coherence can be jeopardized by poor curriculum design, misalignment between module content and/or misalignment between module or course aims can cause serious coherence issues over time. Misalignment of this type is exacerbated by the traditional processes of curriculum (re)design, which rely heavily on the (singular) interpretation of highly abstract documents, such as module syllabi and course specifications – often produced by curriculum designers in isolation. To improve curriculum coherence, this paper examines the use of a programme management framework as a means of (a) ‘humanizing’ the abstract aims and goals of curricula schemes and (b) managing the delivery and evolution of curricula in relation to the stakeholders in the process of delivery. The practical use of the framework is examined in the context of a Masters-level course in ‘Information Systems Management’. An action research approach is used to demonstrate the practical utility of the framework in terms of (a) improving communication of curricula, (b) improving the coherence between modules and between modules and course and (c) removing content redundancy. Guidelines are presented that generalize the findings in order that key practices may be adopted by others
Cooperation in Industrial Systems
ARCHON is an ongoing ESPRIT II project (P-2256) which is approximately half way through its five year duration. It is concerned with defining and applying techniques from the area of Distributed Artificial Intelligence to the development of real-size industrial applications. Such techniques enable multiple problem solvers (e.g. expert systems, databases and conventional numerical software systems) to communicate and cooperate with each other to improve both their individual problem solving behavior and the behavior of the community as a whole. This paper outlines the niche of ARCHON in the Distributed AI world and provides an overview of the philosophy and architecture of our approach the essence of which is to be both general (applicable to the domain of industrial process control) and powerful enough to handle real-world problems
From Design to Production Control Through the Integration of Engineering Data Management and Workflow Management Systems
At a time when many companies are under pressure to reduce "times-to-market"
the management of product information from the early stages of design through
assembly to manufacture and production has become increasingly important.
Similarly in the construction of high energy physics devices the collection of
(often evolving) engineering data is central to the subsequent physics
analysis. Traditionally in industry design engineers have employed Engineering
Data Management Systems (also called Product Data Management Systems) to
coordinate and control access to documented versions of product designs.
However, these systems provide control only at the collaborative design level
and are seldom used beyond design. Workflow management systems, on the other
hand, are employed in industry to coordinate and support the more complex and
repeatable work processes of the production environment. Commercial workflow
products cannot support the highly dynamic activities found both in the design
stages of product development and in rapidly evolving workflow definitions. The
integration of Product Data Management with Workflow Management can provide
support for product development from initial CAD/CAM collaborative design
through to the support and optimisation of production workflow activities. This
paper investigates this integration and proposes a philosophy for the support
of product data throughout the full development and production lifecycle and
demonstrates its usefulness in the construction of CMS detectors.Comment: 18 pages, 13 figure
Modularity in action.GNU/Linux and free/Open source sotfware development model unleashed.
Organizational and managerial theories of modularity applied to the design and production of complex artifacts are used to interpret the rise and success of Free/Open Source Software methodologies and practices in software engineeringmodularity; software project management; free/open source software; division of labor; coordination; information hiding
On Agent-Based Software Engineering
Agent-based computing represents an exciting new synthesis both for Artificial Intelligence (AI) and, more generally, Computer Science. It has the potential to significantly improve the theory and the practice of modeling, designing, and implementing computer systems. Yet, to date, there has been little systematic analysis of what makes the agent-based approach such an appealing and powerful computational model. Moreover, even less effort has been devoted to discussing the inherent disadvantages that stem from adopting an agent-oriented view. Here both sets of issues are explored. The standpoint of this analysis is the role of agent-based software in solving complex, real-world problems. In particular, it will be argued that the development of robust and scalable software systems requires autonomous agents that can complete their objectives while situated in a dynamic and uncertain environment, that can engage in rich, high-level social interactions, and that can operate within flexible organisational structures
- …