SlideShare une entreprise Scribd logo
1  sur  27
Dave Steinberg and Ed Merks IBM Rational Software Toronto, Canada EMF and XSD Projects Everything you always wanted to do with EMF* *But were afraid to ask
Topics ,[object Object],[object Object],[object Object],[object Object],[object Object]
Introduction to the Eclipse Modeling Framework ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Model Conversion and Code Generation XML Schema Java Model Ecore UML I M P O R T GENERATE Java Edit Java Editor
Generated Code ,[object Object],[object Object],[object Object],public interface PurchaseOrder extends EObject { EList getItems(); String getComment(); void setComment(String value); ... } public class PurchaseOrderImpl extends EObjectImpl implements PurchaseOrder { protected EList items = null; ... }
Reflective Interface for Model Objects ,[object Object],[object Object],public interface EObject extends Notifier { EClass eClass(); Resource eResource(); EObject eContainer(); EReference eContainmentFeature(); boolean eIsProxy(); Object eGet(EStructuralFeature feature, boolean resolve); void eSet(EStructuralFeature feature, Object newValue); boolean eIsSet(EStructuralFeature feature); void eUnset(EStructuralFeature feature); ... }
Customizing Interfaces ,[object Object],public interface PurchaseOrder { List getItems(); String getComment(); void setComment(String value); Date getOrderDate(); ... } Doesn’t extend EObject Setter suppressed Ordinary List
Customizing Interfaces: Taking Out the “E” ,[object Object],[object Object],[object Object],[object Object]
Customizing Interfaces: Suppressing Accessors ,[object Object],[object Object],[object Object]
Demo: Customizing Generated Interfaces ,[object Object],[object Object],[object Object]
Notifiers and Observers ,[object Object],[object Object],public interface Notifier { EList eAdapters(); boolean eDeliver(); void eSetDeliver(boolean deliver); void eNotify(Notification notification); } item.eAdapters().add(itemObserver);
Notifications ,[object Object],public interface Notification { Object getNotifier(); int getEventType(); int getFeatureID(Class expectedClass); Object getFeature(); Object getOldValue(); Object getNewValue(); boolean wasSet(); boolean isTouch(); boolean isReset(); int getPosition(); boolean getOldBooleanValue(); boolean getNewBooleanValue(); ... }
Example: Simple Observer ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Adapters ,[object Object],[object Object],public interface Adapter { void notifyChanged(Notification notification); Notifier getTarget(); boolean isAdapterForType(Object type); ... }
Adapter Factories ,[object Object],[object Object],public interface AdapterFactory { boolean isFactoryForType(Object type); Object adapt(Object object, Object type); Adapter adapt(Notifier target, Object type); ... } POAdapter adapter = (POAdapter)poAdapterFactory.adapt(order, POAdapter.class);
Example: Adapter and Adapter Factory ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Content Adapters ,[object Object],[object Object],[object Object],[object Object]
Example: Content Adapter ,[object Object],[object Object]
Validation Framework ,[object Object],[object Object],[object Object],[object Object],public interface EValidator { boolean validate(EObject eObject, DiagnosticChain diagnostics, Map context); boolean validate(EClass eClass, EObject eObject, DiagnosticChain diagnostics, Map context); boolean validate(EDataType eDataType, Object value, DiagnosticChain diagnostics, Map context); ... }
Framework EValidator Implementations ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Generated EValidator Implementations ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Demo: Constraints and Validation ,[object Object],[object Object],[object Object]
Model Persistence ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Customizing XML Persistence ,[object Object],[object Object],[object Object],[object Object],[object Object],Map options = new HashMap(); options.put(XMLResource.OPTION_EXTENDED_META_DATA, ExtendedMetaData.INSTANCE); resource.save(options);
Demo: Customizing XML Persistence ,[object Object],[object Object],[object Object],[object Object],[object Object]
Summary ,[object Object],[object Object],[object Object],[object Object],[object Object]
Additional Information ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

Contenu connexe

Tendances

java drag and drop and data transfer
java drag and drop and data transferjava drag and drop and data transfer
java drag and drop and data transferAnkit Desai
 
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 FrameworkDave Steinberg
 
Component interface
Component interfaceComponent interface
Component interfaceJAYAARC
 
Android Application Development - Level 2
Android Application Development - Level 2Android Application Development - Level 2
Android Application Development - Level 2Isham Rashik
 
Android Application Development - Level 3
Android Application Development - Level 3Android Application Development - Level 3
Android Application Development - Level 3Isham Rashik
 
L0036 - Creating Views and Editors
L0036 - Creating Views and EditorsL0036 - Creating Views and Editors
L0036 - Creating Views and EditorsTonny Madsen
 
