1,482 research outputs found
Composition, reuse and interaction analysis of stateful aspects
Aspect-Oriented Programming promises separation of concerns at the implementation level. However, aspects are not always orrthogonal and aspect interaction is a fundamental problem. In this paper, we extend previous work on a generic framework for the formal definition and interaction analysis of stateful aspects. We propose three important extensions which enhance expressivity while preserving static analyzability of interactions. First, we provide support for variables in aspects in order to share information between different execution points. This allows the definition of more precise aspects and to avoid detection of spurious conflicts. Second, we introduce generic composition operators for aspects. This enables us to provide expressive support for the resolution of conflicts among interacting aspects. Finally, we offer a means to define applicability conditions for aspects. This makes interaction analysis more precise and paves the way for reuse of aspects by making explicit requirements on contexts in which aspects must be used
Aspects of Assembly and Cascaded Aspects of Assembly: Logical and Temporal Properties
Highly dynamic computing environments, like ubiquitous and pervasive
computing environments, require frequent adaptation of applications. This has
to be done in a timely fashion, and the adaptation process must be as fast as
possible and mastered. Moreover the adaptation process has to ensure a
consistent result when finished whereas adaptations to be implemented cannot be
anticipated at design time. In this paper we present our mechanism for
self-adaptation based on the aspect oriented programming paradigm called Aspect
of Assembly (AAs). Using AAs: (1) the adaptations process is fast and its
duration is mastered; (2) adaptations' entities are independent of each other
thanks to the weaver logical merging mechanism; and (3) the high variability of
the software infrastructure can be managed using a mono or multi-cycle weaving
approach.Comment: 14 pages, published in International Journal of Computer Science,
Volume 8, issue 4, Jul 2011, ISSN 1694-081
Configurable Software Performance Completions through Higher-Order Model Transformations
Chillies is a novel approach for variable model transformations closing the gap between abstract architecture models, used for performance prediction, and required low-level details. We enable variability of transformations using chain of generators based on the Higher-Order Transformation (HOT). HOTs target different goals, such as template instantiation or transformation composition. In addition, we discuss state-dependent behavior in prediction models and quality of model transformations
Grid service-based e-learning systems architecures
E-Learning has been a topic of increasing interest in recent years, due mainly to the fact that content and tool support can now be offered at a widely affordable level. As a result, many elearning platforms and systems have been developed. Client-server, peer-to-peer and recently Web services architectures often form the basis. Major drawbacks of these architectures are their limitations in terms of scalability and the availability and distribution of resources. This chapter investigates grid architectures in the context of e-learning as a proposed answer for this problem. The principles and technologies of Grid architectures are discussed and illustrated using learning technology scenarios and systems
Multifunctionality in embodied agents: Three levels of neural reuse
The brain in conjunction with the body is able to adapt to new environments
and perform multiple behaviors through reuse of neural resources and transfer
of existing behavioral traits. Although mechanisms that underlie this ability
are not well understood, they are largely attributed to neuromodulation. In
this work, we demonstrate that an agent can be multifunctional using the same
sensory and motor systems across behaviors, in the absence of modulatory
mechanisms. Further, we lay out the different levels at which neural reuse can
occur through a dynamical filtering of the brain-body-environment system's
operation: structural network, autonomous dynamics, and transient dynamics.
Notably, transient dynamics reuse could only be explained by studying the
brain-body-environment system as a whole and not just the brain. The
multifunctional agent we present here demonstrates neural reuse at all three
levels.Comment: Accepted at Cognitive Science Conference, 201
The Paths to Choreography Extraction
Choreographies are global descriptions of interactions among concurrent
components, most notably used in the settings of verification (e.g., Multiparty
Session Types) and synthesis of correct-by-construction software (Choreographic
Programming). They require a top-down approach: programmers first write
choreographies, and then use them to verify or synthesize their programs.
However, most existing software does not come with choreographies yet, which
prevents their application.
To attack this problem, we propose a novel methodology (called choreography
extraction) that, given a set of programs or protocol specifications,
automatically constructs a choreography that describes their behavior. The key
to our extraction is identifying a set of paths in a graph that represents the
symbolic execution of the programs of interest. Our method improves on previous
work in several directions: we can now deal with programs that are equipped
with a state and internal computation capabilities; time complexity is
dramatically better; we capture programs that are correct but not necessarily
synchronizable, i.e., they work because they exploit asynchronous
communication
An Event-Based Coordination Model for Context-Aware Applications
International audienceContext-aware applications adapt their behavior depending on changes in their environment context. Programming such applications in a modular way requires to modularize the global context into more specific contexts and attach specific behavior to these contexts. This is reminiscent of aspects and has led to the notion of context-aware aspects. This paper revisits this notion of context-aware aspects in the light of previous work on concurrent event-based aspect-oriented programming (CEAOP). It shows how CEAOP can be extended in a seamless way in order to define a model for the coordination of concurrent adaptation rules with explicit contexts. This makes it possible to reason about the compositions of such rules. The model is concretized into a prototypical modeling language
Modular Moose: A new generation software reverse engineering environment
Advanced reverse engineering tools are required to cope with the complexity
of software systems and the specific requirements of numerous different tasks
(re-architecturing, migration, evolution). Consequently, reverse engineering
tools should adapt to a wide range of situations. Yet, because they require a
large infrastructure investment, being able to reuse these tools is key. Moose
is a reverse engineering environment answering these requirements. While Moose
started as a research project 20 years ago, it is also used in industrial
projects, exposing itself to all these difficulties. In this paper we present
ModMoose, the new version of Moose. ModMoose revolves around a new meta-model,
modular and extensible; a new toolset of generic tools (query module,
visualization engine, ...); and an open architecture supporting the
synchronization and interaction of tools per task. With ModMoose, tool
developers can develop specific meta-models by reusing existing elementary
concepts, and dedicated reverse engineering tools that can interact with the
existing ones
- …