Vesmír Jménem Eclipse Liborlibor Jelínekjelínek

Total Page:16

File Type:pdf, Size:1020Kb

Vesmír Jménem Eclipse Liborlibor Jelínekjelínek VesmírVesmír jménemjménem EclipseEclipse Libor Jelínek (Virtage Software) CZJUG @ Praha 30.9.2013 Libor Jelínek, Virtage Software Vesmír jménem Eclipse www.virtage.cz/eclipse/ LiborLibor JelínekJelínek ● evangelizátorevangelizátor EclipseEclipse ● zakladatelzakladatel EclipseEclipse UserUser GroupGroup ČRČR ● školitelškolitel Eclipse,Eclipse, Java,Java, UbuntuUbuntu ● 88 letlet Java,Java, 44 rokyroky EclipseEclipse ● EclipseEclipse RCP,RCP, OSGi,OSGi, SWT/JFaceSWT/JFace Libor Jelínek, Virtage Software Vesmír jménem Eclipse www.virtage.cz/eclipse/ OdkazyOdkazy EclipseEclipse UserUser GroupGroup http://eclipseczech.czhttp://eclipseczech.cz školeníškolení aa podporapodpora EclipseEclipse http://virtage.czhttp://virtage.cz můjmůj blogblog http://devblog.virtage.com/http://devblog.virtage.com/ Libor Jelínek, Virtage Software Vesmír jménem Eclipse www.virtage.cz/eclipse/ EclipseEclipse DemoCampDemoCamp 11.11.201311.11.2013 ● odod 17:0017:00 pondělípondělí 11.11.201311.11.2013 ● ČVUTČVUT fakultafakulta strojní,strojní, PrahaPraha DejviceDejvice Libor Jelínek, Virtage Software Vesmír jménem Eclipse www.virtage.cz/eclipse/ OsnovaOsnova aa programprogram 1)1) ÚvodÚvod 2)2) EclipseEclipse jakojako historie,historie, úvod,úvod, novinkynovinky platformaplatforma Kepler,Kepler, známéznámé aplikaceaplikace SDK,SDK, RCP,RCP, OSGi,OSGi, plug-plug- nadnad EclipseEclipse in,in, E4E4 3)3) ProjektyProjekty RAP,RAP, Scout,Scout, RT,RT, EMF,EMF, GEF,GEF, BIRT,BIRT, M2,M2, XtendXtend Libor Jelínek, Virtage Software Vesmír jménem Eclipse www.virtage.cz/eclipse/ HistorieHistorie EclipseEclipse ● 19981998 začátkyzačátky vv IBMIBM CanadaCanada ● jménojméno “Eclipse”“Eclipse” ● cílecíle – obecnáobecná platformaplatforma propro vývojvývoj richrich clientůclientů – konsolidacekonsolidace původníchpůvodních IDEIDE IBMIBM VisualAgeVisualAge ● 20012001 konsorcium,konsorcium, uvolněníuvolnění jakojako open-sourceopen-source ● 20042004 EclipseEclipse FoundationFoundation Libor Jelínek, Virtage Software Vesmír jménem Eclipse www.virtage.cz/eclipse/ EclipseEclipse FoundationFoundation ● jakojako Codehouse,Codehouse, Apache,Apache, Tigris,Tigris, FSF….FSF…. ● občasobčas jsoujsou “darovány”,“darovány”, jinéjiné zz inkubátoruinkubátoru ● membermember companiescompanies aa jejichjejich rolerole ● commercial-friendlycommercial-friendly EPLEPL licencelicence Libor Jelínek, Virtage Software Vesmír jménem Eclipse www.virtage.cz/eclipse/ VerzeVerze EclipseEclipse Rok Verze Codename 2004 3.0 2005 3.1 2006 3.2 Callisto 2007 3.3 Europa 2008 3.4 Ganymede 2009 3.5 Galileo 2010 3.6 Helios 2011 3.7 Indigo 2012 4.2/3.8 Juno 2013 4.3 Kepler 2014 4.4 Luna Libor Jelínek, Virtage Software Vesmír jménem Eclipse www.virtage.cz/eclipse/ SimultanousSimultanous releaserelease (simrel)(simrel) ● odod rokuroku 20062006 (Callisto)(Callisto) ● minulýminulý rokrok dvědvě verzeverze 3.8/4.23.8/4.2 ● Libor Jelínek, Virtage Software Vesmír jménem Eclipse www.virtage.cz/eclipse/ KeplerKepler SRSR ● 7272 projektůprojektů ● vynechánovynecháno Jetty,Jetty, Virgo,Virgo, RPP,RPP, XtendXtend ● 428428 commiterůcommiterů ● 5454 organizacíorganizací ● 48k48k commitůcommitů ● 47864786 OSGiOSGi bundlůbundlů ● 915915 featuresfeatures Libor Jelínek, Virtage Software Vesmír jménem Eclipse www.virtage.cz/eclipse/ KeplerKepler statsstats Libor Jelínek, Virtage Software Vesmír jménem Eclipse www.virtage.cz/eclipse/ EclipseEclipse IDEIDE ● IDEIDE propro všechnovšechno aa nicnic konkrétněkonkrétně ● vševše jeje plug-inplug-in kroměkromě minimálníhominimálního OSGiOSGi runtimeruntime ● základzáklad EclipseEclipse RCPRCP ● neinstalujeneinstaluje sese ● multiplaformnímultiplaformní ● packagepackage solutionssolutions Libor Jelínek, Virtage Software Vesmír jménem Eclipse www.virtage.cz/eclipse/ Libor Jelínek, Virtage Software Vesmír jménem Eclipse www.virtage.cz/eclipse/ Libor Jelínek, Virtage Software Vesmír jménem Eclipse www.virtage.cz/eclipse/ Libor Jelínek, Virtage Software Vesmír jménem Eclipse www.virtage.cz/eclipse/ Libor Jelínek, Virtage Software Vesmír jménem Eclipse www.virtage.cz/eclipse/ Libor Jelínek, Virtage Software Vesmír jménem Eclipse www.virtage.cz/eclipse/ VylepšeníVylepšení JDTJDT –– např.např. ● convertconvert toto 'if-!-return''if-!-return' ● JavadocJavadoc aa DeclaracationDeclaracation viewview outout ofof syncsync ● KlikatelnýKlikatelný balíčekbalíček vv JavadocJavadoc viewview ● VylepšeníVylepšení vyhodnocovánívyhodnocování generikgenerik připři debuggovánídebuggování Libor Jelínek, Virtage Software ● Vesmír jménem Eclipse www.virtage.cz/eclipse/HledáníHledání celéhocelého slovaslova ● PosledněPosledně použitépoužité kartykarty hledáníhledání (“remember(“remember lastlast used”)used”) ● JUnitJUnit přeskočenépřeskočené testytesty JGitJGit aa EGitEGit ● JGitJGit –– 100%100% JavaJava implementaceimplementace GituGitu ● EGitEGit –– GUIGUI klientklient ● nenínení součástísoučástí všechvšech packagepackage solutionssolutions ● JGitJGit vv NetBeans,NetBeans, CollabNetCollabNet GitEye,GitEye, GerritGerrit atd.atd. ● asiasi nejzásadnějšínejzásadnější změnazměna vv historiihistorii EclipseEclipse Libor Jelínek, Virtage Software Vesmír jménem Eclipse www.virtage.cz/eclipse/ (J/E)Git(J/E)Git 3.03.0 vv KepleruKepleru ● GitGit výrazyvýrazy (HEAD^,(HEAD^, commitcommit hashhash ap.)ap.) ResetReset dialogudialogu ● GUIGUI propro gitgit cleanclean ● RozpoznáníRozpoznání přejmenovánípřejmenování ● GUIGUI propro 3-way3-way mergemerge ● JGitJGit rychlejší,rychlejší, nežnež nativnínativní GitGit Libor Jelínek, Virtage Software Vesmír jménem Eclipse www.virtage.cz/eclipse/ MavenMaven aa EclipseEclipse ● m2em2e –– IDEIDE neturalnetural projectsprojects ● TychoTycho buildbuild místomísto zastaraléhozastaralého PDEPDE BuilduBuildu ● m2e-wtpm2e-wtp dosáhldosáhl vv KepleruKepleru dosáhldosáhl verzeverze 1.01.0 – JavaJava EEEE dodo MavenMaven funkčnífunkční – podporapodpora WTPWTP hot-deployhot-deploy – reagujereaguje nana změnyzměny pom.xmlpom.xml bezbez restarturestartu – konektorykonektory propro JAX-RS,JAX-RS, JPA,JPA, JSFJSF Libor Jelínek, Virtage Software Vesmír jménem Eclipse www.virtage.cz/eclipse/ IDEIDE založenézaložené nana EclipseEclipse ● JavaJava -- JDTJDT ● PHPPHP –– PDTPDT aa ZendZend StudioStudio ● AndroidAndroid –– ADTADT ● PythonPython –– PyDevPyDev ● HTML,HTML, CSS,CSS, JSJS –– AptanaAptana ● RubyRuby && RoRRoR -- RadRailsRadRails ● JEEJEE –– WTPWTP ● GoGo –– GoclipseGoclipse ● IBMIBM RationalRational softwaresoftware ● ScalaScala –– ScalaScala IDEIDE ● C/C++C/C++ -- CDTCDT ● PerlPerl -- EPICEPIC ● LinuxLinux toolstools Libor Jelínek, Virtage Software Vesmír jménem Eclipse www.virtage.cz/eclipse/ DalšíDalší aa dalšídalší IDEIDE aa nástroje...nástroje... ● SpringSpring STSSTS ● MyEclipseMyEclipse ● JBossJBoss StudioStudio ● NvidiaNvidia NsightNsight ● SAPSAP NetWeaverNetWeaver ● ApacheApache DirectoryDirectory StudioStudio StudioStudio ● Force.comForce.com IDEIDE ● SmartGitSmartGit ● ClickClick IDEIDE (Apache(Apache Click)Click) ● BEABEA WorkspaceWorkspace IDEIDE Libor Jelínek, Virtage Software Vesmír jménem Eclipse www.virtage.cz/eclipse/ Libor Jelínek, Virtage Software Vesmír jménem Eclipse www.virtage.cz/eclipse/ Libor Jelínek, Virtage Software Vesmír jménem Eclipse www.virtage.cz/eclipse/ Libor Jelínek, Virtage Software Vesmír jménem Eclipse www.virtage.cz/eclipse/ NeNe IDEIDE aplikaceaplikace ● poštapošta –– IBMIBM LotusLotus ● medicínamedicína –– STEMSTEM NotesNotes aa DesignerDesigner ● statistikastatistika –– PolyspacePolyspace ● CRMCRM –– CASCAS CRMCRM ● biologoiebiologoie –– BioclipseBioclipse ● mindmind mapymapy –– XMindXMind ● věd.věd. analýzaanalýza -- ● …… desítkydesítky dalšíchdalších GumTreeGumTree ● GISGIS –– uDiguDig GISGIS ● Libor Jelínek, Virtage Software Vesmír jménem Eclipse www.virtage.cz/eclipse/ Libor Jelínek, Virtage Software Vesmír jménem Eclipse www.virtage.cz/eclipse/ Libor Jelínek, Virtage Software Vesmír jménem Eclipse www.virtage.cz/eclipse/ Libor Jelínek, Virtage Software Vesmír jménem Eclipse www.virtage.cz/eclipse/ Libor Jelínek, Virtage Software Vesmír jménem Eclipse www.virtage.cz/eclipse/ Libor Jelínek, Virtage Software Vesmír jménem Eclipse www.virtage.cz/eclipse/ Libor Jelínek, Virtage Software Vesmír jménem Eclipse www.virtage.cz/eclipse/ Libor Jelínek, Virtage Software Vesmír jménem Eclipse www.virtage.cz/eclipse/ Libor Jelínek, Virtage Software Vesmír jménem Eclipse www.virtage.cz/eclipse/ Libor Jelínek, Virtage Software Vesmír jménem Eclipse www.virtage.cz/eclipse/ Libor Jelínek, Virtage Software Vesmír jménem Eclipse www.virtage.cz/eclipse/ Libor Jelínek, Virtage Software Vesmír jménem Eclipse www.virtage.cz/eclipse/ Libor Jelínek, Virtage Software Vesmír jménem Eclipse www.virtage.cz/eclipse/ Libor Jelínek, Virtage Software Vesmír jménem Eclipse www.virtage.cz/eclipse/ Libor Jelínek, Virtage Software Vesmír jménem Eclipse www.virtage.cz/eclipse/ Libor Jelínek, Virtage Software Vesmír jménem Eclipse www.virtage.cz/eclipse/ OrionOrion ● webovéwebové IDEIDE propro webweb vývojvývoj ● výhodyvýhody xx nevýhodynevýhody ● built-inbuilt-in podporapodpora GituGitu ● embedembed dodo dalšídalší aplikaceaplikace ● orionhub.orgorionhub.org nebonebo spusťtespusťte nana localhostulocalhostu Libor Jelínek, Virtage Software Vesmír jménem Eclipse www.virtage.cz/eclipse/ Libor Jelínek, Virtage Software Vesmír jménem Eclipse www.virtage.cz/eclipse/ Libor Jelínek, Virtage Software Vesmír jménem Eclipse www.virtage.cz/eclipse/ SWT/JFaceSWT/JFace ● grafickágrafická knižniceknižnice SWT/JFaceSWT/JFace ● vznik,vznik, důvoddůvod ● rozdílrozdíl SWTSWT aa JFaceJFace ● rozdílrozdíl
Recommended publications
  • Architecture Committee Handbook
    Architecture Committee Handbook openKONSEQUENZ created by Architecture Committee We acknowledge that this document uses material from the arc 42 architecture template, http://www.arc42.de. Created by Dr. Peter Hruschka & Dr. Gernot Starke. ​ Template Revision: 6.1 EN June 2012 1 Revision History Version Date Reviser Description Status 1.0 2016-07-04 A. Göring Alignment in AC/QC conference call Released 1.0.1 2016-07-19 A. Göring Added UML-Tool decision in chapter 2. Draft for Constraints, Added software-tiers v1.1 image in chapter 8. 1.1 2016-08-18 A.Göring Alignment in AC/QC conference call Released 1.1.1 2016-08-26 F. Korb, M. Description of architecture layer model Draft for Rohr and its APIs. Example internal module v1.2 architecture (Presented in ACQC-Meeting 15.& 29.08.2016) 1.2 2016-09-14 A. Göring Integration of Concept for Plattform Released Module Developmennt, Consolidation v1.1.1 1.2.1 2016-09-16 S.Grüttner Reorganization of Chapter7 Draft for Deployment Environment, clearifying v1.3 the reference environment as “image”. Adding cutting of CIM Cache. Modified Logging (8.17) for use of SLF4J. Added potential non-functional requirement for Offline-Mode. 1.2.2 2017-01-30 A. Göring Adding Link to oK-API Swagger Draft for Definition, deleting old Interfaces v1.3 Annex. Adding CIM Cache Module dependencies image and text (from Felix Korb) 1.3 2017-02-14 A. Göring Alignment in/after AC/QC conference Released call 1.3.1 2017-09-05 A. Göring Minimum requirement change from Released Java EE 7 to Oracle Java SE 8.
    [Show full text]
  • JPA Persistence Guide (V6.0) Table of Contents
    JPA Persistence Guide (v6.0) Table of Contents EntityManagerFactory. 2 Create an EMF in JavaSE . 2 Create an EMF in JavaEE . 2 Persistence Unit . 3 EntityManagerFactory Properties . 6 Closing EntityManagerFactory . 27 Level 2 Cache. 27 Datastore Schema. 34 Schema Generation for persistence-unit . 34 Schema Auto-Generation at runtime . 35 Schema Generation : Validation . 36 Schema Generation : Naming Issues . 36 Schema Generation : Column Ordering . 37 Schema : Read-Only. 37 SchemaTool . 38 Schema Adaption . 44 RDBMS : Datastore Schema SPI . 44 EntityManager. 48 Opening/Closing an EntityManager. 48 Persisting an Object. 49 Persisting multiple Objects in one call . 49 Finding an object by its identity . 50 Finding an object by its class and unique key field value(s) . 50 Deleting an Object . 51 Deleting multiple Objects. 51 Modifying a persisted Object. 52 Modifying multiple persisted Objects . 52 Refreshing a persisted Object . 52 Getting EntityManager for an object. 53 Cascading Operations . 53 Orphans . 54 Managing Relationships . 54 Level 1 Cache. 56 Object Lifecycle. 58 Transaction PersistenceContext . 58 Extended PersistenceContext . 58 Detachment . 58 Helper Methods . 59 Transactions . 60 Locally-Managed Transactions. 60 JTA Transactions. 61 Container-Managed Transactions . 63 Spring-Managed Transactions . 63 No Transactions . 63 Transaction Isolation . 64 Read-Only Transactions . 64 Flushing . 65 Transactions with lots of data. 66 Transaction Savepoints . 67 Locking . 68 Optimistic Locking. 68 Pessimistic (Datastore) Locking . 69 Datastore.
    [Show full text]
  • Smart Execution of Distributed Application by Balancing Resources in Mobile Devices
    ALMA MATER STUDIORUM - UNIVERSITÀ DI BOLOGNA SCUOLA DI INGEGNERIA E ARCHITETTURA DISI INGEGNERIA INFORMATICA TESI DI LAUREA in Reti di Calcolatori M Smart execution of distributed application by balancing resources in mobile devices and cloud-based avatars CANDIDATO: RELATORE: Giacomo Gezzi Chiar.mo Prof. Ing. Antonio Corradi CORRELATORE: Chiar.mo Prof. Cristian Borcea Anno Accademico 2014/2015 Sessione III 2 Abstract L’obiettivo del progetto di tesi svolto e` quello di realizzare un servizio di livello middleware dedicato ai dispositivi mobili che sia in grado di fornire il supporto per l’offloading di codice verso una infrastruttura cloud. In particolare il progetto si concentra sulla migrazione di codice verso macchine virtuali dedicate al singolo utente. Il sistema operativo delle VMs e` lo stesso utilizzato dal device mobile. Come i precedenti lavori sul computation offloading, il progetto di tesi deve garantire migliori per- formance in termini di tempo di esecuzione e utilizzo della batteria del dispositivo. In particolare l’obiettivo piu` ampio e` quello di adattare il principio di computation offloading a un contesto di sistemi distribuiti mobili, miglio- rando non solo le performance del singolo device, ma l’esecuzione stessa dell’applicazione distribuita. Questo viene fatto tramite una gestione di- namica delle decisioni di offloading basata, non solo, sullo stato del de- vice, ma anche sulla volonta` e/o sullo stato degli altri utenti appartenenti allo stesso gruppo. Per esempio, un primo utente potrebbe influenzare le decisioni degli altri membri del gruppo specificando una determinata richiesta, come alta qualita` delle informazioni, risposta rapida o basata su altre informazioni di alto livello.
    [Show full text]
  • 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]
  • On-Process Verification and Report
    CORE Metadata, citation and similar papers at core.ac.uk Provided by Open Repository of the University of Porto FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO On-Process Verification and Report Tiago Nunes Project Report Master in Informatics and Computing Engineering Supervisor: João Pascoal Faria (PhD) 3rd March, 2009 On-Process Verification and Report Tiago Nunes Project Report Master in Informatics and Computing Engineering Approved in oral examination by the committee: Chair: Ana Cristina Ramada Paiva Pimenta (PhD) External Examiner: Fernando Brito e Abreu (PhD) Internal Examiner: João Carlos Pascoal de Faria (PhD) 19th March, 2009 Abstract This report describes the motivation, architecture and post-implementation return on in- vestment of an On-Process Validation and Report solution. Its objective was to create an automation tool that would free the Product Assurance team at Critical Software, S.A. from repetitive and time-consuming tasks, while at the same time providing a platform upon which further systems could be implemented, augmenting the tool kit of the Product Assurance Engineers. This was achieved by designing a modular and extensible platform using cutting-edge Java technologies, and following a goal-oriented development process that focused on iteratively providing as many domain-specific features as possible. It is shown that the resulting system has the potential for considerably reducing costs in the validation of projects throughout their entire life cycle. i ii Resumo Este relatório descreve a motivação, arquitectura e o retorno sobre o investimento após a implementação de uma solução para a Validação e Reporting On-Process. O seu objec- tivo era a criação de uma ferramenta de automação que libertaria a equipa de Controlo de Produto da Critical Software, S.A.
    [Show full text]
  • Eclipselink Understanding Eclipselink 2.4
    EclipseLink Understanding EclipseLink 2.4 June 2013 EclipseLink Concepts Guide Copyright © 2012, 2013, by The Eclipse Foundation under the Eclipse Public License (EPL) http://www.eclipse.org/org/documents/epl-v10.php The initial contribution of this content was based on work copyrighted by Oracle and was submitted with permission. Print date: July 9, 2013 Contents Preface ............................................................................................................................................................... xiii Audience..................................................................................................................................................... xiii Related Documents ................................................................................................................................... xiii Conventions ............................................................................................................................................... xiii 1 Overview of EclipseLink 1.1 Understanding EclipseLink....................................................................................................... 1-1 1.1.1 What Is the Object-Persistence Impedance Mismatch?.................................................. 1-3 1.1.2 The EclipseLink Solution.................................................................................................... 1-3 1.2 Key Features ...............................................................................................................................
    [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]
  • Xtext / Sirius - Integration the Main Use-Cases
    Xtext / Sirius - Integration The Main Use-Cases White Paper December 2017 SUMMARY Chapter 1 Introduction 1 Chapter 2 Let’s start 2 Chapter 2.1 What modeling is about? 2 Chapter 2.2 Benefits of graphical modeling 3 Chapter 2.3 Benefits of textual modeling 5 Chapter 3 What is Xtext? 6 Chapter 4 What is Sirius? 8 Chapter 5 Xtext & Sirius in action 10 Chapter 5.1 Case 1: Editing the same models both graphically and textually 10 Chapter 5.2 Case 2: Embedding an Xtext Editor into Sirius 15 Chapter 6 How may we help you? 18 Introduction Introduction You are going to create a domain-specific modeling tool and you wonder how users will edit and visualize the models: textually with a dedicated syntax and a rich textual editor ? or graphically with diagrams drawn with a palette and smart tools? Both approaches are interesting and can be used complementary: While text is able to carry more detailed information, a diagram highlights the relationship between elements much better. In the end, a good tool should combine both, and use each notation where it suits best. In this white paper, we will explain the benefits of each approach. Then we will present Eclipse Xtext and Eclipse Sirius, two open-source frameworks for the development of textual and graphical model editors. And finally, we will detailed two use-cases where these two technologies can be integrated in the same modeling workbench. 1 Let’s start Let’s start What modeling is about? Before presenting the graphical and textual modeling approaches, it is important to briefly clarify what we mean by modeling.
    [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]
  • Virgo White Paper Introduction the Eclipse Virgo Project Provides a Modular Java Server Runtime and Is Part of the Eclipse Runtime (Eclipsert) Umbrella Project
    Eclipse Virgo A Technical Overview White Paper Version 1.2 June 2012 Table of Contents Introduction.......................................................................................................................................... 3 OSGi Introduction................................................................................................................................ 3 History.................................................................................................................................................. 4 Virgo Feature Summary........................................................................................................................4 Benefits.................................................................................................................................................5 Why Choose Virgo?..............................................................................................................................9 Success Stories................................................................................................................................... 10 A Warning........................................................................................................................................... 11 Technology......................................................................................................................................... 11 Virgo Runtime Deliverables..............................................................................................................
    [Show full text]
  • E(Fx)Clipse - Javafx Runtime Tom Schindl - Bestsolution Systemhaus Gmbh
    e(fx)clipse - JavaFX Runtime Tom Schindl - BestSolution Systemhaus GmbH EclipseCon October 2012 (c) Tom Schindl - BestSolution Systemhaus GmbH Freitag, 26. Oktober 12 About Tom ✤ CTO BestSolution Systemhaus GmbH ✤ Eclipse Committer ✤ e4 ✤ Platform UI ✤ EMF ✤ Main developer of e(fx)clipse ✤ Twitter: @tomsontom (c) Tom Schindl - BestSolution Systemhaus GmbH Freitag, 26. Oktober 12 About e(fx)clipse (c) Tom Schindl - BestSolution Systemhaus GmbH Freitag, 26. Oktober 12 About e(fx)clipse ✤ Opensource project lead by BestSolution.at (c) Tom Schindl - BestSolution Systemhaus GmbH Freitag, 26. Oktober 12 About e(fx)clipse ✤ Opensource project lead by BestSolution.at ✤ All sources provided under EPL (c) Tom Schindl - BestSolution Systemhaus GmbH Freitag, 26. Oktober 12 About e(fx)clipse ✤ Opensource project lead by BestSolution.at ✤ All sources provided under EPL ✤ Started in Summer 2011 (c) Tom Schindl - BestSolution Systemhaus GmbH Freitag, 26. Oktober 12 About e(fx)clipse ✤ Opensource project lead by BestSolution.at ✤ All sources provided under EPL ✤ Started in Summer 2011 ✤ Releases every 6-8 weeks (~2500 Downloads/ release) (c) Tom Schindl - BestSolution Systemhaus GmbH Freitag, 26. Oktober 12 About e(fx)clipse ✤ Opensource project lead by BestSolution.at ✤ All sources provided under EPL ✤ Started in Summer 2011 ✤ Releases every 6-8 weeks (~2500 Downloads/ release) ✤ Community Support: www.efxclipse.org (c) Tom Schindl - BestSolution Systemhaus GmbH Freitag, 26. Oktober 12 About e(fx)clipse ✤ Opensource project lead by BestSolution.at ✤ All sources provided under EPL ✤ Started in Summer 2011 ✤ Releases every 6-8 weeks (~2500 Downloads/ release) ✤ Community Support: www.efxclipse.org ✤ Commercial Support: www.bestsolution.at (c) Tom Schindl - BestSolution Systemhaus GmbH Freitag, 26.
    [Show full text]