9474173
Improving modularity of reflective middleware with aspect-oriented programming
Reflective middleware has been proposed as an effective way to enhance adaptability of component-oriented middleware architectures. To be effectively adaptable, the implementation of reflective middleware needs to be modular. However, some recently emerged applications such as mobile, pervasive, and embedded applications have imposed more stringent modularity requirements to the middleware design. They require support for the conception of a minimal middleware while promoting finegrained modularity of reflective middleware features. The key problem is that fundamental mechanisms for decomposing reflective middleware implementations, such as object-oriented ones, suffer from not providing the proper means to achieve the required level of localizing reflection-specific concerns. This paper presents a systematic investigation on how aspect-oriented programming scales up to improve modularity of typical reflection-specific crosscutting concerns. We have quantitatively compared Java and AspectJ implementations of an OpenORB-compliant reflective middleware using separation of concerns metrics.
979214
Enhancing agent-oriented models with aspects
The modular representation of concerns is imperative in the design modeling of multi-agent systems (MASs). However, MAS designers typically face a number of concerns that inherently affect several system agents and their respective internal elements, such as actions and goals. These crosscutting concerns encompass both internal and systemic properties, such as learning, mobility, error handling, and security. Without an explicit modeling of such MAS properties, designers can not properly communicate and reason about them and their broadly-scoped effects. The result is a multitude of agent-oriented design breakdowns: poor traceability from requirements to design models, hindering of reuse opportunities, and decreased evolvability. This paper presents an enhancement of an existing agent-oriented modeling language with aspects. We illustrate the use of our approach through some classical examples of crosscutting concerns in agent-oriented design models.
5283455
Customizing Aspect-Oriented Variabilities using Generative Techniques
With the emergence of aspect-oriented (AO) techniques, crosscutting concerns can be now explicitly modularized and exposed as additional variabilities in program families. Hence, the development of highly customizable software family architectures requires the explicit handling of crosscutting variabilities through domain engineering and application engineering steps. In this context, this paper presents a generative model that addresses the implementation and instantiation of variabilities encountered in AO software family architectures. The use of our model allows for an early specification and preparation of AO variabilities, which in turn can be explicitly customized by means of domain engineering activities. All the variabilities of the architecture are modeled using feature models. In application engineering, developers can request an instance of the AO architecture in a process of two stages: (i) the definition of a feature model instance which specifies the resolution of variabilities for the AO family architecture; and (ii) the definition of a set of crosscutting relationships between features.
10325620
Agents in object-oriented software engineering
12082403
Improving Extensibility of Object-Oriented Frameworks with Aspect-Oriented Programming
Object-oriented frameworks are nowadays a common and useful technology used in the implementation of software system families. Despite their benefits, over the last years many researchers have described the inadequacy of object-oriented mechanisms to address the modularization and composition of many framework features, thus reducing the extent to which a framework can be extended. The crosscutting nature of many framework features is identified as one of the main causes of these problems. In this paper, we analyze how aspect-oriented programming can help to improve the design, implementation, and extension of object-oriented frameworks. We propose the concept of Extension Join Points (EJPs) as a way of designing and documenting existing crosscutting extension points. EJPs improve framework extensibility, including superior composability of the framework core functionality with other modules or frameworks. Four case studies of frameworks from diverse domains are presented to illustrate our proposal. This paper also discusses lessons learned on the application of our approach to the development and extension of these frameworks.
45365979
Software Engineering for Multi-Agent Systems
5520687
Web Navigation Patterns
6652666
A method for analyzing team design activity
Design is a comples activity that has been the focus of substantial research work. Alone or in groups, dcsigncrs create, develop. refine. analyze and document their conceptualization of a product. Many research prqjects have proposed methods for observing the design activity. These methods vary from simple documentation analysis to video tape analysis. Although video tape technology has been in use for many years to record design activity. systematic methods have not been developed to analyze video data. This paper presents a method for analyzing team design activity recorded in videotapes. The purpose of the method is to reduce the subjectivity of video data analysis. Our study has been developed in the domain of cotlaborativc software design. The design activity of a multi-disciplinary group including from five to eight people was vidcotapcd and has heen analyzed. The team was involved with the design of an educational software system using the approach of decision making meetings. The analysis focused on the dynamics of the interactions among people involved in the design activity. This study is based on the belief that the interactions established among designers will provide important insights for a better understanding of design practice.
29246421
Sharing design perspectives through storytelling
Design consists of analyzing scenarios and proposing artifacts, obeying the initial set of requirements that lead from initial to goal state. Finding or creating alternative solutions, analyzing them, and selecting the best one are expected steps in the designer’s decision making process. Very often, not a sole designer, but a team of them is engaged in the design process, sharing their expertise and responsibility to achieve optimum projects. In a design team, most conflicts occur due to misunderstanding of one’s assessment of specifications and contexts. Decision explanations play a key role in teamwork success. Designers are rational agents trained to follow rational methods. Acceptable justifications include value function, requirements, constraints, and criteria. Generally, explanations are delivered in a multimedia fashion, composed of text, graphics and gestures, to provide the audience the ability to perceive what was contextually imagined. The more spatial the reasoning is, the richer the explanation channel should be. This paper presents CineADD, a design explanation generation model based on cinema techniques such as animation, scripting, editing, and camera movements. The idea is to provide designers with a tool for describing the way their projects should be visually explained, as in a movie. Designers develop their projects in an active design document environment. Rationale is captured as a design model, so explanations can be generated instead of retrieved. The captured design model serves as a base to visually reconstruct design, giving emphasis and guidance by using movie storytelling techniques. CineADD was implemented for the domain of oil pipeline layout showing the feasibility of this approach. We expect CineADD to become a commodity attachable to any intelligent CAD system.
6083238
A Multiagent System Applied to the Design of Petroleum Off-Shore Platforms
This paper presents a model for cooperative multi-agents that interact in a closed environment, i.e., an environment where the rules are well known by the agents and do not change dynamically. In a computational environment where several different software agents share resources to reach their goals, the occurrence of conflicts is inevitable. Therefore it is of highest importance to have an efficient mechanism to solve such conflicts. While other models in the literature present solutions for conflict resolution based on centralized and distributed algorithms, our proposal is to solve the conflicts in a hierarchical manner. The proposed model is based on the application of Social Laws and it was inspired by the theory of Jean Jacques Rousseau’s Social Contract, being denominated Tri-Coord Model, that is, of Triple Coordination. We implemented a prototype based on the Tri-Coord Model, and applied to the task of oil and gas process floorplan design in a petroleum off-shore platform. In that domain the project is divided in several subsystems, with an agent being responsible for each sub-system. Our experiments indicate that the Tri-Coord Model can indeed yield a better performance in the development of a project. First, because it decreases the interruptions for accomplishment of meetings to solve conflicts related to customization of sub-system’s parameters. Second, because it removes the bottleneck associated to a centralized model for conflict resolution. Third, because through the regulator environment of Tri-Coord the agents behavior can be controlled implicitly by the environment. In that way the agents learn how to interact correctly and the independence between the environment and the agents turns the system more flexible.
13425018
Lithofacies recognition hybrid bench
Well offshore petroleum exploration is a risky, but very profitable task. Determining the rock formation of each layer of a given reservoir diminishes the risks of expending a great deal of money drilling dry wells. Since collecting offshore rock samples is difficult and expensive, geologists must decide upon drilling based on indirect measures called well log. Traditional statistical methods have been used to assist this task. Neural networks have also been successfully used. As an alternative fuzzy logic based systems have an extra appeal of intuitive comprehension of some uncertainties. This paper presents a hybrid tool that combines neural networks, fuzzy logic and neuro-fuzzy logic to improve human intuition when analyzing the potential of oil fields.