itemis blogs

Towards a generic splitable framework implementation – Post #1

Andreas Graf

Splitables are a concept introduced by AUTOSAR. In a nutshell, splitables allow for model elements to be split over a number of AUTOSAR files. E.g., two AUTOSAR files could contain the same package and the full model would actually consist … Continue reading →

Fornax MWE Workflow Maven Plugin 3.5.1 published on Maven Central


The Fornax Workflow plugin is a Maven Plugin that executes MWE/MWE2 workflows within Maven. It has been there for quite some years now, and whoever needed to integrate MWE/MWE2 workflows in a headless build was likely using it. The Fornax … Continue reading →

Dynamic Workflows

Andreas Graf

In this guest post by Amine Lajmi, Amine introduces the workflow framework that was designed and implemented by him and itemis Paris for Sphinx.  Dynamic Workflows Still today, MWE is used for the definition of workflows in several model-driven applications … Continue reading →

Grobkonzept: Usability und Barrierefreiheit im Kontext von Web-Formularen

Michael Jendryschik

Formulare sind ein Instrument der Mensch-Maschine-Interaktion, das heißt eine Schnittstelle zwischen einem Nutzer, der das Formular ausfüllt, und einer Software, die die Angaben entgegennimmt und auswertet oder verarbeitet. Damit stellen Formulare besondere Anforderungen an Usability und Barrierefreiheit. Dieser Artikel skizziert ein Grobkonzept für ein zweiseitiges Formular … Weiterlesen

New Sphinx Validation/Check Framework

Andreas Graf

In this guest post by Amine Lajmi, Amine introduces the new check framework that was designed and implemented by him and itemis Paris for Sphinx. VALIDATION/CHECK FRAMEWORK The standard EMF validation seems tightly coupled to the EMF Ecore metamodel, and … Continue reading →

IAdaptable - GEF4's Interpretation of a Classic

Alexander Nyßen

Adaptable Objects as a Core Pattern of Eclipse Core RuntimeThe adaptable objects pattern is probably the most important one used by the Eclipse core runtime. Formalized by the org.eclipse.core.runtime.IAdaptable interface, an adaptable object can easily be queried by clients (in a type-safe manner) for additional functionality that is not included within its general contract.public interface IAdaptable {  /**
   * Returns an object which is an instance of the given [...]

Sicherheit und Internet of Things

Die Heizung erkennt, wer sich im Raum aufhält und wie viel Wärme benötigt wird. Der Kühlschrank bestellt selbst die fehlende Milch nach und in sozialen Netzwerken werden automatisiert Urlaubsbilder von der Digitalkamera hochgeladen. Doch ist bei all diesen Trends auch die Sicherheit angemessen berücksichtigt? Ist jedem bewusst das ein vernetzter Gegenstand auch eine offene Türe […]

My Lightweight Release Process

Stefan Oehme

"If it's not on Maven Central, it doesn't exist!"

I always feel sad when I see a nice little library and the usage instructions say something like "download the jar and put it on your project's classpath". It's 2014 and your project deserves to be in a public repository!

But getting it there can be tedious without the right tools. Not only should you build a jar, you also want sources and javadoc, all of them digitally signed. On top of that you need to provide lots of metadata [...]

Travis CI: Replicating Environment Variables

Stefan Oehme

I have quite a few open source projects that I wish to build/release automatically on pushes/tags. For the release, I need the same environment variables (passwords and API keys) in all of my builds. Unfortunately, Travis currently only allows setting them per project. This quickly becomes annoying, especially if you ever have to change a password.

I worked around this by having a seed job where I configure these variables. That job then uses the Travis Ruby-API to push those variables [...]

Injizierbare Logger mit CDI

Dominik Pieper

Mit CDI Producern lassen sich die Logger Konfigurationen der Form [crayon-54f3e04a2df2b889055301/] in jeder Klasse umgehen. Es ist möglich, einen Logger einfach mit der @Inject Annotation zu injizieren. Hierzu gibt es als Gegenstück zu @Inject die Annotation @Produces (siehe CDI – JSR 299) Um den Logger überall injizierbar zu machen, wird eine Producer Klasse gebraucht: [crayon-54f3e04a2df42683316290/] […]