Performance and Extensibility with EMF
Performance and Extensibility with EMFPerformance and Extensibility with EMF
Performance and Extensibility with EMFKenn Hussey
 
MCS,BCS-7(A,B) Visual programming Syllabus for Final exams @ ISP
MCS,BCS-7(A,B) Visual programming Syllabus for Final exams @ ISPMCS,BCS-7(A,B) Visual programming Syllabus for Final exams @ ISP
MCS,BCS-7(A,B) Visual programming Syllabus for Final exams @ ISPAli Shah
 
Introduction to weka
Introduction to wekaIntroduction to weka
Introduction to wekaJK Knowledge
 
.NET Attributes and Reflection - What a Developer Needs to Know...
.NET Attributes and Reflection - What a Developer Needs to Know....NET Attributes and Reflection - What a Developer Needs to Know...
.NET Attributes and Reflection - What a Developer Needs to Know...Dan Douglas
 
Cocoa and MVC in ios, iOS Training Ahmedbad , iOS classes Ahmedabad
Cocoa and MVC in ios, iOS Training Ahmedbad , iOS classes Ahmedabad Cocoa and MVC in ios, iOS Training Ahmedbad , iOS classes Ahmedabad
Cocoa and MVC in ios, iOS Training Ahmedbad , iOS classes Ahmedabad NicheTech Com. Solutions Pvt. Ltd.
 

Tendances (20)

Annotations
AnnotationsAnnotations
Annotations
 
Java annotations
Java annotationsJava annotations
Java annotations
 
S313937 cdi dochez
S313937 cdi dochezS313937 cdi dochez
S313937 cdi dochez
 
java drag and drop and data transfer
java drag and drop and data transferjava drag and drop and data transfer
java drag and drop and data transfer
 
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
 
Component interface
Component interfaceComponent interface
Component interface
 
L0033 - JFace
L0033 - JFaceL0033 - JFace
L0033 - JFace
 
Enhancements
Enhancements Enhancements
Enhancements
 
Java Beans
Java BeansJava Beans
Java Beans
 
Android Application Development - Level 2
Android Application Development - Level 2Android Application Development - Level 2
Android Application Development - Level 2
 
Android Application Development - Level 3
Android Application Development - Level 3Android Application Development - Level 3
Android Application Development - Level 3
 
L0036 - Creating Views and Editors
L0036 - Creating Views and EditorsL0036 - Creating Views and Editors
L0036 - Creating Views and Editors
 
Performance and Extensibility with EMF
Performance and Extensibility with EMFPerformance and Extensibility with EMF
Performance and Extensibility with EMF
 
Java beans
Java beansJava beans
Java beans
 
MCS,BCS-7(A,B) Visual programming Syllabus for Final exams @ ISP
MCS,BCS-7(A,B) Visual programming Syllabus for Final exams @ ISPMCS,BCS-7(A,B) Visual programming Syllabus for Final exams @ ISP
MCS,BCS-7(A,B) Visual programming Syllabus for Final exams @ ISP
 
Introduction to weka
Introduction to wekaIntroduction to weka
Introduction to weka
 
.NET Attributes and Reflection - What a Developer Needs to Know...
.NET Attributes and Reflection - What a Developer Needs to Know....NET Attributes and Reflection - What a Developer Needs to Know...
.NET Attributes and Reflection - What a Developer Needs to Know...
 
Rhino Mocks
Rhino MocksRhino Mocks
Rhino Mocks
 
Annotations
AnnotationsAnnotations
Annotations
 
Cocoa and MVC in ios, iOS Training Ahmedbad , iOS classes Ahmedabad
Cocoa and MVC in ios, iOS Training Ahmedbad , iOS classes Ahmedabad Cocoa and MVC in ios, iOS Training Ahmedbad , iOS classes Ahmedabad
Cocoa and MVC in ios, iOS Training Ahmedbad , iOS classes Ahmedabad
 

En vedette

Electromagnetic fields and public health: WHO
Electromagnetic fields and public health: WHOElectromagnetic fields and public health: WHO
Electromagnetic fields and public health: WHOThe Radiation Doctor
 
Financial planning process design 5 powerpoint presentation templates.
Financial planning process design 5 powerpoint presentation templates.Financial planning process design 5 powerpoint presentation templates.
Financial planning process design 5 powerpoint presentation templates.SlideTeam.net
 
Financial planning process 1 powerpoint presentation templates
Financial planning process 1 powerpoint presentation templatesFinancial planning process 1 powerpoint presentation templates
Financial planning process 1 powerpoint presentation templatesSlideTeam.net
 
