Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Jorge Vallejos is active.

Publication


Featured researches published by Jorge Vallejos.


Proceedings of the 2007 international conference on Dynamic languages | 2007

Change-oriented software engineering

Peter Ebraert; Jorge Vallejos; Pascal Costanza; Ellen Van Paesschen; Theo D'Hondt

We propose a first-class change model for Change-Oriented Software Engineering (COSE). Based on an evolution scenario, we identify a lack of support in current Interactive Development Environments (IDEs) to apply COSE. We introduce a set of five extensions to an existing model of first-class changes and describe the desired behaviour of change-oriented IDEs to support COSE. With the help of an evolution scenario, we show why those extensions are required. Finally we describe ChEOPS: a prototypical implementation of a change-oriented IDE on top of VisualWorks and illustrate how it supports the extended first-class change model. ChEOPS is finally used to validate COSE as a solution for the shortcomings of existing IDEs.


Contexts | 2007

Context-oriented domain analysis

Brecht Desmet; Jorge Vallejos; Pascal Costanza; Wolfgang De Meuter; Theo D'Hondt

Context-aware systems are software systems which adapt their behaviour according to the context of use. The requirements engineering phase is recognized as a primordial step to develop robust implementations of context-aware systems since it establishes a comprehensive understanding of the problem space. This paper proposes the Context-Oriented Domain Analysis (CODA) model which is a specialized approach for analyzing, structuring, and formalizing the software requirements of context-aware systems.


sigplan symposium on new ideas new paradigms and reflections on programming and software | 2012

Interruptible context-dependent executions: a fresh look at programming context-aware applications

Jorge Vallejos; Coen De Roover; Andoni Lombide Carreton; Wolfgang De Meuter

Context-aware applications provide end-users with enhanced experiences by continuously sensing their environment and adapting their behaviour to match the current context of use. However, developing true context-aware applications remains notoriously difficult due to the unpredictable nature of context changes. A context change may occur at any moment during a procedure execution, which may require an ongoing execution to be promptly interrupted in order to prevent the procedure from running in a wrong context. Currently, developers have to manually constrain a procedure execution to a particular context and take care of saving and restoring the execution state between context changes. Such manual approaches are error-prone and may lead to incorrect application behaviour. This paper presents a novel programming language model called interruptible context-dependent executions, where a procedure execution is always constrained to happen only under a specified context. In this model, a procedure execution can be seamlessly interrupted or resumed depending on the context. Additionally, the procedure execution state is automatically preserved between interruptions. We present the Flute language that supports interruptible context-dependent executions.


acm symposium on applied computing | 2012

Context-oriented programming for customizable SaaS applications

Eddy Truyen; Nicolás Cardozo; Stefan Walraven; Jorge Vallejos; Sebastian Günther; Theo D'Hondt; Wouter Joosen

Software-as-a-Service (SaaS) applications are multi-tenant software applications that are delivered as highly configurable web services to individual customers, which are called tenants in this context. For reasons of complexity management and to lower maintenance cost, SaaS providers maintain and deploy a single version of the application code for all tenants. As a result, however, custom-made extensions for individual tenants cannot be efficiently integrated and managed. In this paper we show that by using a context-oriented programming model, cross-tier tenant-specific software variations can be easily integrated into the single-version application code base. Moreover, the selection of which variations to execute can be configured on a per tenant basis. Concretely, we provide a technical case study based on Google App Engine (GAE), a cloud platform for building multi-tenant web applications. We contribute by showing: (a) how ContextJ, a context-oriented programming (COP) language, can be used with GAE, (b) the increase in flexibility and customizability of tenant-specific software variations using ContextJ as compared to Googles dependency injection framework Guice, and (c) that the performance of using ContextJ is comparable to Guice. Based on these observations, we come to the conclusion that COP can be helpful for providing software variations in SaaS.


Information & Software Technology | 2015

Semantics for Consistent Activation in Context-Oriented Systems

Nicolás Cardozo; Sebastián González; Kim Mens; Ragnhild Van Der Straeten; Jorge Vallejos; Theo D'Hondt

Context: Context-oriented programming languages provide dedicated programming abstractions to define behavioral adaptations and means to combine those adaptations dynamically according to sensed context changes. Some of these languages feature programming abstractions to explicitly define interaction dependencies among contexts. However, the semantics of context activation and the meaning of dependency relations have been described only informally, which in some cases has led to incorrect specifications, faulty implementations and inconsistent system behavior. Objective: With the aim of avoiding faulty implementations and inconsistencies during system execution, this paper proposes both a formal and run-time model of contexts, context activation and context interaction. Method: As a formal and computational basis, we introduce context Petri nets, a model based on Petri nets, which we found to match closely the structure of contexts in context-oriented systems. The operational semantics of Petri nets permits the modeling of run-time context activations, and existing Petri net analyses allow to reason about system properties. As validation, we carried out small and medium-sized case studies. Results: In the explored cases, Context Petri nets served effectively as underlying run-time model to ensure that declared context interaction constraints remain consistent during context manipulation. Moreover, context Petri nets enabled us to analyze certain properties regarding the activation state of particular contexts. Conclusion: Context Petri nets thus proved to be an appropriate formalism to encode and manage the semantics of context activation, both formally and computationally, so as to preserve the consistency of context-oriented systems.


