Road to a Reactive and Incremental Transformation Platform: Three

Total Page:16

File Type:pdf, Size:1020Kb

Road to a Reactive and Incremental Transformation Platform: Three Softw Syst Model DOI 10.1007/s10270-016-0530-4 EXPERT VOICE Road to a reactive and incremental model transformation platform: three generations of the VIATRA framework Dániel Varró1,2,3 · Gábor Bergmann1,2,3 · Ábel Hegedüs3 · Ákos Horváth1,3 · István Ráth1,3 · Zoltán Ujhelyi3 Received: 22 March 2016 / Revised: 21 April 2016 / Accepted: 23 April 2016 © The Author(s) 2016. This article is published with open access at Springerlink.com Abstract The current release of VIATRA provides open- 1 Software tools in systems engineering source tool support for an event-driven, reactive model transformation engine built on top of highly scalable incre- Model-driven engineering (MDE) plays an important role in mental graph queries for models with millions of elements the design of critical embedded and cyber-physical systems and advanced features such as rule-based design space in various application domains such as automotive, avion- exploration complex event processing or model obfuscation. ics or telecommunication. MDE tools aim to simultaneously However, the history of the VIATRA model transformation improve quality and decrease costs by early validation by framework dates back to over 16years. Starting as an early highlighting conceptual design flaws well before traditional academic research prototype as part of the M.Sc project of testing phases in accordance with the correct-by-construction the the first author it first evolved into a Prolog-based engine principle. Furthermore, they improve productivity of engi- followed by a family of open-source projects which by now neers by automatically synthesizing different design artifacts matured into a component integrated into various industrial (source code, configuration tables, test cases, fault trees, etc.) and open-source tools and deployed over multiple technolo- necessitated by certification standards (like DO-178C [117], gies. This invited paper briefly overviews the evolution of DO-330 [116] or ISO 26262[78]). the VIATRA/IncQuery family by highlighting key features Certain shares in the software tool market of systems engi- and illustrating main transformation concepts along an open neering are dominated by very few industrial tools (e.g., case study influenced by an industrial project. MATLAB Simulink, Dymola, DOORS, MagicDraw) each of which typically provides advanced support for certain Keywords Model transformations · Incremental evaluation · development stages (requirements engineering, simulation, Reactive transformations · Graph queries allocation, test generation, etc). To protect their intellec- tual property rights, these tools are of closed nature, which implies huge tool integration costs for system integrators (such as airframers or car manufacturers). On the other hand, recent initiatives (such as PolarSys, OpenModelica) have Communicated by Prof. Rumpe, Bernhard. started to promote open language standards and the system- atic use of open-source software components in tools for B Dániel Varró critical systems to reduce licensing costs and risks of vendor [email protected] lock-in. Certification standards of critical cyber-physical systems 1 Department of Measurement and Information Systems, Budapest University of Technology and Economics, Magyar require that software tools used for developing such critical tudósok krt. 2, Budapest 1117, Hungary system are validated with the same scrutiny as the system 2 MTA-BME Lendület Research Group on Cyber-Physical under design by software tool qualification [87,116], espe- Systems, Nádor utca 5, Budapest 1051, Hungary cially, when no further human checking is carried out on 3 IncQuery Labs Ltd., Bocskai út 77-79, Budapest 1117, the outputs of such tools. Software tool qualification dis- Hungary tinguishes between design tools which, by definition, may 123 D. Varró et al. introduce new errors to the system and verification tools 2 Motivating example which may fail to reveal existing errors of the system [87]or falsely reduce or simplify the verification process itself by As a motivating example, we investigate model deployment automation [116]. transformations for dynamic and self-adaptive systems fre- Unsurprisingly, software tool qualification is extremely quently considered in the context of smart cyber-physical costly due to high algorithmic complexity [97], tightly cou- systems (CPS) [92]. The source domain describes a high- pled architecture and unexpected feature interaction of such level generic infrastructure where applications (services) are tools [86]. In fact, many companies rather opt for using tools dynamically allocated to connected hosts. The target domain just as design aids to highlight errors quickly, and then, they represents low-level system deployment configuration with carry out the traditional verification and validation process stateful applications deployed on hosts. Traceability links by thorough simulation and testing [32,156]. Anyhow, sys- between the source and target models are also persisted as tematic software engineering techniques to simultaneously models to comply with traceability requirements of CPSs. improve quality and reduce the costs of software tool The full case study presents a complex challenge includ- qualification would be highly beneficial. Existing software ing (1) continuous validation of well-formedness constraints, engineering practices may guarantee the quality of the sys- (2) a model synchronization scenario, i.e., a model-to-model tem itself, but they frequently fail to ensure the quality of (M2M) transformation from the CPS model to a deployment the software tool used in systems engineering [141]. Fur- model and (3) a code generation scenario from the deploy- thermore, the rapid increase in the size and complexity of ment model to Java code. systems models introduces significant scalability challenges In a real design tool, some of these steps can be addressed for these tools [84]. by batch (on-demand) transformations which are initiated Software language engineering aims to provide founda- explicitly by the engineer, while others are defined as live tions, techniques and tools for domain-specific modeling (reactive) transformations which are triggered automatically languages to capture the models. Model transformation by certain changes in the underlying model. Some transfor- engineering aims to systematically develop queries and trans- mation steps can be target incremental which only update formations used in automated code generators, simulators or move target model elements instead of regenerating them or debuggers to process these models. Of course, seamless from scratch. Furthermore, source incremental transforma- integration of these techniques is needed when developing tion steps traverse or query exactly those source elements industrial tools. which are relevant for change detection and propagation The VIATRA open-source software project provides [68,123]. advanced support for incremental and reactive model trans- Due to data and control dependencies, the different trans- formations [20,141] built on top of incremental graph queries formation phases heavily depend upon each other. For to assist the systematic development of novel tools for sys- instance, continuous validation of constraints has to be tems engineering. This invited paper extends previous papers suspended, while a transformation is running; otherwise, [20,39,137,141,142,148] to provide an overview on the his- constraint violations may be unintentionally detected in an tory and evolution of the VIATRA model transformation incomplete state. In a traditional MDE toolchain, separate framework. It first started as part of the MSc research project tool features (e.g., plugins) would be used to describe the of the first author in 1999 [146,147], then evolved into a various phases, requiring an external orchestrator to facil- Prolog-based model transformation engine [39,148] (Sect. 3) itate the coordination. Complex features in real MDE tools followed by an open-source Eclipse project founded in 2005 (like model indexing or file operations) add further complex- [142] and used in various European projects (Sect. 4). Since ity to the integration of tool features. Needless to say that such 2010, the VIATRA family includes IncQuery [22,137] orchestrators are extremely hard to develop and debug. which supports the scalable incremental evaluation of graph queries over large models of heterogeneous technological Metamodels We present simplified fragments of the meta- spaces (Sect. 5.2). The current industrial release of VIATRA models in Fig. 1 to provide better focus for our paper. [20] (Sects. 5.3, 5.4) is a reactive and incremental transfor- The source (CPS) domain (Fig. 1a) contains classes (nodes) mation engine built on top of graph queries following several HostInstances and AppInstances, respectively, typed by principles of reactive programming [13] and active data- HostTypes and AppTypes as denoted by the corresponding bases [106]. We overview the main features of each major instances references (edges). AppInstances are allocated release along an open case study influenced by an indus- to a HostInstance captured by allocatedTo references. trial project (Sect. 2) which uses reactive transformations for In the target (Deployment) domain (Fig. 1b), Deploymen- model-based deployment with run-time models. We present tHosts and DeploymentApplications are derived from their selected academic and industrial applications of the VIATRA counterparts in the CPS model, but hosted applications are family and summarize related work in a historical
Recommended publications
  • Build an Eclipse Development Environment for Perl, Python, and PHP Use the Dynamic Languages Toolkit (DLTK) to Create Your Own IDE
    Build an Eclipse development environment for Perl, Python, and PHP Use the Dynamic Languages Toolkit (DLTK) to create your own IDE Skill Level: Intermediate Matthew Scarpino ([email protected]) Java Developer Eclipse Engineering, LLC 03 Feb 2009 Eclipse presents a wealth of capabilities for building tools for compiled languages like C and the Java™ programming language, but provides little support for scripting languages like Perl, Python, and PHP. For these and similar languages, the Eclipse Dynamic Languages Toolkit (DLTK) comes to the rescue. Walk through the process of building a DLTK-based IDE and discover sample code for each step. Section 1. Before you start About this tutorial This tutorial shows how Eclipse's DLTK makes it possible to build development tools for scripting languages. In particular, it explains how to implement syntax coloring, user preferences, and interpreter integration in a plug-in-based project. Objectives This tutorial explains — one step at a time — how to build a DLTK-based Build an Eclipse development environment for Perl, Python, and PHP © Copyright IBM Corporation 2008. All rights reserved. Page 1 of 33 developerWorks® ibm.com/developerWorks development environment. The discussion presents the DLTK by focusing on a practical plug-in project based on the Octave numerical computation language. Topics covered include: Frequently used acronyms • DLTK: Dynamic Languages Toolkit • GPL: GNU Public License • IDE: Integrated Development Environment • JRE: Java Runtime Environment • MVC: Model-View-Controller • SWT: Standard Widget Toolkit • UI: User Interface • Creating a plug-in project. • Configuring the editor and the DLTK text tools. • Adding classes to control syntax coloring in the text editor.
    [Show full text]
  • Customizing Eclipse RCP Applications Techniques to Use with SWT and Jface
    Customizing Eclipse RCP applications Techniques to use with SWT and JFace Skill Level: Intermediate Scott Delap ([email protected]) Desktop/Enterprise Java Consultant Annas Andy Maleh ([email protected]) Consultant 27 Feb 2007 Most developers think that an Eclipse Rich Client Platform (RCP) application must look similar in nature to the Eclipse integrated development environment (IDE). This isn't the case, however. This tutorial will explain a number of simple techniques you can use with the Standard Widget Toolkit (SWT) and JFace to create applications that have much more personality than the Eclipse IDE. Section 1. Before you start About this tutorial This tutorial will explain a number of UI elements that can be changed in Eclipse RCP, JFace, and SWT. Along the way, you will learn about basic changes you can make, such as fonts and colors. You will also learn advanced techniques, including how to create custom wizards and section headers. Using these in conjunction should provide you the ability to go from a typical-looking Eclipse RCP application to a distinctive but visually appealing one. Prerequisites Customizing Eclipse RCP applications © Copyright IBM Corporation 1994, 2008. All rights reserved. Page 1 of 40 developerWorks® ibm.com/developerWorks You should have a basic familiarity with SWT, JFace, and Eclipse RCP. System requirements To run the examples, you need a computer capable of adequately running Eclipse V3.2 and 50 MB of free disk space. Section 2. Heavyweight and lightweight widgets Before diving into techniques that can be used to modify SWT, JFace, and Eclipse RCP in general, it's important to cover the fundamental characteristics of SWT and how they apply to the appearance of the widget set.
    [Show full text]
  • Recoder with Eclipse
    School of Mathematics and Systems Engineering Reports from MSI - Rapporter från MSI Recoder with Eclipse Saúl Díaz González Álvaro Pariente Alonso June MSI Report 09031 2009 Växjö University ISSN 1650-2647 SE-351 95 VÄXJÖ ISRN VXU/MSI/DA/E/--09031/--SE Abstract RECODER is a Java framework aimed at source code analysis and metaprogramming. It works on several layers to offer a set of semi-automatic transformations and tools, ranging from a source code parser and unparser, offering a highly detailed syntactical model, analysis tools which are able to infer types of expressions, evaluate compile-time constants and keep cross-reference information, to transformations of the very Java sources, containing a library of common transformations and incremental analysis capabilities. These make up an useful set of tools which can be extended to provide the basis for more advanced refactoring and metacompiler applications, in very different fields, from code beautification and simple preprocessors, stepping to software visualization and design problem detection tools to adaptive programming environments and invasive software composition. The core system development of RECODER started in the academic field and as such, it was confined into a small platform of users. Although a powerful tool, RECODER framework lacks usability and requires extensive and careful configuration to work properly. In order to overcome such limitations, we have taken advantage of the Eclipse Integrated Development Environment (Eclipse IDE) developed by IBM, specifically its Plugin Framework Architecture to build a tool and a vehicle where to integrate RECODER functionalities into a wide-used, well-known platform to provide a semi- automated and user-friendly interface.
    [Show full text]
  • Eclipse (Software) 1 Eclipse (Software)
    Eclipse (software) 1 Eclipse (software) Eclipse Screenshot of Eclipse 3.6 Developer(s) Free and open source software community Stable release 3.6.2 Helios / 25 February 2011 Preview release 3.7M6 / 10 March 2011 Development status Active Written in Java Operating system Cross-platform: Linux, Mac OS X, Solaris, Windows Platform Java SE, Standard Widget Toolkit Available in Multilingual Type Software development License Eclipse Public License Website [1] Eclipse is a multi-language software development environment comprising an integrated development environment (IDE) and an extensible plug-in system. It is written mostly in Java and can be used to develop applications in Java and, by means of various plug-ins, other programming languages including Ada, C, C++, COBOL, Perl, PHP, Python, Ruby (including Ruby on Rails framework), Scala, Clojure, and Scheme. The IDE is often called Eclipse ADT for Ada, Eclipse CDT for C/C++, Eclipse JDT for Java, and Eclipse PDT for PHP. The initial codebase originated from VisualAge.[2] In its default form it is meant for Java developers, consisting of the Java Development Tools (JDT). Users can extend its abilities by installing plug-ins written for the Eclipse software framework, such as development toolkits for other programming languages, and can write and contribute their own plug-in modules. Released under the terms of the Eclipse Public License, Eclipse is free and open source software. It was one of the first IDEs to run under GNU Classpath and it runs without issues under IcedTea. Eclipse (software) 2 Architecture Eclipse employs plug-ins in order to provide all of its functionality on top of (and including) the runtime system, in contrast to some other applications where functionality is typically hard coded.
    [Show full text]
  • Flexibility at the Roots of Eclipse
    6°ÊÈ >ʽäÇ Dynamic Wizard Modeling with GMF Introduction to the Using GMF to Build a Dynamic Wizard Generic Eclipse Framework and a Graphical Editor Modeling System Developing a Deploying the BIRT Graphical Modeling Viewer to JBoss Tool for Eclipse Disseminate Report Content to an Application Server Subversive The Eclipse Enabling Plug-In for Integration and Subversion Interoperability for Eclipse based Development An Introduction to the Corona Project Flexibility at the Roots of Eclipse Solving the GUI Dilemma: SWTSwing and Eclipse on Swing 6°ÊÈ >ʽäÇ Vol.6 January 2007 Dynamic Wizard Modeling with GMF Introduction to the Using GMF to Build a Dynamic Wizard Generic Eclipse Table of Contents Framework and a Graphical Editor Modeling System Developing a Deploying the BIRT Graphical Modeling Viewer to JBoss Tool for Eclipse Disseminate Report Content to an Application Server Subversive The Eclipse Enabling Plug-In for Integration and Subversion FEATURES Interoperability for Eclipse based Development An Introduction to the Corona Project Flexibility at the Roots of Eclipse 29 Flexibility at the Roots of Eclipse Solving the GUI Dilemma: SWTSwing and Eclipse on Solving the GUI Dilemma: Swing SWTSwing and Eclipse on Swing No trench in the world of Java is deeper then that between SWT and Swing or Eclipse and Sun. Unity is only found in the knowledge that everybody suff ers from this argument. But how to end this almost religious battle over the righteous GUI-toolkit? How to bang their heads together if they only know DEPARTMENT one point of view—for them or against them! Th e sister projects SWTSwing and Eclipse on Swing News & Trends (EOS) achieve this trick.
    [Show full text]
  • Eclipse's Rich Client Platform, Part 1: Getting Started Skill Level: Intermediate
    Eclipse's Rich Client Platform, Part 1: Getting started Skill Level: Intermediate Jeff Gunther ([email protected]) General Manager Intalgent Technologies 27 Jul 2004 The first in a two-part "Eclipse's Rich Client Platform" series, this tutorial explores the basic design goals of the Eclipse Rich Client Platform (RCP) and how it fits within a developer's toolkit. After introducing this platform and exploring why it is a viable framework to deploy distributed client-side applications, this tutorial demonstrates how to construct a basic RCP application. Section 1. Before you start The first part of a two-part series, this tutorial explores Eclipse's Rich Client Platform (RCP). An example application shows you how to assemble an RCP to create an elegant, client-side interface for your own business applications. The application creates a front end for the Google API and gives you the ability to query and display search results. Having an application that demonstrates some of these technologies in action provides an understanding of the platform and its usefulness within some of your projects. About this tutorial You'll explore each one of these complementary technologies in detail over the course of this tutorial. After a brief introduction to these technologies, the tutorial explores the code and supporting files so you can grasp how to construct an RCP application. If you're new to Eclipse or its complementary technologies, refer to the Resources at the end of this tutorial for more information. Prerequisites Getting started © Copyright IBM Corporation 1994, 2008. All rights reserved. Page 1 of 31 developerWorks® ibm.com/developerWorks You should understand how to navigate Eclipse 3.0 and have a working knowledge of Java™ technology to follow along.
    [Show full text]
  • Understanding Jface Data Binding in Eclipse, Part 2: the Basics of Binding Skill Level: Intermediate
    Understanding JFace data binding in Eclipse, Part 2: The basics of binding Skill Level: Intermediate Scott Delap ([email protected]) Desktop/Enterprise Java Consultant 03 Oct 2006 Almost all applications require synchronization of data between various objects and services. However, moving String instances and writing event notification code can be tedious. Desktop application development is especially full of such tasks. The new JFace data binding application programming interface (API) included in Eclipse V3.2 looks to make this data synchronization process far easier. This "Understanding JFace data binding in Eclipse" series introduces basic and advanced uses of the JFace data binding API. Section 1. Before you start About this series Data binding APIs relieve you from having to write boilerplate synchronization code. The JFace data binding API provides this functionality for user interfaces (UIs) written in the Standard Widget Toolkit (SWT) and JFace. Part 1 of this "Understanding JFace data binding in Eclipse" series explains what a data binding framework does, introduces several popular Java GUI data binding frameworks, and covers the pros and cons of using data binding. This tutorial, Part 2, introduces the basic API components. Part 3 moves on to advanced topics, such as tables, converters, and validation. About this tutorial This tutorial explains reasons for using a data binding API. It then introduces you to using the core components of the JFace data binding API while laying the groundwork for more advanced topics, covered in Part 3. The basics of binding © Copyright IBM Corporation 1994, 2007. All rights reserved. Page 1 of 36 developerWorks® ibm.com/developerWorks Prerequisites This tutorial is written for developers with some experience with the Java™ programming language and Eclipse.
    [Show full text]
  • Copyrighted Material
    23_020059_bindex.qxd 10/8/04 1:23 PM Page 559 Index importing types, 31 A inheriting constructors, 32 AbstractDecoratedTextEditor class, 359 Javadoc comments, 31 AbstractTextEditor class, 357–359 overriding methods, 32 accessibility options (SWT), 202–203 AWT components with SWT, 191 actions (JFace), 226–227, 367 embedded contents, 192 defining events, 192–196 attributes, 368–370 Azzurri Clay, 547 delegates, 371–372 enabling and disabling, 370–371 in the manifest, 368 B selection events, 370 Back function, 37, 53 global, 367 backing up workspaces, 2 implementing manually, 372 beans, 48 local, 367 generic, 48 active help systems, 382, 474–475 properties, 48–49 adapters, SWT events, 142 Beck, Kent, 540 Add Java Exception Breakpoint function, 117 bookmarks agile programming. See extreme programming bookmark manager, 366 annotations (JFace), 223–224 creating, 22 Ant, 388 breakpoints configuring, 388–389 managing, 117–118 editing scripts, 389–390 setting, 116 ANTLR, 547 Breakpoints View, 117–118 applications, exporting (Duke Speaks project), browser widget (SWT), 177 109–110 build.properties files (spell checker project), 493–495 architecture, Eclipse platform BundleActivators (OSGi), 314 core runtime, 315 BusyIndicator class (SWT), 175 extension points, 314 buttons help system, 316 Duke Speaks project GUI, 94–95 OSGi, 314 SWT, 156 overview, 314, 316–317 RCP vs. IDE, 315 C resource management, 315 Call Hierarchy View, 27–28 team support, 316–317 CDT, 547 user interfaces, 316 COPYRIGHTEDcell MATERIAL editors AspectJ, 547 Jukebox project, 285–286,
    [Show full text]
  • Using Jface Tables 3.3 API with Eclipse RCP - Tutorial
    Using JFace Tables 3.3 API with Eclipse RCP - Tutorial http://www.vogella.de/articles/EclipseJFaceTable/article.html Eclipse, Java and Web development - Free Tutorials Home Java Eclipse Web Source Code Browse this article Digg this site Bookmark at del.icio.us Eclipse RCP Training Jointly with the Eclipse Foundation Understand concepts & architecture innoopract.com/en/services/training Eclipse Table 1,000+ Billiard Tables Shop, Compare and Save at Pronto. Table.Pronto.com BIRT Community Site Free, open forum. Share code, tech tips, and report designs. www.BIRT-Exchange.com Free iGrafx Viewer View & Print iGrafx Files with Free Software. Download Now. www.iGrafx.com Using JFace Tables 3.3 API with Eclipse RCP - Tutorial Clemens Muessener < [email protected] > Additons by Hendrik Still Version 0.5 Copyright © 2007 Clemens Muessener 15.12.2007 Abstract This article is a How-to-Guide to build an Eclipse RCP application with a JFace table using the new 3.3 API. Different editors and label provider will be used for different data types. The article demonstrate also how to copy text into the system clipboard using SWT. While we are creating an Eclipse RCP application the approach described here can also be used for building non RCP applications, plug-ins. This article assumes you have already a good general knowledge about using Eclipse. Table of Contents 1 of 23 15/07/2008 7:59 PM Using JFace Tables 3.3 API with Eclipse RCP - Tutorial http://www.vogella.de/articles/EclipseJFaceTable/article.html 1. Scenario 2. Create a project 3. Create the model 4.
    [Show full text]
  • Aspect Impact Analysis
    ASPECT IMPACT ANALYSIS by Dehua Zhang School of Computer Science McGill University, Montr´eal August 2008 A THESIS SUBMITTED TO THE FACULTY OF GRADUATE STUDIES AND RESEARCH IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF SCIENCE Copyright c 2008 by Dehua Zhang Abstract One of the major challenges in aspect-oriented programming is that aspects may have unintended impacts on a base program. Thus, it is important to develop techniques and tools that can both summarize the impacts and provide information about the causes of the impacts. This thesis presents impact analyses for AspectJ. Our approach detects different ways advice and inter-type declarations interact and in- terfere with the base program and focuses on four kinds of impacts, state impacts which cause changes of state in the base program, computation impacts which cause changes in functionality by adding, removing or replacing computations of the base program, shad- owing impacts which cause changes of field reference in the base program, and lookup impacts which cause changes of method lookup in the base program. We provide a classification scheme for these kinds of impacts and then develop a set of static analyses to estimate these impacts. A key feature of our approach is the use of points-to analysis to provide more accurate estimates. Further, our analysis results allow us to trace back to find the causes of the impacts. We have implemented our techniques in the AspectBench compiler. By implementing them in an AspectJ compiler, all kinds of pointcuts, advice and inter-type declarations can be analyzed.
    [Show full text]
  • An Easy Way to Web User Interfaces for Ground Segment Systems
    An Easy Way to Web User Interfaces for Ground Segment Systems Felix Flentge, Holger Dreihahn, Gonçalo Lopes, David Marina, Jean Schuetz 03/02/2017 © 2017 by ESA. Published by the Aerospace Corporation with permission. From Rich Client … MMI Deployment Backend System Ground Segment System • Ground Station • Mission Control • Planning & Scheduling Non-space Systems Felix Flentge, Holger Dreihahn, Gonçalo Lopes, David Marina, Jean Schuetz | ESOC | 03/02/2017 | Slide 2 From Rich Client … to Web-based Server Environment Backend MMI System Ground Segment System • Ground Station • Mission Control • Planning & Scheduling Non-space systems Felix Flentge, Holger Dreihahn, Gonçalo Lopes, David Marina, Jean Schuetz | ESOC | 03/02/2017 | Slide 3 Agenda 1. Motivation – Current State 2. Rich Clients vs Web-based User Interfaces 3. Eclipse Remote Application Platform (RAP) 4. Implementation of Web-based MMI a. EGOS User Desktop (EUD) / WebEUD b. Semi-automatic creation of ground station subsystem web-based MMI 5. Conclusion & Outlook Felix Flentge, Holger Dreihahn, Gonçalo Lopes, David Marina, Jean Schuetz | ESOC | 03/02/2017 | Slide 4 Motivation – Current State • MMI for ground data systems used to be implemented as separate standalone application • Use of frameworks (Eclipse Rich Client Platform) allows to exploit commonalities and a more harmonized look & feel • EGOS User Desktop providing common functionality for ground data systems Felix Flentge, Holger Dreihahn, Gonçalo Lopes, David Marina, Jean Schuetz | ESOC | 03/02/2017 | Slide 5 Motivation –
    [Show full text]
  • Eclipse-IT 2013
    Eclipse-IT 2013 VIII Workshop of the Italian Eclipse Community Crema, September 19-20 2013 Elvinia Riccobene (ed.) Elvinia Riccobene (ed.) Eclipse-IT 2013 VIII Italian Workshop on Eclipse Technologies Crema, September 19-20, 2013 Università degli Studi di Milano Eclipse Italian Community http://eclipse.dis.unina.it/ Conference web site: http://2013.eclipse-it.org/ September 2013 ISBN: 978-88-904388-4-4 Preface This volume contains the extended abstracts of the contributions presented at EclipseIT 2013, the 8 th workshop of the Italian Eclipse Community, hosted by the Computer Science Department of the University of Milan (Crema Campus) on September 19-20, 2013. Previous editions took place is Rome (2006), Naples (2007), Bari (2008), Bergamo (2009), Savona (2010), Milan (2011), and Pozzuoli (2012). Although Eclipse was initially designed as an integrated development environment (IDE) for object-oriented application development, today it represents an open development platform comprised of extensible frameworks, tools and runtimes for building, deploying and managing software. Around Eclipse, an international live community continuously works on improving the framework and on promoting the use of Eclipse. That happens also in Italy. This workshop is, indeed, the eighth yearly meeting of the Italian Eclipse Community which includes universities, public institutions and industries, researchers and practitioners, students and professionals, all joined by the interest in experimenting, extending, and supporting the Eclipse platform. The special topic of this edition is the Software cooperative development for mobile applications. Two tutorials are offered on this theme: (1) Sviluppo di applicazioni enterprise per il mobile con IBM Jazz, Eclipse e Worklight by Ferdinando Gorga from IBM, and (2) Uso di Eclipse per lo sviluppo cooperativo del software , by Paolo Maresca of the University of Naple, Federico II.
    [Show full text]