João Luís Sobral

Learn More
In this paper, we present a collection of well-known high-level concurrency patterns and mechanisms, coded in AspectJ. We discuss benefits of these implementations relative to plain Java implementations of the same concerns. We detect benefits from using AspectJ in all the cases presented, in the form of higher modularity, reuse, understandability and(More)
This paper presents the concept of pluggable parallelisation that allows scientists to develop sequential like codes that can take advantage of multi-core, cluster and grid systems. In this approach parallel applications are developed by plugging parallelisation patterns/idioms into scientific codes (e.g., sequential like codes), softening the move from(More)
This paper presents a methodology to develop more modular parallel applications, based on aspect oriented programming. Traditional object oriented mechanisms implement application core functionality and parallelisation concerns are plugged by aspect oriented mechanisms. Parallelisation concerns are separated into four categories: functional or/and data(More)
This paper presents JaSkel, a skeleton-based framework to develop parallel and grid applications. The framework provides a set of Java abstract classes as a skeleton catalogue, which implements recurring parallel interaction paradigms. This approach aims to improve code efficiency and portability. It also helps to structure scalable applications through the(More)
This paper presents a new approach to texture defect detection based on a set of optimised filters. Each filter is applied to one wavelet sub-band and its size and shape are tuned for a defect type. The wavelet transform provides a very efficient way to decompose a complex texture into a set of base components (wavelet sub-bands), which are then analysed by(More)
In this paper, we discuss the benefits of using aspect-oriented programming to develop parallel applications. We use aspects to separate parallelisation concerns into three categories: partition, concurrency and distribution. The achieved modularisation enables us to assemble a variety of platform specific parallel applications, by composing combinations of(More)
JaSkel is a skeleton-based framework to develop efficient concurrent, parallel and Grid applications. It provides a set of Java abstract classes that implement recurring parallel interaction paradigms. The key feature of JaSkel is to use aspect-oriented external tools to address distributed execution, by injecting code to support communication middleware(More)
This paper presents a programming language for parallel computing based on code annotations. It has similar goals and philosophy as OpenMP but it is more tightly coupled to the object oriented paradigm. We include annotations for most common concurrency patterns and mechanisms, namely, one-way, futures, barriers, reads/writers and thread-local. Our current(More)
In this paper, we present an approach to develop parallel applications based on aspect oriented programming. We propose a collection of aspects to implement group communication mechanisms on parallel applications. In our approach, parallelisation code is developed by composing the collection into the application core functionality. The approach requires(More)