5202352
Taming Agents and Objects in Software Engineering
Agent-based software engineering has been proposed in addition to object-oriented software engineering as a means of mastering the complexity associated with the development of large-scale distributed systems. However, there is still a poor understanding of the interplay between the notions of agents and objects from a software engineering perspective. Moreover, the many facets of agent-based software engineering are rarely used in the various phases of the software development lifecycle because of the lack of a comprehensive framework to provide the software designers with a clear understanding of the use of these two key abstractions. In this context, this paper presents TAO, an evolving innovative conceptual framework based on agent and object abstractions, which are the foundations for modeling large-scale software systems. The conceptual framework allows for the characterization of large-scale software systems as organizations of passive components, the objects, and autonomous components, the agents, with each of these elements playing roles to interact with each other and to coordinate their actions in order to fulfill system goals.
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.
45365979
Software Engineering for Multi-Agent Systems
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.
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.
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.
8265478
MIRA: A Distributed and Scalable WAN/LAN Real-Time Measurement Platform
In this paper we describe MIRA, a distributed and scalable architecture for flow-based monitoring and traffic analysis. MIRA relies on data inspection to provide advanced monitoring services such as Acceptable User Policy auditing. It is based on a low cost hardware platform that can be deployed in both LAN and WAN environments. The distributed architecture of the measurement platform is designed to provide real-time global results from a complex network. Processing rate can be seamlessly increased by the addition of new hardware elements. The MIRA architecture has been thoroughly tested in a field trial on RedIRIS, the Spanish National Research Network.
44575256
An X-Ray of the Brazilian e-Gov Web Sites
The digital inclusion promotes the reduction of social inequalities. Based on this principle, the Brazilian Government has been setting up an increasing number of Web access locations to render virtual support to its citizens. However, there are no guidelines for the construction and assessment of these electronic Government (e-Gov) sites. In this article we measure the web site quality in the e-Gov domain with the following proprieties: usability, accessibility, interoperability, security, privacy, information reliability, and service agility. We implemented our method, by using a checklist tool, in the evaluation of 127 Brazilian government sites (federal, state and municipal). Our method proved itself efficient in the diagnosis and identification of specific problems in the e-Gov site domain.
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.
15357706
Modeling flow around a microrotor in creeping flow using a quasi-steady-state analysis
Paramagnetic microsphere suspensions placed in a rotating magnetic field aggregate to form rotating magnetic chains. These chains that are several tens of micrometers in length act as microrotors, and can be modeled as circular cylinders. The flow and associated micromixing around these cylinders rotating about their radial axis is studied for a very low Reynolds number, creeping-flow system.. Time-scales for momentum transfer are much smaller than boundary movement, hence a quasi-steady approximation can be used. The flow is derived at every instant from the case of a steady motion of a horizontally translating cylinder, with the rotation approximated to a series of incremental translations. A numerical simulation was used to determine the pathlines and material lines of point fluid elements, which were analyzed to understand the behavior of the microfluidic system. The results indicate the flow to be unsteady, with chaotic advection observed in the system. The flow is primarily two-dimensional with planar fluid movement limited to the immediate area around the rotating cylinder, with a small disturbance in the axial direction that is experienced up to many diameters away. Elliptic and star shaped pathlines, including periodic orbits, are observed depending on the fluid element's initial location. The trajectories and phase angles compare well with the limited experimental results, as well as with data from particle dynamics simulations. Material lines and streaklines display stretching and folding, which are indicative of the chaotic behavior of the system. The material lines have similar lengths for the same amount of rotation at different speeds, and the affect of rotational speeds appears to be primarily to change the time of mixing.