Davy Suvée
Vrije Universiteit Brussel
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Davy Suvée.
aspect-oriented software development | 2006
Luis Daniel Benavides Navarro; Mario Südholt; Wim Vanderperren; Bruno De Fraine; Davy Suvée
Distribution-related concerns, such as data replication, often crosscut the business code of a distributed application. Currently such crosscutting concerns are frequently realized on top of distributed frameworks, such as EJBs, and initial AO support for the modularization of such crosscutting concerns, e.g., JBoss AOP and Spring AOP, has been proposed.Based on an investigation of the implementation of replicated caches using JBoss Cache, we motivate that crosscutting concerns of distributed applications benefit from an aspect language for explicit distributed programming. We propose AWED, a new aspect language with explicit distributed programming mechanisms, which provides three contributions. First, remote pointcut constructors which are more general than those of previous related approaches, in particular, supporting remote sequences. Second, a notion of distributed advice with support for asynchronous and synchronous execution. Third, a notion of distributed aspects including models for the deployment, instantiation and state sharing of aspects. We show several concrete examples how AWED can be used to modularly implement and extend replicated cache implementations. Finally, we present a prototype implementation of AWED, which we have realized by extending JAsCo, a system providing dynamic aspects for Java.
Lecture Notes in Computer Science | 2005
Wim Vanderperren; Davy Suvée; María Agustina Cibrán; Bruno De Fraine
Aspects that trigger on a sequence of join points instead of on a single join point are not explicitly supported in current Aspect-Oriented approaches. Explicit protocols are however frequently employed in Component-Based Software Development and business processes and are as such valid targets for aspect application. In this paper, we propose an extension of the JAsCo aspect-oriented programming language for declaratively specifying a protocol fragment. The proposed pointcut language is equivalent to a finite state machine. Advices can be attached to every transition specified in the pointcut protocol. Furthermore, the complement of a protocol can also be used for triggering aspects. The JAsCo tools support the stateful aspects language and implement it very efficiently by employing the JAsCo run-time weaver. As a validation of the approach, we present a case study in the context of reaction business rules.
aspect-oriented software development | 2005
Wim Vanderperren; Davy Suvée; Bart Verheecke; María Agustina Cibrán; Viviane Jonckers
In this paper we propose an extension to JAsCo for supporting Adaptive Programming in a Component-Based Software Development context. JAsCo is an aspect-oriented programming language targeted at Component-Based Software Development and allows encapsulating crosscutting concerns using highly reusable aspect beans. Adaptive Programming on the other hand, allows capturing crosscutting concerns by structure-shy adaptive visitors. We propose to implement an adaptive visitor as a regular JAsCo aspect bean. Hence, the reusability of an adaptive visitor is improved because the same visitor can be reused within different component contexts. We introduce JAsCo traversal connectors to deploy adaptive visitors, implemented as JAsCo aspect beans, upon a concrete component traversal. In addition, these traversal connectors allow to explicitly specify how the behavior of several adaptive visitors, instantiated onto the same component traversal, needs to be combined by making use of the JAsCo precedence and combination strategies. A prototype implementation of the JAsCo Adaptive Programming extension, which employs the DJ library, is available. As a proof of concept, we present an extended case study in the context of the Web Service Management Layer (WSML) project. In this case study, a set of visitors implemented in JAsCo is reused to accomplish multiple tasks.
component based software engineering | 2006
Davy Suvée; Bruno De Fraine; Wim Vanderperren
In this paper, we propose a novel approach towards integrating the ideas behind Aspect-Oriented and Component-Based Software Development. Our approach aims at achieving a symmetric, unified component architecture that treats aspects and components as uniform entities. To this end, a novel component model is introduced that does not employ specialized aspect constructs for modularizing crosscutting concerns. Instead, an expressive configuration language is provided that allows to describe both regular and aspect-oriented interactions amongst components. This paper presents the ongoing FuseJ research, a first experiment for realizing this symmetric and unified aspect/component architecture.
international world wide web conferences | 2007
María Agustina Cibrán; Bart Verheecke; Wim Vanderperren; Davy Suvée; Viviane Jonckers
In service-oriented computing, applications are often created by integrating third-party Web Services. Current integration approaches, however, require client applications to hardcode references to specific Web Services, thereby affecting adaptability and robustness. Moreover, support for client-side management is rarely provided. To enable the development of more flexible and robust applications, we propose to insert a new layer between the client applications and the Web Services: the Web Services Management Layer (WSML). This layer decouples Web Services from client applications and enables hot-swapping between semantically equivalent Web Services based on availability. This mechanism allows for dynamic switching between Web Services based on selection policies that encapsulate changing business requirements. In addition, with WSML, client-side management concerns (e.g., caching, billing and logging) can be decoupled from the applications. In this paper, we identify a list of requirements for WSML to realize dynamic integration and client-side service management, and provide support for service criteria to govern the selection, integration and composition of Web Services. We also show that dynamic Aspect-Oriented Programming (AOP) is well suited to implement the core functionality of WSML.
Electronic Notes in Theoretical Computer Science | 2005
Davy Suvée; Wim Vanderperren; Dennis Wagelaar; Viviane Jonckers
In this paper, we claim that a specialized aspect module is not required. Instead, we propose an expressive aspect-oriented composition mechanism which can be applied upon existing modules. At the design level, the CoCompose modeling framework is introduced which is based on Model Driven Development. CoCompose allows step-wise refinement from a high-level design to the lowest level design or code level. Using these refinements, CoCompose postpones the decision concerning the modularization construct that is chosen for a particular concern. At the lowest level design however, a specialized aspect modularization construct still needs to be chosen because current aspect-oriented technologies typically introduce an aspect module. For resolving this issue, the FuseJ programming language is proposed that allows implementing all possible concerns as regular components. FuseJ introduces an expressive component composition mechanism that supports both regular and aspect-oriented compositions between components. As such, a seamless transition from design to implementation is achieved because no specialized aspect modules exist both at the design and implementation level.
fundamental approaches to software engineering | 2003
Wim Vanderperren; Davy Suvée; Bart Wydaeghe; Viviane Jonckers
This paper presents the visual component composition environment called PacoSuite and the tools needed for the JAsCo aspect-oriented programming language. PacoSuite allows plug-and-play component composition without in-depth technical knowledge of the components. PacoSuite uses three constructs: components, composition patterns and composition adapters. A composition pattern is an abstract and reusable description of a collaboration between components. A composition adapter on the other hand, describes transformations of a composition of components and is used to modularize crosscutting concerns. A composition adapter is able to have an implementation in the JAsCo language in order to invasively alter components. Compatibility of a given collaboration is checked using finite automaton theory and the glue-code to make the composition work is generated automatically.
Electronic Notes in Theoretical Computer Science | 2003
Pieter Schollaert; Wim Vanderperren; Davy Suvée; Viviane Jonckers
Abstract In this paper, we present an original approach for enabling online reconfiguration of component-based applications. This research fits into our component composition methodology PacoSuite, that makes use of explicit connectors between components, called composition patterns. Both components and composition patterns are documented by making use of a special kind of MSC. We propose an algorithm to check whether a new component can fulfill the role of an old component in a given composition pattern, without the need to revalidate the entire composition all over again. To enable online reconfiguration, we extend the documentation of a component with a new primitive that specifies when a component reaches a safe state. This approach enables to swap a component at run-time, while maintaining a consistent application.
fundamental approaches to software engineering | 2007
Wim Vanderperren; Davy Suvée; Bruno De Fraine; Viviane Jonckers
This work investigates the combination of aspect-oriented and component-based software development. For integrating aspects within component -based applications, we propose two main strategies: (1) integrating the behavior of aspects at the component composition level and (2) integrating the behavior of the aspects within the involved components themselves. We illustrate how the proposed strategies are incorporated in the PacoSuite component-based model, which introduces explicit and reusable protocol descriptions, called composition patterns. Aspects are integrated at the composition level by modularizing them as composition adapters. Composition adapters are visually applied onto a composition pattern and the changes they describe are automatically inserted. Invasive composition adapters are proposed to express aspects that require invasive changes to the internal behavior of the involved components. These changes are automatically inserted into the concerned components and composition patterns. For implementing the invasive adaptations of a composition adapter, we propose to employ aspect-oriented techniques. The proposed approach is implemented in a visual component composition environment and validated by presenting a small e-commerce case-study where three crosscutting concerns are successfully modularized as composition adapters.
Electronic Notes in Theoretical Computer Science | 2004
Davy Suvée; Wim Vanderperren; Joris Elsocht; Viviane Jonckers
In this tool demonstration paper, we present a plugin for the Eclipse tool platform which provides support for JAsCo. JAsCo is a dynamic AOP language focused at component-based software engineering. The JAsCo Eclipse plugin provides a visual integrated development environment for JAsCo that guides developers to program JAsCo artifacts using visual wizards. The plugin also supports running JAsCo enabled applications and offers an extensive range of debugging and introspection facilities.