Emf radiation by gtpl(glare technocons pvt. ltd.)
Emf radiation by gtpl(glare technocons pvt. ltd.)Emf radiation by gtpl(glare technocons pvt. ltd.)
Emf radiation by gtpl(glare technocons pvt. ltd.)GLARE TECHNOCONS PVT. LTD.
 
Biotechnology - Natural vs. Man-Made Electromagnetic Fields (EMF) - Futur...
Biotechnology - Natural vs. Man-Made Electromagnetic Fields (EMF) - Futur...Biotechnology - Natural vs. Man-Made Electromagnetic Fields (EMF) - Futur...
Biotechnology - Natural vs. Man-Made Electromagnetic Fields (EMF) - Futur...Mikko Ahonen
 
Managing Employee Happiness
Managing Employee HappinessManaging Employee Happiness
Managing Employee HappinessUniversum Global
 
Financial planning process style 6 powerpoint presentation templates
Financial planning process style 6 powerpoint presentation templatesFinancial planning process style 6 powerpoint presentation templates
Financial planning process style 6 powerpoint presentation templatesSlideTeam.net
 
Mobile tower radiation
Mobile tower radiationMobile tower radiation
Mobile tower radiationNaveen Kumar
 
Financial planning process 3 powerpoint presentation templates.
Financial planning process 3 powerpoint presentation templates.Financial planning process 3 powerpoint presentation templates.
Financial planning process 3 powerpoint presentation templates.SlideTeam.net
 
A presentation on hazards of cell phones
A presentation on hazards of cell phonesA presentation on hazards of cell phones
A presentation on hazards of cell phoneskalyanikatta
 
Electromagnetic waves
Electromagnetic wavesElectromagnetic waves
Electromagnetic wavess7822143g
 
Body defense mechanism and immunity
Body defense mechanism and immunityBody defense mechanism and immunity
Body defense mechanism and immunityShrooti Shah
 
32 Ways a Digital Marketing Consultant Can Help Grow Your Business
32 Ways a Digital Marketing Consultant Can Help Grow Your Business32 Ways a Digital Marketing Consultant Can Help Grow Your Business
32 Ways a Digital Marketing Consultant Can Help Grow Your BusinessBarry Feldman
 
WTF - Why the Future Is Up to Us - pptx version
WTF - Why the Future Is Up to Us - pptx versionWTF - Why the Future Is Up to Us - pptx version
WTF - Why the Future Is Up to Us - pptx versionTim O'Reilly
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerLuminary Labs
 

En vedette (17)

Electromagnetic fields and public health: WHO
Electromagnetic fields and public health: WHOElectromagnetic fields and public health: WHO
Electromagnetic fields and public health: WHO
 
Financial planning process design 5 powerpoint presentation templates.
Financial planning process design 5 powerpoint presentation templates.Financial planning process design 5 powerpoint presentation templates.
Financial planning process design 5 powerpoint presentation templates.
 
Financial planning process 1 powerpoint presentation templates
Financial planning process 1 powerpoint presentation templatesFinancial planning process 1 powerpoint presentation templates
Financial planning process 1 powerpoint presentation templates
 
EMF & Cancer
EMF & CancerEMF & Cancer
EMF & Cancer
 
Electromagnetic spectrum
Electromagnetic spectrumElectromagnetic spectrum
Electromagnetic spectrum
 
Emf radiation by gtpl(glare technocons pvt. ltd.)
Emf radiation by gtpl(glare technocons pvt. ltd.)Emf radiation by gtpl(glare technocons pvt. ltd.)
Emf radiation by gtpl(glare technocons pvt. ltd.)
 
Biotechnology - Natural vs. Man-Made Electromagnetic Fields (EMF) - Futur...
Biotechnology - Natural vs. Man-Made Electromagnetic Fields (EMF) - Futur...Biotechnology - Natural vs. Man-Made Electromagnetic Fields (EMF) - Futur...
Biotechnology - Natural vs. Man-Made Electromagnetic Fields (EMF) - Futur...
 
Managing Employee Happiness
Managing Employee HappinessManaging Employee Happiness
Managing Employee Happiness
 
Financial planning process style 6 powerpoint presentation templates
Financial planning process style 6 powerpoint presentation templatesFinancial planning process style 6 powerpoint presentation templates
Financial planning process style 6 powerpoint presentation templates
 
Mobile tower radiation
Mobile tower radiationMobile tower radiation
Mobile tower radiation
 
Financial planning process 3 powerpoint presentation templates.
Financial planning process 3 powerpoint presentation templates.Financial planning process 3 powerpoint presentation templates.
Financial planning process 3 powerpoint presentation templates.
 
