Powered by
Eclipse Technology eXchange (ETX 2015),
October 27, 2015,
Pittsburgh, PA, USA
Foreword
Welcome to the proceedings of the Eclipse Technology eXchange (ETX) 2015 workshop, which took
place 27 th of October in Pittsburgh, Pennsylvania, United States, co-located with SPLASH 2015. Once
again, the ETX workshop brought together researchers and practitioners to exchange ideas about the
Eclipse IDE and the use of Eclipse technology in research and education.
Androsgi: Bringing the Power of OSGi to Android
Steven Bohez, Elias De Coninck, Tim Verbelen, and Bart Dhoedt
(Ghent University, Belgium; iMinds, Belgium)
Nowadays, Android is by far the most popular operating system on a myriad of mobile devices. Although based on the Java programming language, Android does not offer the same benefits as a dynamic software module system such as OSGi. Nevertheless OSGi would have many advantages on mobile environments. Software modularity allows you to only deploy the required pieces of software at runtime. Moreover, many of the enterprise OSGi specifications facilitate the development of distributed applications connecting to the Cloud. In order to exploit these advantages on Android, we present Androsgi, an Eclipse IDE plugin that allows you to easily run OSGi on top of Android. The Androsgi plugin facilitates deploying OSGi bundles, and calling both local and remote OSGi services from within your Android application.
@InProceedings{ETX15p1,
author = {Steven Bohez and Elias De Coninck and Tim Verbelen and Bart Dhoedt},
title = {Androsgi: Bringing the Power of OSGi to Android},
booktitle = {Proc.\ ETX},
publisher = {ACM},
pages = {1--6},
doi = {},
year = {2015},
}
CSIclipse: Presenting Crash Analysis Data to Developers
Peter Ohmann and Ben Liblit
(University of Wisconsin-Madison, USA)
Debugging is difficult and costly, especially for failures that occur after deployment. In prior work, we developed a suite of instrumentation and analysis tools, collectively titled the Crash Scene Investigation toolkit (CSI). These tools aid developers by providing additional information about failing program executions using latent data in post-failure memory dumps. While we showed that our technique is effective in reducing execution ambiguity, it lacked a proper user interface for developers.
In this paper, we present CSIclipse, a work-in-progress plugin for the Eclipse integrated development environment (IDE) that brings our analyses directly to the user. The goal of our plugin is to ease the burden of debugging production failures by conveniently presenting CSI trace and analysis data with intuitive source code overlays and powerful data exploration mechanisms. While designed for our CSI data, our plugin is likely general enough to support trace data from a variety of program analyses.
@InProceedings{ETX15p7,
author = {Peter Ohmann and Ben Liblit},
title = {CSIclipse: Presenting Crash Analysis Data to Developers},
booktitle = {Proc.\ ETX},
publisher = {ACM},
pages = {7--12},
doi = {},
year = {2015},
}
Info
Experience from Implementing a Complex Eclipse Extension for Software Product Line Engineering
Sascha El-Sharkawy, Christian Kröher, Holger Eichelberger, and Klaus Schmid
(University of Hildesheim, Germany)
Software Product Line Engineering (SPLE) is a systematic approach for the development of related software products. These products share a common infrastructure but vary with respect to their individual capabilities, called variabilities. Variability management is a key part of SPLE and is responsible for developing, combining and configuring such variabilities. As these activities are inherently complex, SPLE significantly benefits from tool-support. We developed a customizable Eclipse extension for SPLE that consists of around 38 plug-ins. The resulting tool, called EASy-Producer, extends the Eclipse IDE by the capability to support the creation and management of software product line projects. To provide this capability, EASy-Producer utilizes the extension concepts of the Eclipse platform and integrates additional frameworks, like Xtext. In this paper, we share our experience while applying the Eclipse technologies and, in particular, realizing specific capabilities of our tool using the Eclipse framework. The focus of this paper is on our lessons learned regarding managing workspace information and conflicting build mechanism as well as using Eclipse extensions outside of Eclipse. These lessons serve as an input to the Eclipse community and may help other developers in realizing a complex Eclipse extension.
@InProceedings{ETX15p13,
author = {Sascha El-Sharkawy and Christian Kröher and Holger Eichelberger and Klaus Schmid},
title = {Experience from Implementing a Complex Eclipse Extension for Software Product Line Engineering},
booktitle = {Proc.\ ETX},
publisher = {ACM},
pages = {13--18},
doi = {},
year = {2015},
}
GOLD: A Graph Oriented Language Implemented using the Eclipse Xtext Framework
Alejandro Sotelo and Silvia Takahashi
(University of Los Andes, Colombia)
GOLD (Graph Oriented Language) is a general purpose programming language with mathematical notations and a pseudocode-like syntax for defining and manipulating graphs and other high-level data structures such as sets, trees, and automata. Its syntax was inspired by the one used in classic algorithms textbooks. It allows set comprehensions, quantified expressions, and new control instructions. Its syntax also supports the use of Java defined classes. GOLD programs are translated into Java. Therefore, Java programs can use functions, procedures, and objects defined in GOLD. GOLD was developed as a whole new programming environment for programming and testing algorithms for advanced data structures. All GOLD components were packed into an Eclipse plug-in coded in Java under the Xtext framework. GOLD’s design and implementation can be seen as a case study in language development.
@InProceedings{ETX15p19,
author = {Alejandro Sotelo and Silvia Takahashi},
title = {GOLD: A Graph Oriented Language Implemented using the Eclipse Xtext Framework},
booktitle = {Proc.\ ETX},
publisher = {ACM},
pages = {19--24},
doi = {},
year = {2015},
}
proc time: 0.67