Category

Component-based software engineering

Related publications (17)

Impersonating Chatbots in a Code Review Exercise to Teach Software Engineering Best Practices

Denis Gillet, Maria Jesus Rodriguez Triana, Juan Carlos Farah, Sandy Ingram, Vandit Sharma

Over the past decade, the use of chatbots for educational purposes has gained considerable traction. A similar trend has been observed in social coding platforms, where automated agents support software developers with tasks such as performing code reviews ...
IEEE2022

Porting a Legacy Global Lagrangian PIC Code on Many-Core and GPU-Accelerated Architectures

Laurent Villard, Stephan Brunner, Emmanuel Lanti, Noé Thomas Elie Ohana, Claudio Gheller, Aaron Lewis Scheinberg

Modern supercomputer architectures are evolving towards embedding more and more cores per compute node, often making use of accelerators such as GPUs, in which thousands of threads can be executed concurrently. To make legacy codes profit efficiently from ...
2018

Exogenous Coordination of Concurrent Software Components with JavaBIP

Simon Bliudze, Anastasia Mavridou, Radoslaw Szymanek, Alina Zolotukhina

A strong separation of concerns is necessary in order to make the design of domain-specific functional components independent from cross-cutting concerns, such as concurrent access to the shared resources of the execution platform. Native coordination mech ...
Wiley-Blackwell2017

Igatools: an isogeometric analysis library

Pablo Antolin Sanchez

We present the design of an object oriented general purpose library for isogeometric analysis, where the mathematical concepts of the isogeometric method and their relationships are directly mapped into classes and their interactions. The encapsulation of ...
2015

Spiral in Scala: Towards the Systematic Construction of Generators for Performance Libraries

Martin Odersky, Tiark Rompf, Alen Stojanov

Program generators for high performance libraries are an appealing solution to the recurring problem of porting and optimizing code with every new processor generation, but only few such generators exist to date. This is due to not only the difficulty of t ...
Assoc Computing Machinery2014

Model refactoring using transformations

Slavisa Markovic

Modern software is reaching levels of complexity encountered in biological systems; sometimes comprising systems of systems each of which may include tens of millions of lines of code. Model Driven Engineering (MDE) advocates raising the level of abstracti ...
EPFL2008

Deprogramming Large Software Systems

George Candea, Yohann Coppel

Developers turn ideas, designs and patterns into source code, then compile the source code into executables. Decompiling turns executables back into source code, and deprogramming turns code back into designs and patterns. In this paper we introduce DeP, a ...
2008

Generics of a Higher Kind

Martin Odersky

With Java 5 and C-# 2.0, first-order parametric polymorphism was introduced in mainstream object-oriented programming languages under the name of generics. Although the first- order variant of generics is very useful, it also imposes some restrictions: it ...
2008

Aspect-oriented model-driven engineering of middleware-mediated distributed systems

The era of distributed systems is upon us. The Internet revolution, combined with the recent explosion of smart devices, indicate a clear trend toward ubiquitous and pervasive computing that will continue to change the way people live and interact, the way ...
EPFL2007

A Concern-Oriented Approach to Software Architecture

Mohamed Mancona Kandé

A major cause of many complications in the field of software architectures is the lack of appropriate abstractions for separating, combining and encapsulating concerns of various kinds in architectural descriptions. Architectures of most complex softwa ...
2003

Graph Chatbot

Chat with Graph Search

Ask any question about EPFL courses, lectures, exercises, research, news, etc. or try the example questions below.

DISCLAIMER: The Graph Chatbot is not programmed to provide explicit or categorical answers to your questions. Rather, it transforms your questions into API requests that are distributed across the various IT services officially administered by EPFL. Its purpose is solely to collect and recommend relevant references to content that you can explore to help you answer your questions.