Eclipse Modeling Framework (EMF)

IT Trainer (OCL/UML), National eHealth Transition Authority (NEHTA)

02/06/2015 - 04/08/2015
IT Trainer

Under contract to NEHTA for Webel IT Australia.

Developed a custom IT Training course on the Object Constraint Language (OCL) and the Unified Modeling Language (UML) of the Object Management Group (OMG) for use with the Java/EMF/XML-based Model Driven Health Tools (MDHT) for the National eHealth Transition Authority (NEHTA) of Australia.

Included use of a custom Drupal CMS content management system web site for collation and presentation of IT Training materials and for use by training participants in an IT Training Workshop.

Inheritance in EMF

Please note from the EMF Framework Programmer's Guide:

''As in Java itself, multiple interface inheritance is supported, but each EMF class can only extend one implementation base class. Therefore, when we have a model with multiple inheritance, we need to identify which of the multiple bases should be used as the implementation base class. The others will then be simply treated as mixin interfaces, with their implementations generated into the derived implementation class"

The implementation base (primary extension path) is identified by the «extend» stereotype, the others become mixins.

EMF for XSD (XML Schema)

Please note the following important differences between XSDs and Ecore Models regarding multiple inheritance:

'EMF's EClass supports multiple inheritance, which allows you to mix-in structural features like attributes at multiple places in your generated class hiearchy. However, the java language does not support multiple class inheritance, so the actual implementation behind the shared java interface is generated multiple times.'

'XML Schemas do not support multiple inheritance. A Complex Type can only extend one other Complex Type.

As an approximation, XSDs allow attribute groups do be define. They can be reused multiple times. However, each time an attribute group is reused, it is treated as a copy of those attributes, rather than a shared reference.'

EMF zone


A Webel zone dedicated the Eclipse Modeling Framework (EMF). There are lots of examples of EMF in action in the NeXML zone, and in this screencast.

Eclipse Modeling Framework (EMF)


Computational Physicist: Scientific Software Architect

05/10/2006 - 04/11/2007
Software Architect, Neutron Beam Instrument Computing and Electronics Group

Developed port-based UML and SysML models of the neutron beam instruments of the OPAL Research Reactor facility, using sentence-by-sentence UML Parsing Analysis of instrument design manuals.

Developed a distributed, pluggable, object-oriented, port-based Instrument ModelServer control system façade using UML, SysML, Java and XML technologies.

Performed architectural modelling in UML of Java systems and heterogeneous control systems.

Developed Java adapters for the low-level SICS control system and for data acquisition web services.

Performed Java and XML technology assessments, including analysis of reverse-engineered APIs.

Computational Physicist: Data Analysis Developer

26/09/2005 - 04/10/2006
Data Analysis Developer, Neutron Beam Instrument Computing and Electronics Group

Developed "NeXusBeans" Java bindings and UML models for the XML-based NeXus data format, as presented to the NeXus International Advisory Committee and promoted through the NeXML sub-project web site.

Developed port-based channel operator software in Java for data reduction and analysis using UML.

Supervised students.

Advised on UML education.

Eclipse zone


A Webel zone dedicated to the Eclipse IDE, Eclipse Platform, and related technologies.

Service: UML Parsing Analysis of technical documents and digital texts into graphical UML models

Webel - the home of Dr Darren's UML™ Parsing Analysis recipe - is delighted to offer a unique service, the translation of digital texts into UML models capturing requirements, systems analysis, systems architecture, and designs as graphical Unified Modeling Language™ (UML™) models.

What comes in ?

Technical documents from your domain, preferrably as digital text, however the conversion of older documents such as printed materials and scans into digital text is also offered as part of the service.

Candidate source text documents include:

What comes out ?

Professional UML™ Parsing Analysis models and diagrams corresponding to every sentence of the source document, together with overview diagrams generated from the union of those diagrams, including Package and Model overview diagrams, Use Case diagrams, systems and architecture diagrams, and professional reports.

In the case where the domain involves scientific or engineering topics with flows, port-based engineering diagrams employing Systems Modeling Language™ (SysML™) can be provided to supplement traditional software engineering diagrams.

Does it run ?

Where there is appropriate correspondence between the domain and software engineering elements, the analysis layer can be related to a design layer of reverse-engineered Java components from existing APIs, or forward engineered to the Eclipse Modeling Framework (EMF).

Java zone

Dr Darren says:

The Oracle and the Sun shine on Webel thanks to UML™-driven JavaTM !

Please find thoughout this site many of examples of JavaTM engineering projects and educational tips on JavaTM technologies, mostly from real-world Webel projects and usually with supporting Unified Modeling Language™ (UML™) diagrams. Check out the links below, as well as the Java keyword search to list every page on the site that involves Java. Now that's a large mug of very hot UML-driven Java !

Syndicate content