Skip to content

wolandscat/EOMF

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Eiffel Object Modelling Framework (EOMF)

EOMF is a library project for various generic facilities for Eiffel applications, including:

  • EVX - layer over Eiffel Vision EV lib to provide higher level controls with built-in agents, visual settings.

  • Icon support - small set of classes to support programmatically represented icons, plus icon_code_gen tool to convert .ico and .png files to Eiffel classes, allowing fast loading and fewer files for distribution; [example icon files and compiled output] (resources/icons).

  • BMM - Basic Meta-Model - an object schema representation facility. BMM schemas represent object data models, including classes and attributes with open and closed generics, inheritance etc. BMM files are written in ODIN syntax. Examples used on openEHR.

  • ODIN- Object Data Instance Notation - parser, validator, internal Data Tree representation, and serialiser for ODIN notation.

  • Data Tree - intermediate hierarchical tree representation of complex objects, like an XML DOM tree. Enables objects serialised as ODIN and other formats to be parsed to DT form, then converted to real objects.

  • Object Graph - library providing generic object/attribute tree structure behind more specific object-based tree concepts like Data Tree. Provides built-in pathing and generic visitor capability.

  • External VCS tools - library for interfacing to Git and SVN tools (only Git implemented) via PROCESS classes.

  • App config file, library for application configuration file, in ODIN format.

  • Parsing support - various classes to support doing parsing and serialisation, with error reporting.

  • Message generator - Multi-lingual error message / UI text database facility; [example message sources and compiled output] (library/messages).

  • Basic Messages - core set of useful messages for any application, e.g. to do with file tests, etc.

There are some further classes that idealy would be in a more core libray like ISE or gobo: