Accepted Sessions

Keyword sentence with spaces needs to be in quotes. For example: "keyword 1","keyword 2"

A new framework for Text Edition in Platform: why, what, how?

For Oxygen, one of the goals of the Platform contributors was to make it easier for adopters to add support for new textual languages in the Eclipse IDE.
After a review of the current state, a new approach of contributing textual support was introduced in the name of a “Generic and Extensible Text Editor”. This new framework allows to contribute specific behaviour to an existing “generic” editor as usual extensions in plugin.xml without having to fully re-implement an editor.

Experience level: 
Intermediate

All about UX in Sirius

Your Sirius designer has the ability to leave a lasting impression on your end users, and every detail counts. In this presentation, you will see the new features to improve the user experience of your own Sirius-based designers.

This talk will start by reviewing how to improve Sirius diagrams with a consistent style guide to quickly communicate your intent to your users and tips and tricks to speed up common tasks.

Experience level: 
Intermediate

Building an IoT product from scratch using Eclipse IoT Technologies : the Sowee Case Study

In this session, MicroEJ discusses how the Eclipse IoT technologies are involved in the creation of the software stack used in the Sowee Product.

Sowee, a product unveiled by EDF at CES 2017, includes a connected session for which MicroEJ has developed a custom software stack in a very short period of time, thanks to many Eclipse IoT technologies being available off-the-shelf.

The project was started early 2016 and MicroEJ, involded only from May 2016, has built this software stack for a device that only existed in the Fall of 2016 (preproduction started in September).

Experience level: 
Beginner
Track: 

Cloud application development made easy

This talk presents Eclipse Winery, which offers modeling the architecture of cloud applications. It makes heavily use of the OASIS standard TOSCA. What makes Winery and TOSCA special is that it supports heterogenous application stacks out of the box. This talk will introduce the concepts of TOSCA and demonstrate how Winery supports it. It will aso show how the application can be deployed and instantiated. One will learn about the ideas of application portability and about resuing application components in different settings.

Experience level: 
Intermediate

Code Coverage in Practice

