The openEHR ref_impl_eiffel Project Developer's page
What is in this project?
There are 3 sections to this repository, as follows:
- libraries: this is where the openEHR reference model archetype models and supporting generic libraries are. Executables in this area are all test applications.
- components: re-usable
components based on the libraries are here. Includes .Net and
Java-wrapped DLLs (future: Linux .so libs) for ADL, and any other
deployable component form of the openEHR models. Will eventually include an openEHR archetype- and template-processing kernel
- apps: standalone
executable applications based on the libraries and/or components.
Includes the ADL workbench, and will eventually include EHR,
demographic and archetype servers.
Setting up for building
There are a number of steps to do to ensure you are ready to build anything, as follows:
- Download and install EiffelStudio 6.1 (free use license).
- During install, when it asks whether to precompile the libraries, choose Yes, and precompile Base and Vision.
- You can, if you wish, build individual projects within the EiffelStudio IDE; but if you wish to do batch command-line builds, you need SCons. SCons is a software build utility, based on Python, and it only takes a few minutes to install.
- On Windows, if you wish to build an installer for ADL Workbench, download and install NSIS.
Building
The SCons-based facility for building the entire project works on Windows, Linux and Mac.
The approach is:
- Make sure that SCons, Python and the Eiffel compiler are in your PATH.
- On Windows:
- Mke sure NSIS is in your path too if you installed it.
- For SCons, you can copy scons.bat from Python's Scripts directory up to the Python directory; or else add the Scripts directory to your path too.
- On Linux or Mac, make sure that you have also set the EiffelStudio environment variables. For example, on an Intel Mac, your .profile might contain this:
- export ISE_PLATFORM=macosx-x86
- export ISE_EIFFEL=/Applications/MacPorts/Eiffel61
- export GOBO=$ISE_EIFFEL/library/gobo
- export ES_PATH=$ISE_EIFFEL/studio/spec/$ISE_PLATFORM/bin
- export PATH=$ES_PATH:$GOBO/spec/$ISE_PLATFORM/bin:$PATH
- Open a Windows command window, or a Linux or Mac terminal window.
- Change directory to the project root directory.
- To build everything, simply type scons.
This will cause the build of all binaries. Sometimes it fails in
various strange ways, and a manual build has to be done. This is not
hard - it just means starting EiffelStudio by hand and telling it to
build from an existing ECF file; depending on what you want to build,
you just select the ECF file in the appropriate directory.
SCons provides many other options, depending how and what you want to build. For example:
- To build just ADL Workbench, type scons adl_workbench.
- To create installers for the current platform, specify a file or directory target that contains oe_distrib as a path component. For example, to build the installers below the current directory's parent, type scons ../oe_distrib/.
- For a list of the SCons command-line options, type scons -h.
Build Targets (what can I build?)
The current build targets are as follows:
- libraries area:
- common_libs\test\app - a tester for dADL, method dispatcher, units library and others;
- openehr\test\app - a tester for the openEHR reference model classes
- component area:
- components\adl_parser\test\app - a tester for the ADL parser
- components\adl_parser\lib\dotnet_dll - the .Net DLL form of the ADL parser
- components\adl_parser\lib\java_lib - the JNI-wrapped DLL form of the ADL parser (currently not being maintained - out of date!)
- apps area:
- apps\adl_workbench\app - adl_workbench, an EiffelVision2-based GUI application for ADL parsing, viewing and saving.
Parser Grammars
The following are links to the grammars of the various parsers: