Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data.

Alex Villazón

dblp:73/2830 · DBLP profile ↗
← Back
26ranked-venue papers
7as first author
1since 2021 · last 2022
0000-0001-8428-3420ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 19 · 6 first-author · 1 since 2021Systems, architecture and hardware · 4Applied, interdisciplinary, general and emerging computing · 2Artificial intelligence and machine learning · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
3 papers
Runtime systems and virtual machines · 40% Empirical software engineering · 20% Compilers and program optimization · 20%
Computer architecture, parallel and distributed computing, and storage systems
2 papers
Cloud and datacenter computing · 95% Distributed systems · 5%

Topics — the 14 heaviest of 15, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Empirical software engineering
benchmarking
0.412019
Renaissance: benchmarking suite for parallel applications on the JVM · PLDI 2019
Compilers and program optimization
compiler optimization
0.412019
Renaissance: benchmarking suite for parallel applications on the JVM · PLDI 2019
Runtime systems and virtual machines › virtual machine implementation
java virtual machine
0.412019
Renaissance: benchmarking suite for parallel applications on the JVM · PLDI 2019
Runtime systems and virtual machines › dynamic compilation
just-in-time compilation
0.412019
Renaissance: benchmarking suite for parallel applications on the JVM · PLDI 2019
Program analysis
dynamic analysis
0.112012
Exploiting Dynamic Information in IDEs Improves Speed and Correctness of Software Maintenance Tasks · IEEE Trans. Software Eng. 2012
Software maintenance and evolution
software maintenance
0.112012
Exploiting Dynamic Information in IDEs Improves Speed and Correctness of Software Maintenance Tasks · IEEE Trans. Software Eng. 2012
Cloud and datacenter computing › resource management
grid resource management
0.122006
Grid allocation and reservation - Grid capacity planning with negotiation-based advance reservation for optimized QoS · SC 2006
GLARE: A Grid Activity Registration, Deployment and Provisioning Framework · SC 2005
Concurrent programming
concurrency primitives
0.112019
Renaissance: benchmarking suite for parallel applications on the JVM · PLDI 2019
Cloud and datacenter computing › resource allocation › resource allocation policy
advance reservation
0.112006
Grid allocation and reservation - Grid capacity planning with negotiation-based advance reservation for optimized QoS · SC 2006
Cloud and datacenter computing
resource allocation
0.112006
Grid allocation and reservation - Grid capacity planning with negotiation-based advance reservation for optimized QoS · SC 2006
Cloud and datacenter computing
resource management
0.112005
GLARE: A Grid Activity Registration, Deployment and Provisioning Framework · SC 2005
Network security › attack resilience › attack mitigation › denial-of-service defense
denial-of-service prevention
0.012001
Portable Resource Control in Java: The J-SEAL2 Approach · OOPSLA 2001
Edge and fog computing › resource management
quality-of-service optimization
0.012006
Grid allocation and reservation - Grid capacity planning with negotiation-based advance reservation for optimized QoS · SC 2006
Distributed systems
fault tolerance
0.012005
GLARE: A Grid Activity Registration, Deployment and Provisioning Framework · SC 2005

Methods — techniques the papers use, named apart from their topics