A presentation on hazards of cell phones
A presentation on hazards of cell phonesA presentation on hazards of cell phones
A presentation on hazards of cell phones
 
Electromagnetic waves
Electromagnetic wavesElectromagnetic waves
Electromagnetic waves
 
Body defense mechanism and immunity
Body defense mechanism and immunityBody defense mechanism and immunity
Body defense mechanism and immunity
 
32 Ways a Digital Marketing Consultant Can Help Grow Your Business
32 Ways a Digital Marketing Consultant Can Help Grow Your Business32 Ways a Digital Marketing Consultant Can Help Grow Your Business
32 Ways a Digital Marketing Consultant Can Help Grow Your Business
 
WTF - Why the Future Is Up to Us - pptx version
WTF - Why the Future Is Up to Us - pptx versionWTF - Why the Future Is Up to Us - pptx version
WTF - Why the Future Is Up to Us - pptx version
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI Explainer
 

Similaire à EclipseCon 2005: Everything You Always Wanted to do with EMF (But were Afraid to Ask)

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 FrameworkDave Steinberg
 
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 FrameworkDave Steinberg
 
EGL Conference 2011 - EGL Open
EGL Conference 2011 - EGL OpenEGL Conference 2011 - EGL Open
EGL Conference 2011 - EGL OpenWill Smythe
 
Poco Es Mucho: WCF, EF, and Class Design
Poco Es Mucho: WCF, EF, and Class DesignPoco Es Mucho: WCF, EF, and Class Design
Poco Es Mucho: WCF, EF, and Class DesignJames Phillips
 
Eclipse Summit Nov08 Final
Eclipse Summit Nov08 FinalEclipse Summit Nov08 Final
Eclipse Summit Nov08 FinalEric Dillon
 
Ef Poco And Unit Testing
Ef Poco And Unit TestingEf Poco And Unit Testing
Ef Poco And Unit TestingJames Phillips
 
Jetpack, with new features in 2021 GDG Georgetown IO Extended
Jetpack, with new features in 2021 GDG Georgetown IO ExtendedJetpack, with new features in 2021 GDG Georgetown IO Extended
Jetpack, with new features in 2021 GDG Georgetown IO ExtendedToru Wonyoung Choi
 
.NET Portfolio
.NET Portfolio.NET Portfolio
.NET Portfoliomwillmer
 
Back-2-Basics: .NET Coding Standards For The Real World (2011)
Back-2-Basics: .NET Coding Standards For The Real World (2011)Back-2-Basics: .NET Coding Standards For The Real World (2011)
Back-2-Basics: .NET Coding Standards For The Real World (2011)David McCarter
 
Use Eclipse technologies to build a modern embedded IDE
Use Eclipse technologies to build a modern embedded IDEUse Eclipse technologies to build a modern embedded IDE
Use Eclipse technologies to build a modern embedded IDEBenjamin Cabé
 
Model-Driven Development in the context of Software Product Lines
Model-Driven Development in the context of Software Product LinesModel-Driven Development in the context of Software Product Lines
Model-Driven Development in the context of Software Product LinesMarkus Voelter
 
Dynamic and Generic Manipulation of Models: From Introspection to Scripting
Dynamic and Generic Manipulation of Models: From Introspection to ScriptingDynamic and Generic Manipulation of Models: From Introspection to Scripting
Dynamic and Generic Manipulation of Models: From Introspection to Scriptingvanwormhoudt
 
SMI - Introduction to Java
SMI - Introduction to JavaSMI - Introduction to Java
SMI - Introduction to JavaSMIJava
 
Wodel: A Domain-Specific Language for Model Mutation
Wodel: A Domain-Specific Language for Model MutationWodel: A Domain-Specific Language for Model Mutation
Wodel: A Domain-Specific Language for Model MutationPablo Gómez Abajo
 
Development of forms editors based on Ecore metamodels
Development of forms editors based on Ecore metamodelsDevelopment of forms editors based on Ecore metamodels
Development of forms editors based on Ecore metamodelsMario Cervera
 
Patterns (contd)Software Development ProcessDesign patte.docx
Patterns (contd)Software Development ProcessDesign patte.docxPatterns (contd)Software Development ProcessDesign patte.docx
Patterns (contd)Software Development ProcessDesign patte.docxdanhaley45372
 

Similaire à EclipseCon 2005: Everything You Always Wanted to do with EMF (But were Afraid to Ask) (20)

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
 
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
 
EGL Conference 2011 - EGL Open
EGL Conference 2011 - EGL OpenEGL Conference 2011 - EGL Open
EGL Conference 2011 - EGL Open
 
