Eclipse Embedded Day Stuttgart 2010/SessionAbstracts
Building Validation Suites with Eclipse for Model-based Generation Tools
Abstract: The need for the application of validation suites for tools that may be used in safety critical processes that conform to international standards like ISO26262, DO178b,IEC61508 is growing, especially if the output of the tools shall be trusted, e.g. code generators, target compiler, or test tools.
In the talk a method is presented that systematically generates input and expected output values for tools with corresponding ecore models (reengineered or developed) in Eclipse EMF. The specification of the models in the validation suites is done using a DSL (based on xText), the generation of the tests is done using M2M (ATL). The end of the tests is determined using a model-projection mechanism that shows that all elements of the model that are used in reference projects have been tested. The method has been successfully applied by Validas AG to build two different validation suites for different code generators of leading modelling tools used in automotive sector. Further information is published at www.validas.de
Dr. Oscar Slotosch, Born 1966, Munich, Phd in Computer Science (Formal Methods), Leader of the award-winning academic case-tool AutoFOCUS, Founder and CEO of Validas AG, Expert for model-based development, model-based testing and Code-Generators.
Visual Tools for Analysis of Embedded Applications
Abstract: This presentation will explain visual tools for the analysis of embedded and time-critical applications. Short live demos will give an insight into the use of these tools during everyday development. The tools that will be shown are VeriFlux and aicas ThreadMonitor. VeriFlux is a JVM independent static analysis tool for Java thatperforms a program-wide analysis using abstract interpretation. As results, it finds possible run-time exceptions or deadlocks.Several views are used to browse through these errors: A source-code centric view highlights errors at package, class, method, source-codeand byte-code level, while a problem-centric view enables browsing through the errors detected and zooming down to the corresponding source positions. aicas ThreadMonitor enables remote recording of events that occur ina JVM running on an embedded device. These events include thread-switches, Java monitors, garbage-collection, user events, etc. The time-scale of these events ranges from hundreds of nanoseconds up to seconds or minutes, such that data at timeresolutions that are many orders of magnitude apart need to be displayed properly. The techniques used for the visualization andbrowsing through this data will be demonstrated together with specific tools such as worst-case execution time determination froma run-time measurement.
Dr. Siebert received his Diploma (MSc) in computer science at theUniversity of Stuttgart, Germany, in 1997. He worked for 2 years asa research engineer on compilation and optimization for embeddedJava at the The Open Group research institute in Grenoble, France. In 2001, he received his PhD at the University of Karlsruhe on thesubject of real-time garbage collection for Java. This technology became the basis of the JamaicaVM real-time Java implementation. Dr. Siebert is one of the founding partners of aicas GmbH that develops and distributes Java tools VeriFlux and JamaicaVM. He is Chief Technology Officer at aicas and technical leader of the JEOPARD project that addresses multicore real-time systems.
eTrice: a proposed Eclipse project for embedded MDD based on ROOM
Abstract: The proposed Eclipse project called eTrice is introduced. It will be pointed out why ROOM (Real-Time Object Oriented Modeling, Bran Selic et al.) is better suited for the modelling of embedded systems than UML2 - despite the fact that ROOM inspired some new concepts in UML2 like ports and composite structure diagrams. eTrice will not only deliver a ROOM meta-model but also state of the art tooling support with complete code generation in C, C++ and Java. An easily portable run time framework for each supported language and exemplary Hardware/OS combinations are also in the scope of the project.
Thomas Schuetz holds a degree in aerospace engineering of the University of Munich. He is CEO and consultant of Protos Software, which he founded in 1997. Many projects since, in which he served as project lead or architect, could benefit from his in-depth knowledge of model-based development for Embedded Systems.
Morpheus: the first telematics IDE based on Eclipse
Abstract: Mobile Devices main goal is to provide to telematics field an easy way to add an modify features arising from demand. Based on the existing fully functional MCT SDK, Morpheus provides a full telematics IDE for our products using a large set of Eclipse technologies & frameworks. In the presentation, we'll see how we used EMF technology to provide userfriendly editors based on SWT. A GUI editor based on GEF is one of our prior challenge for this IDE, it creates EMF generated XML files that are transformed using XSL into Java classes to reduce users interaction. For testing purpose, and as we speak of embedded software, we created a device simulator plugged into Eclipse Debug tools.
Nicolas Despres is graduated from EPITA (Ecole pour l'Informatique et les Techniques Avances). At the LRDE (Laboratoire de Recherche de l'EPITA), he has worked on software transformation, software testing and software engineering. He worked for 3 years at Gostai SAS developing, managing and maintaining a complex graphics application suite applied to IA software for robotics. Since February 2010, he is R&D Manager at Mobile Devices designing the architecture of the software embedded in the mobile devices.
Scaling configuration management: from single embedded device deployment to fully customized multi-customer, multi-device software. A case study
Abstract: In this talk I will show the path we took from an initial application that ran on a specific embedded platform to a software solution that allows the management of customer configurations and supports software packaging and deployment on a whole range of embedded platforms. This talk is a case study of the path we took from from configurable software to customized software.
The following applications were developed by MicroDoc GmbH for SkiData AG.
The initial application is called DEI (Device Enabling Interface) and it is an OSGi, embedded Java application that runs on an ARM, embedded-Linux platform. DEI is a hardware centric framework for running Skidata specific components called Modules, Protocols and Ports. A good example for a Module is a RFID reader, a Protocol can be CRC32, a Port implementation can be USB, and so on. DEI controlls the lifecycle, configuration and interaction of the various components and offers services like lookup and automatic discovery to the application.
The next step is called MDM (Multi Device Management). MDM deals with devices in a N:1 relation instead of a 1:1 relation as it is the case in DEI. Due to the fact that 3rd party equipment often doesn't have enough resources to run DEI on-board, the DEI is run outside of the device on a hardware instance that is powerful enough to run all the necessary instances of DEI.
The final step is called SCM (Software Configuration Management) and addresses the typical problems that arise in a multi-customer, multi-device environment: the management the lifecycle of software components, the management of customer configurations, the packaging and deploying of software compilations. A software compilation is a software distribution consisting of several customized software components, which can be deployed on a device.
I am a senior software engineer at MicroDoc GmbH in Munich and I was involved in the introduction of TDD within the MicroDoc development process. I have experience in tools development and automation techniques, in the embedded as well as the enterprise domains
Developing Smart Home Systems by using OSGi and Plug Computers
Abstract: There is a growing interest in using OSGi in residential products such as home gateways and intelligent home control panels, but the production of these devices have often required significant development and marketing resources. The availability of extensible, high-performance, always-on, and environmentally friendly computing units like Plug Computer makes the realization of OSGi-based use cases much more attractive to developers and consumers. This session covers :
- OSGi and Plug Computer: architecture and benefits overview
- Getting started with OSGi on Plug Computer
- Development/tuning tips
- Demonstration including the development, deployment and profiling of a simple smart home application
Dimitar Valtchev is Chief Technology Officer of ProSyst Software which offers several OSGi and Eclipse based products. His main interests are in the fields of embedded systems, device management, and distributed computing. Currently Dimitar is involved in numerous residential,automotive and mobile projects using the OSGi technology.
Get Lean with OSEE
Abstract: Every large program that develops systems and software is currently required to assemble a wide array of software products to provide piecemeal capabilities necessary for completing different stages of the engineering lifecycle. The resulting tools are often disconnected and use an overwhelming array of disjointed user interfaces to access partially redundant data. That is, the system has a lot of “waste” and is no more lean.
OSEE or Open System Engineering Environment is a tightly integrated environment designed and developed by Boeing to support lean engineering principles across a product's full life-cycle in the context of an overall systems engineering approach. At its core, OSEE is an extensible application framework which provides a powerful persistence layer, allowing applications to utilize a common user-defined data model. Build on top of this is a wide range of tools for configuration management, requirements management, testing, validation, and project management.
This talk is based on an independent evaluation done for OSEE. The talk gives an introduction to OSEE, followed by a demo of its key features.
Nirmal Sasidharan is a developer and software architect at itemis. His interests are in Model Driven Software Development (MDSD) based on Eclipse platform. Before joining itemis, Nirmal Sasidharan has worked 7 years with Bosch, architecting and developing tools for automotive domain. He earned a Bachelor of Technology degree in Information Technology from Cochin University of Science and Technology.
Documentation of Eclipse applications with DITA
Abstract: Documentation is an important part of professional application development. In complex environments with different software versions and variants, short release cycles, agile process models and increasing quality demand, documentation can easily get out of hand. This presentation will introduce an approach to efficiently document Eclipse RCP applications based on DITA (Darwin Information Typing Architecture). Open-source and commercial options of documentation tools for Eclipse will be presented and a procedure of synchronizing development and documentation process will be suggested.
Gunthilde Sohn is co-founder and managing director of instinctools. Since 2001 instinctools offers Software and Services in Information Management. As a member of Eclipse Foundation they provide comprehensive consulting and implementation services in the areas of Eclipse, Single-sourcing and DITA. With DITAworks they offer an end-to-end authoring platform for structured documentation. Gunthilde holds a diploma in mathematics of the University of Ulm and has been working many years at IBM in several management positions of national and international development projects.
Testing embedded graphical user interfaces – friend or foe?
Abstract: Automated graphical user interface tests are widely used for end user desktop applications – but what about testing user interfaces for embedded devices? This talk will take a look at test design for small mobile graphical user interfaces (such as eSWT, eRCP) and will point out common obstacles and solutions in this advanced environment. Furthermore this talk will demonstrate inside project knowledge of eSWT and eRCP development for mobile devices as well as a basic overview of the competitors: Android and iPhone OS. The audience will get an introduction to automated testing on embedded devices combined with a handson demonstration of different embedded testing environments.
Markus is a software developer and tester at BREDEX GmbH. His main areas of expertise are the design and maintenance of automated tests and Eclipse RCP development. He is one of the core team developers for the automated test tool GUIdancer and holds a Diplom (German degree) in Computer Science from the University of Applied Sciences in Braunschweig.
Sphinx – an Industrial Strength Tool Platform Fostering Model-driven Development of Embedded Systems
Abstract: It is a known fact that embedded system complexity doesn’t stop increasing and model-driven software development turns more and more out to be an adequate approach to keeping this complexity under control. But it is still a major hassle to provide corresponding integrated tool environments which are sufficiently domain-oriented, scalable, and robust. Eclipse as an open and extensible tool platform is a very good starting point but not a solution per se. The Eclipse Modeling Project provides many of the additionally required building blocks but is very fragmented and not up to the point where it could provide the level of tool support embedded system designers expect. The recently proposed Sphinx project is meant to significantly improve this situation. It will be seeded with code from Artop – a platform for creating modeling tools supporting the AUTOSAR standard which has already been deployed at several larger automotive companies. Complementary building blocks will come from the Papyrus project. Sphinx will provide a modeling tool platform enabling IDE-like tool support for specific modeling languages to be developed at reasonable effort and cost. It will leverage and foster the industrial strength known from Artop and head towards a domain- and vendor-independent interoperability layer (backbone) for modeling tools of any kind.
Stephan Eberle works as product development manager at Geensys in France. He leads the development of the core parts in the Artop open source project (www.artop.org) which provides reusable building blocks for Eclipse-based AUTOSAR design tools used in automotive software engineering. He is also committer for the Teneo component in EMF, EMF Search in EMFT, and will be co-lead of the recently announced Sphinx project under MDT. Stephan holds a Ph.D. in Engineering and a Diploma degree in Electrical Engineering, both from the University of Stuttgart (Germany).
How to Improve Your Geographically Distributed Software Development Process using Git or Mercurial
Abstract: Since Linus Torvalds presented his revolutionary invention Git Distributed Version Control Systems (DVCS), its adoption and interest amongst software developers has been consistently rising for such systems. Reaching the limits of legacy version control systems, software developers are seeking alternatives to replace their centralized systems.
Some notable advantages of DVCS like Git, Mercurial and Bazaar over centralized systems:
- More transparency in communication,
- Increased collaboration between peers resulting in improved productivity,
- Better facilitated development processes,
- Less complexity and administration efforts,
- Reduced costs for hardware, support and maintenance costs
- Less network load, less dependence on network
- Working in online / offline mode
Compared to legacy high-end version control systems, the latest DVCS make it easier to collaborate on projects by designing communication more transparent and processes lighter: it's easy to join projects, to understand and integrate changes, and to branch or tag source code. DVCS also provide incomparable performance with large code bases, support offline work, and are inherently built to mitigate against a single point of failure.
In our live presentation, we will demonstrate the development process of a geographically distributed team using Eclipse and Mercurial. With focus on the relevant challenges – complexity handling and costs – we clearly emphasize the achievable results by using a Distributed Version Control System.
Janos Koppany is Co-founder and CEO at Intland Software. The company was founded in 1998 with the mission to innovate a new generation of collaborative software development tools to address the escalation in team distribution and ever-increasing project complexity. Intland's collaborative software development solutions are used across widespread industries by major international organizations such as Allianz, Continental, Daimler, Dassault, EDS, EADS, JPMorgan, Lufthansa Systems, USDA, Siemens, Bayer and many others. In previous positions Janos Koppany was director marketing and sales at Cygnus (now RedHat) that acquired his formerly established company Multix Software.
Development Organisations of the Future
Hans-Jürgen Kugler, KUGLER MAAG CIE GmbH
Abstract: As the demand for software continues to grow, embedded systems rule. There are few, if any, industry domains that have not yet been “infected” by software. Pervasive computing is already here to stay. And as the internet moves from an information network to a command and control network of “things” the distinction between local and global pervasive computing blurs.
Evolving systems is essentially what we are dealing with, systems with emergent properties. And since these systems are or will control real-life situations, the behavior of these systems better be safe, secure and reliable – to name just a few properties. Evolving critical systems is what Lero, the Irish Software Engineering Research Centre, calls what we are dealing with.
The question is: “Can we deal with these?” Conway’s Law states that the properties of a product are a reflection of the properties of the organisation that developed it. And organisations are essentially defined by the processes they employ to innovate, develop, market, sell and generate revenue from their products and services.
A whole array of international and industry standards, researchers, consultants and trainers aim to address what should constitute processes consisting of “good practices” to guarantee that we get what we wanted to get. Significant progress has been achieved in various industry domains. The trend is to favour a process competence level that is harmonised across an organization and deployed in the majority, or even better, all development situations.
Many see this so-called “Level 3” as an oasis of stability, which allows predictable development and cost optimization. Given the rate of growth and change in evolving critical systems this seems understandable, but incongruous. What necessary is a flexible response, an attitude to embrace and welcome change. Are the current models for organisations and processes suitable? How does such a flexible organisation with adaptable processes work? What is the basis of its development processes, how does its management function – and is there a role that the tool infrastructure could play?
Functional Safety Implications for Development Infrastructures
Abstract:More and more embedded systems are safety-related. In the automotive application domain the health of drivers and traffic participants depends on the correct functioning of such systems. That has implications on the way such systems must be developed, including the development environment and tools used. Functional safety standards describe what and how to do in the different development phases.
We shortly explain the key approach of functional safety standards and then concentrate on the automotive domain with its upcoming standard ISO 26262. We address the relevant elements of the standard concerning development environments and software tools used from the perspective of the tool users as well as of the tool manufacturers. Tool qualification is the key word. It is one thing to know what the standard requires. It is something different to know how to interpret the standard in practice. “What do I really have to do?”
Erwin Petry holds a PhD in Computer Science and has been a process improvement consultant for many years. His focus has been on setting up and accompanying CMMI and SPICE programs in the development departments of car manufacturers and suppliers. Dr. Petry is an expert in functional safety and in the management of supplier interfaces, in error handling as well as in project, quality and change management. He works as an assessor, auditor and trainer and is a certified SCAMPI Lead Appraiser. He is co-author of a brand-new book on functional safety.
Applying OSGi, Modeling, and Eclipse to Embedded System
Abstract:As embedded systems become more powerful they gain the ability to execute feature-rich complex software applications. Applying modular software and hardware techniques to the design of embedded systems facilitates and speeds up the development cycle. On the software side, OSGi can be used as a standardized software service framework that promotes reusable and easily configurable software. On the hardware side, Bug - a highly modular and configurable hardware platform – can be used to quickly build embedded hardware prototypes. The availability of multiple hardware modules enables the designer to quickly extend and modify the hardware platform. Although frameworks and platforms facilitate the development of these systems, developers can benefit greatly by the application of model driven development (MDD). MDD provides developers with domain specific languages, editors, and generators which enables them to program at higher level of abstraction and closer to their problem domain while shielding them from the idiosyncrasies of the solution domain. Interestingly enough, Eclipse provides a mature industrial-strength commercial-quality implementation of both an OSGi framework (Equinox) and a Language Workbench (Eclipse Modeling Project). A Language workbench provides developers with the necessary modeling tools and frameworks that make MDD an economically viable solution.
During this talk we will discuss the benefits of OSGi as applied to a highly modular embedded consumer electronics system. We will also discuss the techniques required to enable Java OSGi services to communicate with hardware as well how to facilitate the development of the applications targeting embedded systems and OSGi by extending Eclipse. We will include the use of MDD as means to tackle the complexities of the applications and the services that run atop the OSGi framework and the hardware modules.
Bruce Trask has been developing complex Distributed Real-Time Embedded systems for over 20 years specializing in Model Driven Engineering and Domain Specific Languages as applied to these systems in the last 10 years. He has also been teaching C++, Object Orientation, Design Patterns, UML, CORBA and Framework courses for over 10 years. He is a regular speaker/presenter at international software industry conferences. He has delivered tutorials at the OMG. Bruce Trask is the CEO of MDE Systems Inc (www.mdesystems.com).
Angel Roman is the Chief Software Architect of MDE Systems and an expert on the Eclipse Development environment and its application frameworks. He has presented at various industry conferences on topics such as Software Defined Radios and MDE Technologies. He has been involved with projects concerning Eclipse Development, Embedded Linux Systems and OSGi.
Both Bruce and Angel have extensive experience fielding real-world MDE and Generative Systems and Tools using various forms of domain specific languages.
UOMo and Embedded Measurement
Abstract: Developers who work with physical quantities (such as developers in the scientific, engineering, medical, and manufacturing domains) need to be able to handle measurements of these quantities in their programs.
Inadequate models of physical measurements can lead to significant programmatic errors.
In particular, the practice of modeling a measure as a simple number with no regard to the units it represents creates fragile code. Another developer or another part of the code may misinterpret the number as representing a different unit of measurement. For example, it may be unclear whether a person's weight is expressed in pounds, kilograms, or stones.
Problems multiply for mobile, embedded or distributed clients having to communicate with multiple servers or services in a Cloud. This session provides an overview of Eclipse OUMo, the UCUM standard and prior implementations like Java Mobile Sensor API (JSR-256) or OSGi Measurement.
Werner Keil is currently an Agile Coach and Consultant at emergn, a business agility company specialising in Agile and Lean processes. His former roles have included Eclipse RCP Developer and Consultant having worked for governments worldwide or companies like Mobilkom / Vodafone, Daimler, Nokia, BEA/Oracle, Capita and Legal & General. Among his earlier clients are Sony where he designed and implemented micro-format based tags for Sony Music.
Werner is committing member of the Eclipse Foundation, Babel Language Champion (German), UOMo Project Lead and active member of the Java Community Process, including his membership in JSRs like 316 (Java EE 6), 321 (Trusted Java), 331 (CP) and the Executive Committee (SE/EE).