Finally the award-winning EclEmma code coverage plug-in for Eclipse became an Eclipse.org project! This is a good opportunity to summarize experiences and best practices, such as continuous inspection, for efficient usage of one of the most popular open-source tool to measure Java code coverage that EclEmma integrates into Eclipse - JaCoCo ( http://www.jacoco.org/jacoco/index.html ).

Experience level: 
Intermediate

Debug Java code like a Pro

Writing code only comes second when talking about the developer work. The main and first task is reading and debugging. For that purpose, the Eclipse Java development tools are wonderful. Its most powerful tools are often unknown though. This talk will help you unleash this power and help you debug your Java code like a pro. The talk will also cover the new debugging features that are coming with Eclipse 4.8 (code name Oxygen, to be released late June 2017). So, even if you're an experienced Java programmer, you will learn some tips and tricks.

Experience level: 
Beginner

Debugging DSLs with Xtext's new Tracing API

These days implementing code generators has become quite easy.

However, building professional tools supporting you in

  • navigating back and forth between the sources and the generated text,
  • running and debugging the source models instead of the generated artifacts, and
  • transferring changes in the text back to the sources

is a much more challenging task, but also an interesting one.

Experience level: 
Advanced
Track: 

Deep dive into Xtext scoping - local and global scopes explained

In Xtext's grammar language syntax and structure of models are defined at a single location in a very concise way. The nesting structure and the references between objects are expressed which goes beyond plain abstract syntax trees. By just pointing to a type of an object, we describe the shape of a syntax graph. But the grammar alone has no meaning to describe the visibility rules inside of a resource or across resource boundaries. Therefore Xtext has a concept of scopes that are modeled as a chain of responsibility.

Experience level: 
Beginner
Track: 

Doc2M Update your model from your document in a breeze !

The Model-Driven Design approach is centered on the use of a model repository and a modelling tool. A drawback of the approach is that the evolution of derived artefacts (such as documents, code tests) requires to go back to the model. This process involves tracing the source element back in the model editor before triggering the update of the artefact. This can reveal quite inefficient and even causing user rejection.

Our talk presents a reusable mechanism matured over 5 years in model-based tooling (actually for requirements engineering) and deployed in international companie.

Experience level: 
Intermediate

Driving Intelligent Transportation System with Capella

Pushed by the introduction of Intelligent Transportation System communication technology and demands from customers for vehicle connectivity, new e-services are emerging in the automotive industry. However, the service and product definitions are a tremendous issue as neither end-user nor OEMs requirements are mature enough, mainly due to innovation positioning of products and to diversity of connected devices. In addition, the security is a big concern to clarify in system architecture during the requirement elicitation.

Experience level: 
Beginner

Easy container oriented development with Docker and OpenShift tooling

Container oriented developement is a new way to adopt for today's developers. Although base tooling allow easy and simple deployment to be adopted, developers needs more accurate tools to deal with their day to day operations.

Based on the Eclipse Docker and OpenShift tooling, we will discover how developer tasks can be easily managed from the Eclipse IDE:

Experience level: 
Intermediate

Eclipse and Java™ 9

Java™ 9 is slated to be released in July 2017. This session will present the most important new stuff in Java™ 9, especially project Jigsaw, which introduces modules into Java™. I will show how to get started developing Java™ 9 code with Eclipse and then demo the new features that are already available in Eclipse for the upcoming Java™ release. We will also look at the new Java™ 9 runtime images.

Experience level: 
Beginner

EcoreTools-Next: Executable DSL made (more) accessible

Various Eclipse Modeling technologies are trying to empower domain experts in the creation of specific tools.  Using EcoreTools and Sirius a domain expert can define languages, graphical modelers and editors without writing a single line of Java code or launching a new Eclipse runtime. However, when come the time to add behaviors to the language structure (e.g., to implement interpreters, compilers, static analysis, refactoring, or generators), the domain expert has to face all the complexity of Eclipse Plugin development, OSGi, Java and much more.

Experience level: 
Intermediate

Embedding Sirius in a Pure E4 Application - Lessons Learned and Future Plans

Ever wonder what it would take to get an Eclipse Sirius diagram editor to work in an Eclipse 4 Application? I took an expedition through Sirius and it's dependencies on a mission to find out! After a few days of ripping things apart, putting them together, making wild guesses, and more than a few "git reset --hard" commands - I made it to my final destination.

We will cover the perils and pitfalls that I encountered on my journey:

Experience level: 
Intermediate

EMF Models getting XXL? An overview of available solutions.

True story…

From the very beginning, we had to deal with models. No problem, EMF was there for us, providing rich and smart solutions: Sirius for diagrams, OCL for checking, edapt for migration, Acceleo for text generation and so many more. There was a time when everything was for the best in the best of all possible worlds'.

Experience level: 
Intermediate

Ethics in Software

Software is impacting every area of our lives, and will be even more omnipresent in the future. We have seen during the last few years on many occasions how a small glitch can have unprecendented consequences, from data leaks to people being harmed. As software developers and members of a community, we have responsibilities towards our users, our fellow developers, and the world. In this talk we will consider the ethical implications of software development and production, why it is important, and how we can do it better for the world and for ourselves while still being pragmatic.

Experience level: 
Beginner

Formalizing Financial Protocols with Xtext

Financial markets run on complex algorithms. The industry uses several protocols to describe how their systems are expected to communicate with others - effectively, describing their APIs.  One such protocol is FIX (Financial Information eXchange) - widely used for quite some time. Financial services firms (e.g. exchanges, hedge funds and investment banks) share such specifications with their counterparts to allow them to connect to their systems. The protocol specification is relatively vague and informal - at AI, we’re changing this.

Experience level: 
Intermediate
Track: 

How can you contribute to Eclipse ?

Eclipse open source projects reflects the work of its community. At their respective level, anyone can contribute without necessarily having to be an advanced developer.

As a committer I will explain how anyone can contribute with different ways, and the benefits you can get for your professional profile. 

Following an introduction of the different types of contributions, this talk will focus more specifically on the code contribution process from both the perspective of the contributor and the committer who accepts the contribution.

Experience level: 
Beginner

How to provide a portable developer workspace with Eclipse Che?

Developers are facing big changes in the way they are working since the raise of Docker. It’s terribly trendy and popular. Containers are heavily used to build, ship and run softwares.But what are the biggest impacts and values for the Developers?

Developers can benefit from portable developer environments leveraging the Docker containers technologies. It’s the main purpose of Eclipse Che. During this session we will discuss the various changes containers have provided to the developers, why dockerizing your projects and what are the best tactics to achieve that with Eclipse Che?

Experience level: 
Beginner

How to use the E4 Model Editor for your modular RCP applications

Do you know how to use the E4 Model Editor to create your modular E4 applications?

And, do you know how to extend your Eclipse RCP application using an E4 model fragment.e4xmi?

E4 model fragments are the default mechanism to extend your Eclipse RCP applications, and this talk's aim is to clearly explain how to use the model editor when dealing with fragments and to show the most recent improvements introduced in the model editor itself.

Experience level: 
Intermediate

InTheMoodForLife, Open Source Sleep analyser for mood disorders, First award of the Eclipse OpenIoTChallenge

InTheMoodForLife is an application to analyse and monitor sleep patterns of people affected by bipolar disorder.
The setup of the application was done during the Eclipse OpenIoTChallenge and also win the first award of the 2017 edition.
The solution is built using an off-the-shelf sleep monitor, Raspberry Pi, Eclipse Vert.x, and Warp 10.
Vert.x interacts with the sensor producing 140 measurements per second in an "elegant" asynchronous way and stores  sensor's data into a time series database, Warp10.

Experience level: 
Beginner
Track: 

Introduction to expression languages in Xtext

Embedding support for expressions into Xtext based languages has become easy when Xbase is chosen as base language. However, deriving a language from Xbase implies the usage of a Java based type system with dependencies on JDT. For language implementations that need to be independent from Java or that should have a different type system it is required to embed an own expression language.

Experience level: 
Intermediate
Track: 

Jenkins @ Scale

If you have a Jenkins master with a handful of agents, or no agents at all, and you would like to go to the next level, read more.

In this session, we will present you the new User Experience of Jenkins: Blue Ocean, and will show how to easily create your Declarative Pipeline using the new Visual Editor. From there, we will then demonstrate how to set up a Job in a few seconds to automatically builds all your branches, your Pull-Requests and post back build status.

Experience level: 
Intermediate

Language Server Protocol in action: C# in Eclipse IDE, Java in VSCode, your language everywhere

The Language Server Protocol in a popular IDE-independent and Language-independent interface to provide and consume language edition services - such as code analysis, completion, hyperlinking... It basically lets the language providers implement the protocol as a server, and the IDEs consume the protocol as a client to have the IDEs presenting the language-specific data without having to know about the language.
This protocol already has multiple successful stories. In this talk we’ll demonstrate:

Experience level: 
Intermediate

Lean and Easy IoT Applications with OSGi and Eclipse Concierge

Modularization of software is key to handling the inherent complexity of distributed applications like for the Internet of Things (IoT) and provide a flexible environment to evolve applications and manage their deployment effectively. OSGi is a popular framework for dynamic modules for the Java language. Eclipse Concierge provides a clean, small and lightweight implementation of the OSGi core framework specification, specifically tailored to embedded systems and IoT.

Experience level: 
Intermediate
Track: 

Lesson learned from using EMF to build desktop & web Applications

We recently faced a big challenge by migrating one of our biggest application from Client-Server to a Web architecture.  We developed this app by adopting some EMF technologies (such as EMF Edit, Parsley, CDO, etc..) and some good practices like Inversion of Control (with Google Guice) and MVP pattern. And we were really surprised how easily we realized this porting, since we replaced both UI and persistence layers in a matter of a few days.

Experience level: 
Intermediate

Measure water flow with Eclipse Kura in 30 minutes - flow meter integration case study

Measuring water flow is used in variety of industries. From chemical plants to agriculture flow meters are used to realize water management. Usually such devices have industrial grade connectivity options like HART or Modbus protocols. Recently it is highly desired to integrate process instrumentation equipment with IT systems, usually located in the cloud.

Experience level: 
Beginner
Track: 

Meet & Greet the Eclipse Research Project Community

Since 2014, the Eclipse Foundation was invited to join European Research projects to assist them in Dissemination, Community Building and OSS best practices. Today, we are directly involved in 5 EU projects and we are in touch with few others who are interested to join our dynamic community. Some of these projects are just starting, some other are in the middle of their timeline and one of them is finishing in July 2017. Each of these projects has or will have an Eclipse project created in our forge.

Experience level: 
Beginner

My Minecraft-Smart-Home: Prototyping the Internet of Uncanny Things

Software solutions and everyday objects are becoming increasingly "smarter", take over more "responsibility" and know more and more about us and our intentions. But what does that mean for developers, and what impact does this have on the user? How do we convey the understanding and competence for this Internet of Things? Sascha Wolter covers typical IoT challenges and inspires with crazy and sometimes creepy examples. He also introduces a prototypic approach for hardware and software ideation based on visual programming languages, games like Minecraft, and the Eclipse IDE.

Experience level: 
Beginner
Track: 

Pull Request, Mattermost connectors, Tracker Query Langage - the latest Tuleap big features

In the latest versions, Tuleap confirms its ALM strategy: providing tooling for all the software teams members: for developers, here are Git Pull Requests, for Project Leads, the Advanced Tracker Query Language, for Agile people, Mattermost Scrum reports.
This talk will explain you how to use these valuable features now available on the tuleap.eclipse.org platform put at all Eclipse projects' disposal.

Experience level: 
Intermediate

Reach IoT interoperability with standard and open source APIs

The talk gives a vision of an open end-to-end architecture providing standard APIs on a cloud platform and a home gateway to host any application and connect any device. Among the standard organizations and industrial alliances, oneM2M standard specifications are being adopted as a reference architecture by the IoT industry. The implementation of oneM2M standard features in eclipse OM2M will be detailed, especially the use of an abstraction layer using oneM2M Smart Device Template and the end-to-end access right management discriminating both applications and users when accessing devices.

Experience level: 
Intermediate
Track: 

Showtime Demos

Showtime Demos are scheduled during the lunch break on Wednesday, June 21.

There are two demo stations. Each station will have three different demos. The demos are short, and will repeat during the 20-minute demo time slot. The demo schedule will be available soon.

Click on the titles in the list below to see details about each topic.

Experience level: 
Beginner

Simulating Future Mobility

SUMO (Simulation of Urban Mobility) is a microscopic traffic simulator. It has been developed by the German Aerospace Center since 2003 and published as Open Source (see http://sumo.dlr.de). In this talk, SUMO and its capabilities for the realistic simulation of cars, busses, bikes, pedestrians, trains and even ships in cities, such as Berlin, are presented in an overview. A short and hands-on tutorial for the live creation of a simulation scenario is provided.

Experience level: 
Beginner

Simulating IoT gateways for fun and profit

Sometimes it is necessary to test your IoT cloud based system without any actual hardware. Setting up a test cluster of 1.000 IoT gateways and 10.000 sensors is possible, but there is a simpler way.

This talk will show how it is possible to simulate Kura gateways in plain software for unit, single device and scale-out testing.

Experience level: 
Intermediate
Track: 

Software Heritage: Preserving our Software Commons

The Software Commons is the vast body of human knowledge embedded in software source code, that is publicly available and can be freely altered and reused. Free and Open Source Software (FOSS) constitutes the bulk of it. Sadly we seem to be at increasing risk of losing this precious heritage built by the FOSS community over the paste decades: code hosting sites shut down when their popularity decreases, tapes of ancient versions of our toolchain (bit-)rot in basements, etc.

Experience level: 
Intermediate

Squaring the Capella circle: Open Source, Agile, Traditional

For many good reasons, Thales made the choice in 2013 to Open Source its field-proven, largely deployed, but proprietary modeling workbench Capella -- embarking all its enabling technologies such as Kitalpha, EGF, EMF Diff/Merge and Sirius in the process. The journey since that strategic decision has been a very challenging one, with no less than two tremendous transformations implemented simultaneously.

Experience level: 
Beginner

SW360 - The Component Management Hub

SW360 lets organizations manage third-party and own software components throughout the entire life cycle. Using SW360 as a one-stop shop for component information, organizations can track the components used in a project or product to:

•assess security vulnerabilities;
•reliably maintain license information;
•enforce software-related policies; generate customized reports;
•manage BOMs of products/solutions/projects;
•are able to automatically generate project or product required license compliance artifacts (e.g. Readme file / disclosure documents).

Experience level: 
Beginner

Testing Eclipse plug-ins: from unit to end-to-end testing

In this talk we want to share some tips and tricks on how to test Eclipse plug-ins at several stages during the development. In particular, we will show how to do without a running workbench (i.e., “Plug-in tests”) and without functional testing frameworks (e.g., SWTBot) as much as possible, relying only on plain JUnit tests.

Experience level: 
Intermediate

The Big Data Puzzle - Where Does the Eclipse Piece Fit?

We will introduce a Big Data configuration that uses Avro & Parquet for data formats, Hadoop for storage, and Spark / Hive for running queries. All of these projects are from the Apache Software Foundation and are widely used in the Data Science field. We will show how Eclipse provides an excellent foundation for IDE support and tooling to make it easier to develop solutions based on this technology stack.

Experience level: 
Beginner

The EMF Parsley DSL: an extensive use case of Xtext/Xbase powerful mechanisms

EMF Parsley is a GUI renderer built on top of EMF that allows developers to quickly develop User Interfaces. The main goal of the Project is to provide an easy way to build complex applications, hiding some boring details, with simple and powerful APIs. EMF Parsley in fact provides some built-in components like Trees, Tables and Forms that can be easily mashed up and customized.

Experience level: 
Advanced
Track: 

The Past, Present, and Future of Robotics

Robotics and automation are increasingly important in today’s complex business environments, and we believe that collaborative robots will soon become an everyday part of our business and personal lives.

This presentation will focus on the history of PAL Robotics: who we are and what we do, our experience in the industry, and what we expect and hope to see in the coming months and years.

Experience level: 
Beginner

Theia - One IDE Framework For Desktop & Cloud

Theia is the codename of a new open-source project. It provides a foundation for implementing integrated development environments (IDEs) not only for software developers but all kinds of engineers. Based around a flexible layout engine and by leveraging industry standards such as the “Language Server Protocol” clients shall be able to design rich software tools for engineers that run both as a desktop app and in the browser connected to a remote backend. The framework is implemented in TypeScript and leverages Node.js and Electron to support different architectures.

Experience level: 
Beginner

TypeScript, Future of JavaScript and rise of the transpilers

JavaScript is the most used language in the world.

Today, ES6, ES7 and in the near future, ES8, the rise of JavaScript on the server side, thanks to NodeJS, and the emergence of transpilers like Babel, CoffeeScript or TypeScript, are going to make JavaScript and the web development a new model in the B2B and B2C development, embrassing the desktop, tablets, browser and mobile development, a unique platform for every web developer.

Experience level: 
Intermediate

Why and how to leverage Apache Camel Integration Framework in your IoT architecture

Apache Camel framework is one of the most used Integration framework in middleware field. What about reusing it in your IoT infrastructure?

During the talk, I will explain the benefits of Apache Camel and how to leverage them in your IoT infrastructure, from gateways in Eclipse Kura to cloud in Eclipse Kapua.

A demo will show how to use existing Eclipse tooling (mainly Docker, Java debugger and Fuse Tooling) to develop your own Camel integration project and deploy/test them on Eclipse Kura.

 

Experience level: 
Intermediate
Track: 

Xtending our VHDL Xtext formatter with the formatter2 API

The formatter is one of the favourite IDE features of many developers. Always having a consistent code style, never having to worry about tabs, spaces, indentation or alignment is a tremendous help. But have you ever wondered how a formatter works?

With release 2.9, Xtext introduced the world to their new formatter2 API. It allows a formatter to access the text and the node model, as well as the AST. This allows the formatter to have a better understanding of the context, which in turn enables complicated conditional and pattern-aware code formatting.

Experience level: 
Intermediate
Track: 

Our Sponsors

For information about becoming a sponsor, please visit the Eclipsecon France2017 sponsor prospectus page.

Premium

Basic

Media

EclipseCon Support Other Events

Our Other Events

Eclipse events are hosted all over the world!

  • EclipseCon France 2017
  • Eclipse Summit India 2017
  • Eclipsecon Europe 2017