benchmarking · 0.4dynamic information integration · 0.1controlled experiment · 0.1online strip packing · 0.1negotiation protocol · 0.1bytecode transformation · 0.1super-peer model · 0.1activity leasing · 0.1
YearPublicationVenuePosition
2022 Characterizing Java Streams in the Wild
abstract
Since Java 8, streams ease the development of data transformations using a declarative style based on functional programming. Some recent studies aim at shedding light on how streams are used. However, they consider only small sets of applications and mainly apply static analysis techniques, leaving the large-scale analysis of dynamic metrics focusing on stream processing an open research question. In this paper, we present the first large-scale empirical study on the use of streams in Java. We present a novel dynamic analysis for collecting runtime information and key metrics that enable the fine-grained characterization of sequential and parallel stream processing. We massively apply our dynamic analysis using a fully automated approach, supported by a distributed infrastructure to mine public software projects hosted on GitHub. Our findings advance the understanding of the use of streams, both confirming some of the results of previous studies at a much larger scale, as well as revealing previously unobserved findings in the use of streams.
Eduardo Rosales 0001, Andrea Rosà, Matteo Basso, Alex Villazón, Adriana Orellana, Ángel Zenteno, Jhon Rivero, Walter Binder
ICECCS4
2019 Automated Large-Scale Multi-Language Dynamic Program Analysis in the Wild (Tool Insights Paper)
abstract
Today’s availability of open-source software is overwhelming, and the number of free, ready-to-use software components in package repositories such as NPM, Maven, or SBT is growing exponentially. In this paper we address two straightforward yet important research questions: would it be possible to develop a tool to automate dynamic program analysis on public open-source software at a large scale? Moreover, and perhaps more importantly, would such a tool be useful? We answer the first question by introducing NAB, a tool to execute large-scale dynamic program analysis of open-source software in the wild. NAB is fully-automatic, language-agnostic, and can scale dynamic program analyses on open-source software up to thousands of projects hosted in code repositories. Using NAB, we analyzed more than 56K Node.js, Java, and Scala projects. Using the data collected by NAB we were able to (1) study the adoption of new language constructs such as JavaScript Promises, (2) collect statistics about bad coding practices in JavaScript, and (3) identify Java and Scala task-parallel workloads suitable for inclusion in a domain-specific benchmark suite. We consider such findings and the collected data an affirmative answer to the second question.
Alex Villazón, Haiyang Sun 0003, Andrea Rosà, Eduardo Rosales 0001, Daniele Bonetta, Isabella Defilippis, Sergio Oporto, Walter Binder
ECOOP1
2019 Renaissance: benchmarking suite for parallel applications on the JVM
abstract
Established benchmark suites for the Java Virtual Machine (JVM), such as DaCapo, ScalaBench, and SPECjvm2008, lack workloads that take advantage of the parallel programming abstractions and concurrency primitives offered by the JVM and the Java Class Library. However, such workloads are fundamental for understanding the way in which modern applications and data-processing frameworks use the JVM's concurrency features, and for validating new just-in-time (JIT) compiler optimizations that enable more efficient execution of such workloads. We present Renaissance, a new benchmark suite composed of modern, real-world, concurrent, and object-oriented workloads that exercise various concurrency primitives of the JVM. We show that the use of concurrency primitives in these workloads reveals optimization opportunities that were not visible with the existing workloads. We use Renaissance to compare performance of two state-of-the-art, production-quality JIT compilers (HotSpot C2 and Graal), and show that the performance differences are more significant than on existing suites such as DaCapo and SPECjvm2008. We also use Renaissance to expose four new compiler optimizations, and we analyze the behavior of several existing ones. We use Renaissance to compare performance of two state-of-the-art, production-quality JIT compilers (HotSpot C2 and Graal), and show that the performance differences are more significant than on existing suites such as DaCapo and SPECjvm2008. We also use Renaissance to expose four new compiler optimizations, and we analyze the behavior of several existing ones.
Aleksandar Prokopec, Andrea Rosà, David Leopoldseder, Gilles Duboscq, Petr Tuma 0001, Martin Studener, Lubomír Bulej, Yudi Zheng, Alex Villazón, Doug Simon, Thomas Würthinger, Walter Binder
PLDI9
2018 Capturing Inter-process Communication for Runtime Verification on Android
Alex Villazón, Haiyang Sun 0003, Walter Binder
ISoLA (4)1
2012 Exploiting Dynamic Information in IDEs Improves Speed and Correctness of Software Maintenance Tasks
abstract
Modern IDEs such as Eclipse offer static views of the source code, but such views ignore information about the runtime behavior of software systems. Since typical object-oriented systems make heavy use of polymorphism and dynamic binding, static views will miss key information about the runtime architecture. In this paper, we present an approach to gather and integrate dynamic information in the Eclipse IDE with the goal of better supporting typical software maintenance activities. By means of a controlled experiment with 30 professional developers, we show that for typical software maintenance tasks, integrating dynamic information into the Eclipse IDE yields a significant 17.5 percent decrease of time spent while significantly increasing the correctness of the solutions by 33.5 percent. We also provide a comprehensive performance evaluation of our approach.
David Röthlisberger, Marcel Harry, Walter Binder, Philippe Moret, Danilo Ansaloni, Alex Villazón, Oscar Nierstrasz
IEEE Trans. Software Eng.6
2011 Design Space Exploration of Object Caches with Cross-Profiling
abstract
To avoid data cache trashing between heap-allocated data and other data areas, a distinct object cache has been proposed for embedded real-time Java processors. This object cache uses high associativity in order to statically track different object pointers for worst-case execution-time analysis. However, before implementing such an object cache, an empirical analysis of different organization forms is needed. We use a cross-profiling technique based on aspect-oriented programming in order to evaluate different object cache organizations with standard Java benchmarks. From the evaluation we conclude that field access exhibits some temporal locality, but almost no spatial locality. Therefore, filling long cache lines on a miss just introduces a high miss penalty without increasing the hit rate enough to make up for the increased miss penalty. For an object cache, it is more efficient to fill individual words within the cache line on a miss.
Martin Schoeberl, Walter Binder, Alex Villazón
ISORC3
2011 Flexible and efficient profiling with aspect-oriented programming
abstract
Abstract Many profilers for virtual execution environments, such as the Java virtual machine (JVM), are implemented with low‐level bytecode instrumentation techniques, which is tedious, error‐prone, and complicates maintenance and extension of the tools. In order to reduce the development time and cost, we promote building profilers for the JVM using high‐level aspect‐oriented programming (AOP). We show that the use of aspects yields concise profilers that are easy to develop, extend, and maintain, because low‐level instrumentation details are hidden from the tool developer. In order to build efficient profilers, we introduce inter‐advice communication, an extension to common AOP languages that enables efficient data passing between advices that are woven into the same method using local variables. We illustrate our approach with two case studies. First, we show that an existing, instrumentation‐based tool for listener latency profiling can be easily recast as an aspect. Second, we present an aspect for comprehensive calling context profiling. In order to reduce profiling overhead, our aspect parallelizes application execution and profile creation, resulting in a speedup of 110% on a machine with more than two cores, compared with a primitive, non‐parallel approach. Copyright © 2011 John Wiley & Sons, Ltd.
Walter Binder, Danilo Ansaloni, Alex Villazón, Philippe Moret
Concurr. Comput. Pract. Exp.3
2011 Comprehensive aspect weaving for Java
Alex Villazón, Walter Binder, Philippe Moret, Danilo Ansaloni
Sci. Comput. Program.1
2010 Visualizing and exploring profiles with calling context ring charts
abstract
Abstract Calling context profiling is an important technique for analyzing the performance of object‐oriented software with complex inter‐procedural control flow. The Calling Context Tree (CCT) is a common data structure that stores dynamic metrics, such as CPU time, separately for each calling context. As CCTs may comprise millions of nodes, there is a need for a condensed visualization that eases the localization of performance bottlenecks. In this article, we discussCalling Context Ring Charts(CCRCs), a compact visualization for CCTs, where callee methods are represented in ring segments surrounding the caller's ring segment. In order to reveal hot methods, their callers, and callees, the ring segments can be sized according to a chosen dynamic metric. We describe two case studies where CCRCs help us to detect and fix performance problems in applications. A performance evaluation also confirms that our implementation can efficiently handle large CCTs. Copyright © 2010 John Wiley & Sons, Ltd.
Philippe Moret, Walter Binder, Alex Villazón, Danilo Ansaloni, Abbas Heydarnoori
Softw. Pract. Exp.3
2009 Advanced runtime adaptation for Java
abstract
Dynamic aspect-oriented programming (AOP) enables runtime adaptation of aspects, which is important for building sophisticated, aspect-based software engineering tools, such as adaptive profilers or debuggers that dynamically modify instrumentation code in response to user interactions. Today, many AOP frameworks for Java, notably AspectJ, focus on aspect weaving at compile-time or at load-time, and offer only limited support for aspect adaptation and reweaving at runtime. In this paper, we introduce HotWave, an AOP framework based on AspectJ for standard Java Virtual Machines (JVMs). HotWave supports dynamic (re)weaving of previously loaded classes, and it ensures that all classes loaded in a JVM can be (re)woven, including the classes of the standard Java class library. HotWave features a novel mechanism for inter-advice communication, enabling efficient data passing between advices that are woven into the same method. We explain HotWave's programming model and discuss our implementation techniques. As case study, we present an adaptive, aspect-based profiler that leverages HotWave's distinguishing features.
Alex Villazón, Walter Binder, Danilo Ansaloni, Philippe Moret
GPCE1
2009 HotWave: creating adaptive tools with dynamic aspect-oriented programming in Java
abstract
Developing tools for profiling, debugging, testing, and reverse engineering is error-prone, time-consuming, and therefore costly when using low-level techniques, such as bytecode instrumentation. As a solution to these problems, we promote tool development in Java using high-level aspect-oriented programming (AOP). We demonstrate that the use of aspects yields compact tools that are easy to develop and extend. As enabling technology, we rely on HotWave, a new tool for dynamic and comprehensive aspect weaving. HotWave reconciles compatibility with existing virtual machine and AOP technologies. It provides support for runtime adaptation of aspects and reweaving of previously loaded code, as well as the ability to weave aspects into all methods executing in a Java Virtual Machine, including methods in the standard Java class library. HotWave also features a new mechanism for efficiently passing data between advices that are woven into the same method. We demonstrate the benefits of HotWave's distinguishing features with two case studies in the area of profiling.
Alex Villazón, Walter Binder, Danilo Ansaloni, Philippe Moret
GPCE1
2009 Augmenting static source views in IDEs with dynamic metrics
abstract
Mainstream IDEs such as Eclipse support developers in managing software projects mainly by offering static views of the source code. Such a static perspective neglects any information about runtime behavior. However, object-oriented programs heavily rely on polymorphism and late-binding, which makes them difficult to understand just based on their static structure. Developers thus resort to debuggers or profilers to study the system's dynamics. However, the information provided by these tools is volatile and hence cannot be exploited to ease the navigation of the source space. In this paper we present an approach to augment the static source perspective with dynamic metrics such as precise runtime type information, or memory and object allocation statistics. Dynamic metrics can leverage the understanding for the behavior and structure of a system. We rely on dynamic data gathering based on aspects to analyze running Java systems. By solving concrete use cases we illustrate how dynamic metrics directly available in the IDE are useful. We also comprehensively report on the efficiency of our approach to gather dynamic metrics.
David Röthlisberger, Marcel Harry, Alex Villazón, Danilo Ansaloni, Walter Binder, Oscar Nierstrasz, Philippe Moret
ICSM3
2009 Senseo: Enriching Eclipse's static source views with dynamic metrics
abstract
Maintaining object-oriented systems that use inheritance and polymorphism is difficult, since runtime information, such as which methods are actually invoked at a call site, is not visible in the static source code. We have implemented Senseo, an Eclipse plugin enhancing Eclipse's static source views with various dynamic metrics, such as runtime types, the number of objects created, or the amount of memory allocated in particular methods.
David Röthlisberger, Marcel Harry, Alex Villazón, Danilo Ansaloni, Walter Binder, Oscar Nierstrasz, Philippe Moret
ICSM3
2009 MAJOR: Flexible tool development with aspect-oriented programming
abstract
Developing and maintaining tools for profiling, debugging, testing, and reverse engineering can be difficult when using low-level techniques, such as bytecode instrumentation. We promote tool development in Java using high-level aspect-oriented programming. We demonstrate that the use of aspects yields concise tools that are easy to develop, extend, and maintain, because low-level instrumentation details are hidden from the developer. We introduce MAJOR, a new tool for comprehensive aspect weaving, which ensures that aspects are woven into all classes executing in a Java Virtual Machine, including those in the standard Java class library. MAJOR includes the pluggable module CARAJillo, which supports efficient access to a complete and customizable calling context representation. Both distinguishing features of MAJOR - comprehensive aspect weaving and efficient access to complete calling information - are essential in the aforementioned domains.
Alex Villazón, Walter Binder, Philippe Moret, Danilo Ansaloni
ICSM1
2009 CCCP: complete calling context profiling in virtual execution environments
abstract
Calling context profiling is an important technique for locating hotspots in programs. The prevailing data structure is the Calling Context Tree (CCT) that provides dynamic metrics for each calling context. Existing approaches to calling context profiling in Java either limit portability due to the use of native code or of a modified Java Virtual Machine, create incomplete and inaccurate CCTs, or cause excessive overhead. In this paper, we introduce Complete Calling Context Profiling (CCCP), a new approach that reconciles completeness and accuracy of the created CCTs, portability, and moderate overhead. CCCP relies on a generic bytecode instrumentation framework ensuring comprehensive bytecode coverage, including also the standard Java class library. In order to reduce the overhead of accessing the current CCT node, CCCP transforms code such that the caller passes its CCT node to the callee as a special method argument, while ensuring compatibility with native code, reflection, and stack introspection. We use the resulting CCTs for a detailed analysis of the dynamic behavior of Java systems and present a thorough analysis of the origin of runtime overheads.
Philippe Moret, Walter Binder, Alex Villazón
PEPM3
2009 CProf: customizable calling context cross-profiling for embedded java processors
abstract
Performance evaluation of embedded software is essential in an early development phase so as to ensure that the software will run on the embedded device's limited computing resources. Prevailing approaches either require the deployment of the software on the embedded target, which can be tedious and may be impossible in an early development phase, or rely on simulation, which can be very slow. In this paper we present CProf, a customizable cross-profiler for embedded Java processors. It allows the developer to profile the embedded software in the host environment, completely decoupled from the target system, in a standard Java Virtual Machine, but the generated profiles represent the execution time metric of the target system. CProf enables calling context cross-profiling and customizable online processing of profiling data. Furthermore, it supports pluggable CPU cycle estimation and cache simulation strategies, easing the reconfiguration for different target processors. Using the Java Optimized Processor JOP as target, CProf's cross-profiles have only a small percent error below 3.3%.
Philippe Moret, Walter Binder, Alex Villazón
PEPM3
2009 Platform-independent profiling in a virtual execution environment
abstract
Abstract Virtual execution environments, such as the Java virtual machine, promote platform‐independent software development. However, when it comes to analyzing algorithm complexity and performance bottlenecks, available tools focus on platform‐specific metrics, such as the CPU time consumption on a particular system. Other drawbacks of many prevailing profiling tools are high overhead, significant measurement perturbation, as well as reduced portability of profiling tools, which are often implemented in platform‐dependent native code. This article presents a novel profiling approach, which is entirely based on program transformation techniques, in order to build a profiling data structure that provides calling‐context‐sensitive program execution statistics. We explore the use of platform‐independent profiling metrics in order to make the instrumentation entirely portable and to generate reproducible profiles. We implemented these ideas within a Java‐based profiling tool called JP. A significant novelty is that this tool achieves complete bytecode coverage by statically instrumenting the core runtime libraries and dynamically instrumenting the rest of the code. JP provides a small and flexible API to write customized profiling agents in pure Java, which are periodically activated to process the collected profiling information. Performance measurements point out that, despite the presence of dynamic instrumentation, JP causes significantly less overhead than a prevailing tool for the profiling of Java code. Copyright © 2008 John Wiley & Sons, Ltd.
Walter Binder, Jarle Hulaas, Philippe Moret, Alex Villazón
Softw. Pract. Exp.4
2009 Cross-profiling for Java processors
abstract
Abstract Performance evaluation of embedded software is essential in an early development phase so as to ensure that the software will run on the embedded device's limited computing resources. The prevailing approaches either require the deployment of the software on the embedded target, which can be tedious and may be impossible in an early development phase, or rely on simulation, which can be very slow. In this article, we introduce a customizable cross‐profiling framework for embedded Java processors, including processors featuring a method cache. The developer profiles the embedded software in the host environment, completely decoupled from the target system, on any standard Java virtual machine, but the generated profiles represent the execution time metric of the target system. Our cross‐profiling framework is based on bytecode instrumentation. We identify several pointcuts in the execution of bytecode that need to be instrumented in order to estimate the CPU cycle consumption on the target system. An evaluation using the JOP embedded Java processor as target confirms that our approach reconciles high profile accuracy with moderate overhead. Our cross‐profiling framework also enables the performance evaluation of new processor architectures before they are implemented. As a case study, we explore the performance impact of various processor design choices and optimizations, such as different cache sizes or pipeline organizations, and come up with an improved processor design that yields speedups of up to 40% on standard Java benchmarks. Copyright © 2009 John Wiley & Sons, Ltd.
Walter Binder, Martin Schoeberl, Philippe Moret, Alex Villazón
Softw. Pract. Exp.4
2008 Cache-aware cross-profiling for java processors
abstract
Performance evaluation of embedded software is essential in an early development phase so as to ensure that the software will run on the embedded device's limited computing resources. Prevailing approaches either require the deployment of the software on the embedded target, which can be tedious and may be impossible in an early development phase, or rely on simulation, which can be very slow. In this paper, we introduce a customizable cross-profiling framework for embedded Java processors, including processors featuring a method cache. The developer profiles the embedded software in the host environment, completely decoupled from the target system, on any standard Java Virtual Machine, but the generated profiles represent the execution time metric of the target system. Our cross-profiling framework is based on bytecode instrumentation. We identify several pointcuts in the execution of bytecode that need to be instrumented in order to estimate the CPU cycle consumption on the target system. An evaluation using the JOP embedded Java processor as target confirms that our approach reconciles high profile accuracy with moderate overhead. Our cross-profiling framework also enables the rapid evaluation of the performance impact of possible optimizations, such as different caching strategies.
Walter Binder, Alex Villazón, Martin Schoeberl, Philippe Moret
CASES2
2007 Semantic-Based On-demand Synthesis of Grid Activities for Automatic Workflow Generation
abstract
On-demand synthesis of grid activities can play a significant role in automatic workflow composition and in improving quality of the grid resource provisioning. However, in the grid, synthesis of activities has been largely ignored due to the limited expressiveness of the representation of activity capabilities and the lack of adapted resource management means to take advantage of such activity synthesis. This paper introduces a new mechanism for automatic synthesis of available activities in the grid by applying ontology rules. Rule-based synthesis combines multiple primitive activities to form new compound activities. The synthesized activities can be provisioned as new or alternative options for negotiation as well as advance reservation. This is a major advantage compared to other approaches that only focus on resource matching and brokerage. Furthermore, the new synthesized activities provide aggregated capabilities that otherwise may not be possible, leading towards an automatic generation of grid workflows. We developed a prototype to demonstrate advantages of our approach.
Mumtaz Siddiqui, Alex Villazón, Thomas Fahringer
eScience2
2006 Applying Advance Reservation to Increase Predictability of Workflow Execution on the Grid
abstract
In this paper we present an extension to devise and implement advance reservation as part of the scheduling and resource management services of the ASKALON Grid application development and runtime environment. The scheduling service has been enhanced to offer a list of resources that can execute a specific task and to negotiatewith the resource manager about resources capable of processing tasks in the shortest possible time. We introduce progressive reservation approach which tries to allocate resources based on a fair-share principle. Experiments are shown that demonstrate the effectiveness of our approach, and that reflect different QoS parameters including performance, predictability, resource usage and resource fairness.
Marek Wieczorek, Mumtaz Siddiqui, Alex Villazón, Radu Prodan, Thomas Fahringer
e-Science3
2006 Grid allocation and reservation - Grid capacity planning with negotiation-based advance reservation for optimized QoS
abstract
Advance reservation of Grid resources can play a key role in enabling Grid middleware to deliver on-demand resource provision with significantly improved Quality-of-Service (QoS). However, in the Grid, advance reservation has been largely ignored due to the dynamic Grid behavior, under-utilization concerns, multi-constrained applications, and lack of support for agreement enforcement. These issues force the Grid middleware to make resource allocations at runtime with reduced QoS. To remedy these, we introduce a new, 3-layered negotiation protocol for advance reservation of the Grid resources. We model resource allocation as an on-line strip packing problem and introduce a new mechanism that optimizes resource utilization and QoS constraints while generating the contention-free solutions. The mechanism supports open reservations to deal with the dynamic Grid and provides a practical solution for agreement enforcement. We have implemented a prototype and performed experiments to demonstrate the effectiveness of our approach.
Mumtaz Siddiqui, Alex Villazón, Thomas Fahringer
SC2
2005 GLARE: A Grid Activity Registration, Deployment and Provisioning Framework
abstract
Resource management is a key concern for implementing effective Grid middleware and shielding application developers from low level details. Existing resource managers concentrate mostly on physical resources. However, some advanced Grid programming environments allow application developers to specify Grid application components at high level of abstraction which then requires an effective mapping between high level application description (activity types) and actual deployed software components (activity deployments). This paper describes GLARE framework that provides dynamic registration, automatic deployment and on-demand provision of application components (activities) that can be used to build Grid applications. GLARE simplifies description and presentation of both activity types and deployments so that they can easily be located in the Grid and thus become available on-demand. GLARE has been implemented based on a super-peer model with support for activity leasing, self management, and fault tolerance. Experiments are shown to reflect the effectiveness of the GLARE.
Mumtaz Siddiqui, Alex Villazón, Jürgen Hofer, Thomas Fahringer
SC2
2001 Portable Resource Control in Java: The J-SEAL2 Approach
abstract
Preventing abusive resource consumption is indispensable for all kinds of systems that execute untrusted mobile coee, such as mobile object sytems, extensible web servers, and web browsers. To implement the required defense mechanisms, some support for resource control must be available: accounting and limiting the usage of physical resources like CPU and memory, and of logical resources like threads. Java is the predominant implementation language for the kind of systems envisaged here, even though resource control is a missing feature on standard Java platforms. This paper describes the model and implementation mechanisms underlying the new resource-aware version of the J-SEAL2 mobile object kernel. Our fundamental objective is to achieve complete portability, and our approach is therefore based on Java bytecode transformations. Whereas resource control may be targeted towards the provision of quality of service or of usage-based billing, the focus of this paper is on security, and more specificlly on prevention of denial-of-service attacks orginating from hostile or poorly implemented mobile code.
Walter Binder, Jarle Hulaas, Alex Villazón
OOPSLA3
2001 Composition of Services with Mobile Code
Pierre-Antoine Queloz, Alex Villazón
Auton. Agents Multi Agent Syst.2
2000 Meta-level management of active network nodes and services
abstract
This paper presents the usage of meta-level architectures within the framework of active network systems, in order to facilitate the management of services and applications.
Alex Villazón, Jarle Hulaas
NOMS1