Soft Computing | 2010

Predicated Generic Functions

Jorge Vallejos; Sebastián González; Pascal Costanza; Wolfgang De Meuter; Theo D’Hondt; Kim Mens

This paper presents predicated generic functions, a novel programming language abstraction that allows the expression of context-dependent behaviour in a declarative and modular manner, providing fine-grained control of method applicability and method specificity. Methods are guarded by predicates with user-defined orderings, thereby increasing the expressiveness of existing method dispatching approaches. We have prototyped our proposal in Lambic, an extension of the standard Common Lisp Object System. We illustrate and motivate our approach by discussing the implementation of a collaborative graphical editor.


distributed applications and interoperable systems | 2007

The context-dependent role model

Jorge Vallejos; Peter Ebraert; Brecht Desmet; Tom Van Cutsem; Stijn Mostinckx; Pascal Costanza

Implementing context-dependent behaviour of pervasive computing applications puts a great burden on programmers: Devices need to continuously adapt not only to their own context, but also to the context of other devices they interact with. We present an approach that modularises behavioural adaptations into roles. Role selection takes the context of all the devices involved in an interaction into account, ensures an unambiguous scope of adaptation even in the presence of concurrency, and protects the privacy of the devices. Thus, our context-dependent role (CDR) model facilitates expressing interactions between applications in different, possibly conflicting contexts.


dynamic languages symposium | 2008

Filtered dispatch

Pascal Costanza; Charlotte Herzeel; Jorge Vallejos; Theo D'Hondt

Predicate dispatching is a generalized form of dynamic dispatch, which has strong limitations when arbitrary predicates of the underlying base language are used. Unlike classes, which enforce subset relationships between their sets of instances, arbitrary predicates generally do not designate subsets of each other, so methods whose applicability is based on predicates cannot be ordered according to their specificity in the general case. This paper introduces a decidable but expressive alternative mechanism called filtered dispatch that adds a simple preprocessing step before the actual method dispatch is performed and thus enables the use of arbitrary predicates for selecting and applying methods.


Software - Practice and Experience | 2012

Bringing Scheme programming to the iPhone—Experience

Jorge Vallejos; Elisa Gonzalez Boix; Pascal Costanza; Theo D'Hondt; Wolfgang De Meuter

The iPhone SDK provides a powerful platform for the development of applications that make use of iPhone capabilities, such as sensors, GPS, Wi‐Fi, or Bluetooth connectivity. We observe that so far the development of iPhone applications has mostly been restricted to using Objective‐C. However, developing applications in plain Objective‐C on the iPhone OS suffers from limitations, such as the need for explicit memory management and lack of syntactic extension mechanism. Moreover, when developing distributed applications in Objective‐C, programmers have to manually deal with distribution concerns, such as service discovery, remote communication, and failure handling. In this paper, we discuss our experience in porting the Scheme programming language to the iPhone OS and how it can be used together with Objective‐C to develop iPhone applications. To support the interaction between Scheme programs and the underlying iPhone APIs, we have implemented a language symbiosis layer that enables programmers to access the iPhone SDK libraries from Scheme. In addition, we have designed high‐level distribution constructs to ease the development of distributed iPhone applications in an event‐driven style. We validate and discuss these constructs with a series of examples, including an iPod controller, a maps application, and a distributed multiplayer Scrabble‐like game. We discuss the lessons learned from this experience for other programming language ports to mobile platforms. Copyright


International Conference on Objects, Components, Models and Patterns | 2009

A Leasing Model to Deal with Partial Failures in Mobile Ad Hoc Networks

Elisa Gonzalez Boix; Tom Van Cutsem; Jorge Vallejos; Wolfgang De Meuter; Theo D’Hondt

In mobile ad hoc networks (MANETs) many partial failures are the result of temporary network partitions due to the intermittent connectivity of mobile devices. Some of these failures will be permanent and require application-level failure handling. However, it is impossible to distinguish a permanent from a transient failure. Leasing provides a solution to this problem based on the temporal restriction of resources. But to date no leasing model has been designed specifically for MANETs. In this paper, we identify three characteristics required for a leasing model to be usable in a MANET, discuss the issues with existing leasing models and then propose the leased object references model, which integrates leasing with remote object references. In addition, we describe an implementation of the model in the programming language AmbientTalk. Leased object references provide an extensible framework that allows programmers to express their own leasing patterns and enables both lease holders (clients) and lease grantors (services) to deal with permanent failures.

Collaboration


Dive into the Jorge Vallejos's collaboration.

Top Co-Authors

Avatar

Pascal Costanza

Vrije Universiteit Brussel

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Theo D'Hondt

Vrije Universiteit Brussel

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Kim Mens

Université catholique de Louvain

View shared research outputs
Top Co-Authors

Avatar

Sebastián González

Université catholique de Louvain

View shared research outputs
Top Co-Authors

Avatar

Tom Van Cutsem

Vrije Universiteit Brussel

View shared research outputs
Top Co-Authors

Avatar

Brecht Desmet

Vrije Universiteit Brussel

View shared research outputs
Top Co-Authors

Avatar

Peter Ebraert

Vrije Universiteit Brussel

View shared research outputs
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge