SlideShare a Scribd company logo
EGL Open: Extensible Model Compilers Tim W Wilson – EGL Chief Architect
Evolution of Language Abstraction Hardware OS Runtime Platform Assembler C, COBOL Java EGL One One One One One One One Many Many Many One Single Machine Multiple Machine Future One Many Evolution of Execution Environment Evolution of Programming Languages Range of Deployment Options
EGL Basic Concepts ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Extensible Abstractions - Metadata ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Extensible Metadata – SQLRecord Example ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Have you ever wondered what these actually are and where they come from?
Extensible Metadata - Annotation Types ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Extensible Metadata - Stereotypes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
EGL Compiler as Model Compiler ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
EDT – Code generation process Java EGL Source Code EGL Compiler Model  Extensible Code Generation Framework Java JavaScript  C/C++ .Net … Pluggable Generators Eclipse JEE Dojo Pluggable Extension Examples Possible Android COBOL CICS/IMS
Module Structure of EDT: org.eclipse.edt org.eclipse.edt.ide org.eclipse.edt.core org.eclipse.edt.gen
The EDT Modeling Framework: org.eclipse.edt.mof ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],MOF Model EGL Model
The MOF (Meta Object Framework) Model
EDT MOF Framework ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
EGL Meta Model
Using EGL to define a Model ,[object Object],[object Object],Compiler creates  EClass  instance because of  MofClass  Stereotype Compiler creates normal  Externaltype  instance
XML Serialization of EClass - StructPart This object is an instance of EClass Instances of org.eclipse.edt.mof.egl.Field
XML Serialization of ExternalType - Customer This object is an instance of  org.eclipse.edt.mof.egl.ExternalType Instances of org.eclipse.edt.mof.egl.Field
Extensible Model Compilers: org.eclipse.edt.gen ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
EDT Core Generators ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Core generators
EDT Extended Generators ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Extended generators
EGL Compilers and the IDE ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Configured Compilers: EDT, RBD, Android
RBD / EDT Integration Direction RBD 8.0.1 Eclipse EGL Tools COBOL Generator Open source IBM EGL Parser and Compiler Java Generator JavaScript Generator EDT EGL Tools EDT Java Generator EDT JavaScript Generator EGL Parser and Compiler Generation Framework RBD Future Eclipse Extended EGL Tools RBD COBOL Generator RBD Java Generator RBD JavaScript Generator EGL Tools EDT Java Generator EDT JavaScript Generator EGL Parser and Compiler Generation Framework
Android Generator: an example
UI Programming Model Example: Define Abstract Concepts ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Window View ViewGroup TableLayout 1 contentView * children
UI Programming Model Example: Define Concepts in EGL Abstract concepts defined using  Externaltype with  AbstractType  stereotype Event handlers modeled as Delegates Inheritance modeled directly Externaltype  declarations allow for full Class modeling
UI Programming Model Example: Define Concepts in EGL Core UI Concepts Stereotypes for implementation Concrete Widgets
Example Usage: Mortgage Calculator Event handler declaration Stereotype used to implement a Window Similar conceptually to RUIHandler Invocation of the Amortize Service Declaration of Widgets and properties
Mapping to Target Platform: Android and Dojo ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Create the AndroidGenerator class Android generator extends core Java generator Adds command line parameters as necessary Define where the configuration is for adding and overriding code generation templates Define where the configuration is for mapping abstract types to concrete classes in the runtime
Create Necessary Templates Override existing method from Template from Core Template method invocation
Map Model to Android Templates Mapping of model classes to their templates
Running Mortgage Calculator on Android Emulator
Demo
EGL open Tools – Xtool and Xref Lars Kaare Andersen Xact Consulting A/S CTO and Partner
Agenda for this presentation ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Background for the tools and support to the EGL open ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Background for the tools ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
EGL code relations – direct and indirect use of parts Program2 Program1 Record2 Program3 Program4 Function1 Function2 Function3 Function4 Record4 Record3 Record1
EGL program relations and usages Test case 1 Test case 2 Test case 3 Sub System xx Program1 Program4 Program2 Program3 Program5 Program6 Program7 Program10 Program8 Program9 Program11 Program12 Program13 Program16 Program14 Program15 Program17 Program18
Xtool and Xref ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],RBD + Xtool and Xref plugins Xtool Build server Xtool Database server
Version Control related to States (Test, Systemtest, Production) Limited to:  Latest or State Version in State
Xtool Build Server Xtool Build server ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Xref – Search for parts
Xref Information - Call Stack
Xref – Search for References
Xtool - Synchronize
Xtool – Main package View
Thank You

More Related Content

What's hot

Operating systems basics (Graphical User Interfaces (GUIs) GUI Tools Applic...
Operating systems basics (Graphical User Interfaces (GUIs)  GUI Tools  Applic...Operating systems basics (Graphical User Interfaces (GUIs)  GUI Tools  Applic...
Operating systems basics (Graphical User Interfaces (GUIs) GUI Tools Applic...
Maryam Fida
 
Introduction to ,NET Framework
Introduction to ,NET FrameworkIntroduction to ,NET Framework
Introduction to ,NET Framework
ANURAG SINGH
 
Web server
Web serverWeb server
Web server
Nirav Daraniya
 
R12 payables leverage desktop integrator
R12 payables   leverage desktop integratorR12 payables   leverage desktop integrator
R12 payables leverage desktop integrator
Sajid Rahim, MSc,PMP
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation Testing
Archana Krushnan
 
Testing with test_complete
Testing with test_completeTesting with test_complete
Testing with test_completebinuiweb
 
TestComplete – A Sophisticated Automated Testing Tool by SmartBear
TestComplete – A Sophisticated Automated Testing Tool by SmartBearTestComplete – A Sophisticated Automated Testing Tool by SmartBear
TestComplete – A Sophisticated Automated Testing Tool by SmartBear
Software Testing Solution
 
Web design for business.ppt
Web design for business.pptWeb design for business.ppt
Web design for business.pptwebhostingguy
 
Web Page Authoring 1
Web Page Authoring 1Web Page Authoring 1
Web Page Authoring 1yht4ever
 
Webcast: BUDGETING - R12.1.3 ORACLE GENERAL LEDGER
Webcast: BUDGETING - R12.1.3 ORACLE GENERAL LEDGERWebcast: BUDGETING - R12.1.3 ORACLE GENERAL LEDGER
Webcast: BUDGETING - R12.1.3 ORACLE GENERAL LEDGER
iWare Logic Technologies Pvt. Ltd.
 
Jmeter vs loadrunner vs neoload
Jmeter vs loadrunner vs neoloadJmeter vs loadrunner vs neoload
Jmeter vs loadrunner vs neoload
pratik mohite
 
Implement text editor
Implement text editorImplement text editor
Implement text editorAmaan Shaikh
 
Why to Use an Oracle Database?
Why to Use an Oracle Database? Why to Use an Oracle Database?
Why to Use an Oracle Database?
Markus Michalewicz
 
Selenium Automation Framework
Selenium Automation  FrameworkSelenium Automation  Framework
Selenium Automation Framework
Mindfire Solutions
 
6 Traits of a Successful Test Automation Architecture
6 Traits of a Successful Test Automation Architecture6 Traits of a Successful Test Automation Architecture
6 Traits of a Successful Test Automation Architecture
Erdem YILDIRIM
 
Selenium web driver
Selenium web driverSelenium web driver
Selenium web driver
Sun Technlogies
 
TestCraft
TestCraftTestCraft
TestCraft
RachitaNayak1
 
R12 Shipping Execution User guide
R12 Shipping Execution User guideR12 Shipping Execution User guide
R12 Shipping Execution User guide
Nawaz Sk
 
Selenium IDE Tutorial For Beginners | Selenium IDE Tutorial | What Is Seleniu...
Selenium IDE Tutorial For Beginners | Selenium IDE Tutorial | What Is Seleniu...Selenium IDE Tutorial For Beginners | Selenium IDE Tutorial | What Is Seleniu...
Selenium IDE Tutorial For Beginners | Selenium IDE Tutorial | What Is Seleniu...
Simplilearn
 
Website design with Wordpress ppt
Website design with Wordpress pptWebsite design with Wordpress ppt
Website design with Wordpress ppt
WTACADEMY5
 

What's hot (20)

Operating systems basics (Graphical User Interfaces (GUIs) GUI Tools Applic...
Operating systems basics (Graphical User Interfaces (GUIs)  GUI Tools  Applic...Operating systems basics (Graphical User Interfaces (GUIs)  GUI Tools  Applic...
Operating systems basics (Graphical User Interfaces (GUIs) GUI Tools Applic...
 
Introduction to ,NET Framework
Introduction to ,NET FrameworkIntroduction to ,NET Framework
Introduction to ,NET Framework
 
Web server
Web serverWeb server
Web server
 
R12 payables leverage desktop integrator
R12 payables   leverage desktop integratorR12 payables   leverage desktop integrator
R12 payables leverage desktop integrator
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation Testing
 
Testing with test_complete
Testing with test_completeTesting with test_complete
Testing with test_complete
 
TestComplete – A Sophisticated Automated Testing Tool by SmartBear
TestComplete – A Sophisticated Automated Testing Tool by SmartBearTestComplete – A Sophisticated Automated Testing Tool by SmartBear
TestComplete – A Sophisticated Automated Testing Tool by SmartBear
 
Web design for business.ppt
Web design for business.pptWeb design for business.ppt
Web design for business.ppt
 
Web Page Authoring 1
Web Page Authoring 1Web Page Authoring 1
Web Page Authoring 1
 
Webcast: BUDGETING - R12.1.3 ORACLE GENERAL LEDGER
Webcast: BUDGETING - R12.1.3 ORACLE GENERAL LEDGERWebcast: BUDGETING - R12.1.3 ORACLE GENERAL LEDGER
Webcast: BUDGETING - R12.1.3 ORACLE GENERAL LEDGER
 
Jmeter vs loadrunner vs neoload
Jmeter vs loadrunner vs neoloadJmeter vs loadrunner vs neoload
Jmeter vs loadrunner vs neoload
 
Implement text editor
Implement text editorImplement text editor
Implement text editor
 
Why to Use an Oracle Database?
Why to Use an Oracle Database? Why to Use an Oracle Database?
Why to Use an Oracle Database?
 
Selenium Automation Framework
Selenium Automation  FrameworkSelenium Automation  Framework
Selenium Automation Framework
 
6 Traits of a Successful Test Automation Architecture
6 Traits of a Successful Test Automation Architecture6 Traits of a Successful Test Automation Architecture
6 Traits of a Successful Test Automation Architecture
 
Selenium web driver
Selenium web driverSelenium web driver
Selenium web driver
 
TestCraft
TestCraftTestCraft
TestCraft
 
R12 Shipping Execution User guide
R12 Shipping Execution User guideR12 Shipping Execution User guide
R12 Shipping Execution User guide
 
Selenium IDE Tutorial For Beginners | Selenium IDE Tutorial | What Is Seleniu...
Selenium IDE Tutorial For Beginners | Selenium IDE Tutorial | What Is Seleniu...Selenium IDE Tutorial For Beginners | Selenium IDE Tutorial | What Is Seleniu...
Selenium IDE Tutorial For Beginners | Selenium IDE Tutorial | What Is Seleniu...
 
Website design with Wordpress ppt
Website design with Wordpress pptWebsite design with Wordpress ppt
Website design with Wordpress ppt
 

Similar to EGL Conference 2011 - EGL Open

Eclipse EDT - EGL Inner Workings - June 2011
Eclipse EDT - EGL Inner Workings - June 2011Eclipse EDT - EGL Inner Workings - June 2011
Eclipse EDT - EGL Inner Workings - June 2011
Will Smythe
 
Eclipse World 2007: Fundamentals of the Eclipse Modeling Framework
Eclipse World 2007: Fundamentals of the Eclipse Modeling FrameworkEclipse World 2007: Fundamentals of the Eclipse Modeling Framework
Eclipse World 2007: Fundamentals of the Eclipse Modeling Framework
Dave Steinberg
 
6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformationMajong DevJfu
 
.NET,ASP .NET, Angular Js,LinQ
.NET,ASP .NET, Angular Js,LinQ.NET,ASP .NET, Angular Js,LinQ
.NET,ASP .NET, Angular Js,LinQ
Avijit Shaw
 
MDE=Model Driven Everything (Spanish Eclipse Day 2009)
MDE=Model Driven Everything (Spanish Eclipse Day 2009)MDE=Model Driven Everything (Spanish Eclipse Day 2009)
MDE=Model Driven Everything (Spanish Eclipse Day 2009)
Jordi Cabot
 
Eclipse Modeling Framework
Eclipse Modeling FrameworkEclipse Modeling Framework
Eclipse Modeling FrameworkAjay K
 
EclipseCon 2006: Introduction to the Eclipse Modeling Framework
EclipseCon 2006: Introduction to the Eclipse Modeling FrameworkEclipseCon 2006: Introduction to the Eclipse Modeling Framework
EclipseCon 2006: Introduction to the Eclipse Modeling Framework
Dave Steinberg
 
Concepts of Asp.Net
Concepts of Asp.NetConcepts of Asp.Net
Concepts of Asp.Netvidyamittal
 
Building nTier Applications with Entity Framework Services (Part 1)
Building nTier Applications with Entity Framework Services (Part 1)Building nTier Applications with Entity Framework Services (Part 1)
Building nTier Applications with Entity Framework Services (Part 1)
David McCarter
 
Session2 (3)
Session2 (3)Session2 (3)
Session2 (3)
DrUjwala1
 
EclipseCon 2007: Effective Use of the Eclipse Modeling Framework
EclipseCon 2007: Effective Use of the Eclipse Modeling FrameworkEclipseCon 2007: Effective Use of the Eclipse Modeling Framework
EclipseCon 2007: Effective Use of the Eclipse Modeling Framework
Dave Steinberg
 
Building nTier Applications with Entity Framework Services (Part 1)
Building nTier Applications with Entity Framework Services (Part 1)Building nTier Applications with Entity Framework Services (Part 1)
Building nTier Applications with Entity Framework Services (Part 1)
David McCarter
 
EclipseCon 2008: Fundamentals of the Eclipse Modeling Framework
EclipseCon 2008: Fundamentals of the Eclipse Modeling FrameworkEclipseCon 2008: Fundamentals of the Eclipse Modeling Framework
EclipseCon 2008: Fundamentals of the Eclipse Modeling Framework
Dave Steinberg
 
EclipseCon 2005: Everything You Always Wanted to do with EMF (But were Afraid...
EclipseCon 2005: Everything You Always Wanted to do with EMF (But were Afraid...EclipseCon 2005: Everything You Always Wanted to do with EMF (But were Afraid...
EclipseCon 2005: Everything You Always Wanted to do with EMF (But were Afraid...
Dave Steinberg
 
.Net Session Overview
.Net Session Overview.Net Session Overview
.Net Session Overview
Logu Thanigachalam
 
Eclipse Overview
Eclipse Overview Eclipse Overview
Eclipse Overview
Lars Vogel
 

Similar to EGL Conference 2011 - EGL Open (20)

Eclipse EDT - EGL Inner Workings - June 2011
Eclipse EDT - EGL Inner Workings - June 2011Eclipse EDT - EGL Inner Workings - June 2011
Eclipse EDT - EGL Inner Workings - June 2011
 
Eclipse World 2007: Fundamentals of the Eclipse Modeling Framework
Eclipse World 2007: Fundamentals of the Eclipse Modeling FrameworkEclipse World 2007: Fundamentals of the Eclipse Modeling Framework
Eclipse World 2007: Fundamentals of the Eclipse Modeling Framework
 
6
66
6
 
6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation
 
.NET,ASP .NET, Angular Js,LinQ
.NET,ASP .NET, Angular Js,LinQ.NET,ASP .NET, Angular Js,LinQ
.NET,ASP .NET, Angular Js,LinQ
 
MDE=Model Driven Everything (Spanish Eclipse Day 2009)
MDE=Model Driven Everything (Spanish Eclipse Day 2009)MDE=Model Driven Everything (Spanish Eclipse Day 2009)
MDE=Model Driven Everything (Spanish Eclipse Day 2009)
 
Eclipse Modeling Framework
Eclipse Modeling FrameworkEclipse Modeling Framework
Eclipse Modeling Framework
 
EclipseCon 2006: Introduction to the Eclipse Modeling Framework
EclipseCon 2006: Introduction to the Eclipse Modeling FrameworkEclipseCon 2006: Introduction to the Eclipse Modeling Framework
EclipseCon 2006: Introduction to the Eclipse Modeling Framework
 
Concepts of Asp.Net
Concepts of Asp.NetConcepts of Asp.Net
Concepts of Asp.Net
 
Building nTier Applications with Entity Framework Services (Part 1)
Building nTier Applications with Entity Framework Services (Part 1)Building nTier Applications with Entity Framework Services (Part 1)
Building nTier Applications with Entity Framework Services (Part 1)
 
ALT
ALTALT
ALT
 
Session2 (3)
Session2 (3)Session2 (3)
Session2 (3)
 
EclipseCon 2007: Effective Use of the Eclipse Modeling Framework
EclipseCon 2007: Effective Use of the Eclipse Modeling FrameworkEclipseCon 2007: Effective Use of the Eclipse Modeling Framework
EclipseCon 2007: Effective Use of the Eclipse Modeling Framework
 
Building nTier Applications with Entity Framework Services (Part 1)
Building nTier Applications with Entity Framework Services (Part 1)Building nTier Applications with Entity Framework Services (Part 1)
Building nTier Applications with Entity Framework Services (Part 1)
 
EclipseCon 2008: Fundamentals of the Eclipse Modeling Framework
EclipseCon 2008: Fundamentals of the Eclipse Modeling FrameworkEclipseCon 2008: Fundamentals of the Eclipse Modeling Framework
EclipseCon 2008: Fundamentals of the Eclipse Modeling Framework
 
C sharp
C sharpC sharp
C sharp
 
EclipseCon 2005: Everything You Always Wanted to do with EMF (But were Afraid...
EclipseCon 2005: Everything You Always Wanted to do with EMF (But were Afraid...EclipseCon 2005: Everything You Always Wanted to do with EMF (But were Afraid...
EclipseCon 2005: Everything You Always Wanted to do with EMF (But were Afraid...
 
.Net Session Overview
.Net Session Overview.Net Session Overview
.Net Session Overview
 
Eclipse Overview
Eclipse Overview Eclipse Overview
Eclipse Overview
 
C Sharp Jn
C Sharp JnC Sharp Jn
C Sharp Jn
 

More from Will Smythe

EGL Conference 2011 - Application Migration
EGL Conference 2011 - Application MigrationEGL Conference 2011 - Application Migration
EGL Conference 2011 - Application Migration
Will Smythe
 
EGL Conference 2011 - EGL Rich UI
EGL Conference 2011 - EGL Rich UIEGL Conference 2011 - EGL Rich UI
EGL Conference 2011 - EGL Rich UI
Will Smythe
 
EGL Conference 2011 - Technical Workshop
EGL Conference 2011 - Technical WorkshopEGL Conference 2011 - Technical Workshop
EGL Conference 2011 - Technical Workshop
Will Smythe
 
EGL Conference 2011 - Keynote
EGL Conference 2011 - KeynoteEGL Conference 2011 - Keynote
EGL Conference 2011 - Keynote
Will Smythe
 
EGL Conference 2011 - EGL Overview
EGL Conference 2011 - EGL OverviewEGL Conference 2011 - EGL Overview
EGL Conference 2011 - EGL Overview
Will Smythe
 
EGL Conference 2011 - Futures
EGL Conference 2011 - FuturesEGL Conference 2011 - Futures
EGL Conference 2011 - Futures
Will Smythe
 

More from Will Smythe (6)

EGL Conference 2011 - Application Migration
EGL Conference 2011 - Application MigrationEGL Conference 2011 - Application Migration
EGL Conference 2011 - Application Migration
 
EGL Conference 2011 - EGL Rich UI
EGL Conference 2011 - EGL Rich UIEGL Conference 2011 - EGL Rich UI
EGL Conference 2011 - EGL Rich UI
 
EGL Conference 2011 - Technical Workshop
EGL Conference 2011 - Technical WorkshopEGL Conference 2011 - Technical Workshop
EGL Conference 2011 - Technical Workshop
 
EGL Conference 2011 - Keynote
EGL Conference 2011 - KeynoteEGL Conference 2011 - Keynote
EGL Conference 2011 - Keynote
 
EGL Conference 2011 - EGL Overview
EGL Conference 2011 - EGL OverviewEGL Conference 2011 - EGL Overview
EGL Conference 2011 - EGL Overview
 
EGL Conference 2011 - Futures
EGL Conference 2011 - FuturesEGL Conference 2011 - Futures
EGL Conference 2011 - Futures
 

EGL Conference 2011 - EGL Open

  • 1. EGL Open: Extensible Model Compilers Tim W Wilson – EGL Chief Architect
  • 2. Evolution of Language Abstraction Hardware OS Runtime Platform Assembler C, COBOL Java EGL One One One One One One One Many Many Many One Single Machine Multiple Machine Future One Many Evolution of Execution Environment Evolution of Programming Languages Range of Deployment Options
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9. EDT – Code generation process Java EGL Source Code EGL Compiler Model Extensible Code Generation Framework Java JavaScript C/C++ .Net … Pluggable Generators Eclipse JEE Dojo Pluggable Extension Examples Possible Android COBOL CICS/IMS
  • 10. Module Structure of EDT: org.eclipse.edt org.eclipse.edt.ide org.eclipse.edt.core org.eclipse.edt.gen
  • 11.
  • 12. The MOF (Meta Object Framework) Model
  • 13.
  • 15.
  • 16. XML Serialization of EClass - StructPart This object is an instance of EClass Instances of org.eclipse.edt.mof.egl.Field
  • 17. XML Serialization of ExternalType - Customer This object is an instance of org.eclipse.edt.mof.egl.ExternalType Instances of org.eclipse.edt.mof.egl.Field
  • 18.
  • 19.
  • 20.
  • 21.
  • 22. RBD / EDT Integration Direction RBD 8.0.1 Eclipse EGL Tools COBOL Generator Open source IBM EGL Parser and Compiler Java Generator JavaScript Generator EDT EGL Tools EDT Java Generator EDT JavaScript Generator EGL Parser and Compiler Generation Framework RBD Future Eclipse Extended EGL Tools RBD COBOL Generator RBD Java Generator RBD JavaScript Generator EGL Tools EDT Java Generator EDT JavaScript Generator EGL Parser and Compiler Generation Framework
  • 24.
  • 25. UI Programming Model Example: Define Concepts in EGL Abstract concepts defined using Externaltype with AbstractType stereotype Event handlers modeled as Delegates Inheritance modeled directly Externaltype declarations allow for full Class modeling
  • 26. UI Programming Model Example: Define Concepts in EGL Core UI Concepts Stereotypes for implementation Concrete Widgets
  • 27. Example Usage: Mortgage Calculator Event handler declaration Stereotype used to implement a Window Similar conceptually to RUIHandler Invocation of the Amortize Service Declaration of Widgets and properties
  • 28.
  • 29. Create the AndroidGenerator class Android generator extends core Java generator Adds command line parameters as necessary Define where the configuration is for adding and overriding code generation templates Define where the configuration is for mapping abstract types to concrete classes in the runtime
  • 30. Create Necessary Templates Override existing method from Template from Core Template method invocation
  • 31. Map Model to Android Templates Mapping of model classes to their templates
  • 32. Running Mortgage Calculator on Android Emulator
  • 33. Demo
  • 34. EGL open Tools – Xtool and Xref Lars Kaare Andersen Xact Consulting A/S CTO and Partner
  • 35.
  • 36.
  • 37.
  • 38. EGL code relations – direct and indirect use of parts Program2 Program1 Record2 Program3 Program4 Function1 Function2 Function3 Function4 Record4 Record3 Record1
  • 39. EGL program relations and usages Test case 1 Test case 2 Test case 3 Sub System xx Program1 Program4 Program2 Program3 Program5 Program6 Program7 Program10 Program8 Program9 Program11 Program12 Program13 Program16 Program14 Program15 Program17 Program18
  • 40.
  • 41. Version Control related to States (Test, Systemtest, Production) Limited to: Latest or State Version in State
  • 42.
  • 43. Xref – Search for parts
  • 44. Xref Information - Call Stack
  • 45. Xref – Search for References
  • 47. Xtool – Main package View