myslide1
myslide1myslide1
myslide1
 
myslide6
myslide6myslide6
myslide6
 
NewSeriesSlideShare
NewSeriesSlideShareNewSeriesSlideShare
NewSeriesSlideShare
 
Poco Es Mucho: WCF, EF, and Class Design
Poco Es Mucho: WCF, EF, and Class DesignPoco Es Mucho: WCF, EF, and Class Design
Poco Es Mucho: WCF, EF, and Class Design
 
Eclipse Summit Nov08 Final
Eclipse Summit Nov08 FinalEclipse Summit Nov08 Final
Eclipse Summit Nov08 Final
 
Ef Poco And Unit Testing
Ef Poco And Unit TestingEf Poco And Unit Testing
Ef Poco And Unit Testing
 
Jetpack, with new features in 2021 GDG Georgetown IO Extended
Jetpack, with new features in 2021 GDG Georgetown IO ExtendedJetpack, with new features in 2021 GDG Georgetown IO Extended
Jetpack, with new features in 2021 GDG Georgetown IO Extended
 
.NET Portfolio
.NET Portfolio.NET Portfolio
.NET Portfolio
 
Entity Framework 4
Entity Framework 4Entity Framework 4
Entity Framework 4
 
Back-2-Basics: .NET Coding Standards For The Real World (2011)
Back-2-Basics: .NET Coding Standards For The Real World (2011)Back-2-Basics: .NET Coding Standards For The Real World (2011)
Back-2-Basics: .NET Coding Standards For The Real World (2011)
 
Use Eclipse technologies to build a modern embedded IDE
Use Eclipse technologies to build a modern embedded IDEUse Eclipse technologies to build a modern embedded IDE
Use Eclipse technologies to build a modern embedded IDE
 
Model-Driven Development in the context of Software Product Lines
Model-Driven Development in the context of Software Product LinesModel-Driven Development in the context of Software Product Lines
Model-Driven Development in the context of Software Product Lines
 
Dynamic and Generic Manipulation of Models: From Introspection to Scripting
Dynamic and Generic Manipulation of Models: From Introspection to ScriptingDynamic and Generic Manipulation of Models: From Introspection to Scripting
Dynamic and Generic Manipulation of Models: From Introspection to Scripting
 
SMI - Introduction to Java
SMI - Introduction to JavaSMI - Introduction to Java
SMI - Introduction to Java
 
Wodel: A Domain-Specific Language for Model Mutation
Wodel: A Domain-Specific Language for Model MutationWodel: A Domain-Specific Language for Model Mutation
Wodel: A Domain-Specific Language for Model Mutation
 
Development of forms editors based on Ecore metamodels
Development of forms editors based on Ecore metamodelsDevelopment of forms editors based on Ecore metamodels
Development of forms editors based on Ecore metamodels
 
Patterns (contd)Software Development ProcessDesign patte.docx
Patterns (contd)Software Development ProcessDesign patte.docxPatterns (contd)Software Development ProcessDesign patte.docx
Patterns (contd)Software Development ProcessDesign patte.docx
 

Dernier

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 

Dernier (20)

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 

EclipseCon 2005: Everything You Always Wanted to do with EMF (But were Afraid to Ask)

  • 1. Dave Steinberg and Ed Merks IBM Rational Software Toronto, Canada EMF and XSD Projects Everything you always wanted to do with EMF* *But were afraid to ask
  • 2.
  • 3.
  • 4. Model Conversion and Code Generation XML Schema Java Model Ecore UML I M P O R T GENERATE Java Edit Java Editor
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.

Notes de l'éditeur

  1. Low-cost in terms of money (free!), and time investment. Just about every program we write manipulates some data model. Traditionally, we’ve used UML to express models, but Java interfaces or XML schemas can also embody the form of and relationships between data. EMF can extract such intrinsic “models” and generate some of the implementation code for them. EMF models are simple – similar to what can be expressed in UML using class diagrams. Specifying behavior is left to Java. Not a rejection of the UML approach, but rather a pragmatic attempt for the present. The result: simple models; clean, efficient implementations; and a relationship between the two that’s quite easily understood. EMF tools designed to facilitate mixing generated and hand-written code: you can update both the model and the hand-written code, and regenerate without losing any changes. Productivity boosted by generating efficient, correct, customizable code that we’d otherwise have to write over and over again. Data integration provided by a generic, reflective API for accessing data in an instance model and a framework for persistence. [The Eclipse platform provides a foundation for tool integration (platform runtime, workspace resources, workbench UI). EMF is the foundation for fine-grained data integration.]