A Short Intro to MIF Hans Jonkers Philips












- Slides: 12
A Short Intro to MIF Hans Jonkers Philips Research March 11, 2010
Contents MIF: • What is it? • • • Who is it for? How is it defined? How can you use it? The way we used it. Browsing through the MIF – Static. Model – Vocabulary. Model – Data. Type. Model. Library – … Philips Research, March 11, 2010 2
MIF: What Is It? (1) • MIF = Model Interchange Format Can be viewed in different ways: • As a set of XML formats used to support the storage and exchange of HL 7 version 3 artefacts as part of the HL 7 Development Framework. • As a (meta)metamodel, i. e. as a metalanguage that is used to define the HL 7 version 3 standard and its constituent artefacts. • The definition of the MIF is a task of the HL 7 Tooling Working Group. • MIF 2 definition is not stable yet; latest version can be downloaded from http: //gforge. hl 7. org/gf/project/mif-schemas/frs/. Philips Research, March 11, 2010 3
MIF: What Is It? (2) HL 7 Version 3 artefacts that are defined in MIF: • Analysis related artefacts such as – domain analysis model, story board, glossary • Static model related artefacts, such as – static model, derived static model, serialized static model • Dynamic model related artefacts, such as – interaction, trigger event, application role • Vocabulary related artefacts, such as – vocabulary model, code system supplement • Data type related artefacts, such as – data type model library • Conformance related artefacts, such as – conformance profile, interaction profile • Publication related artefacts, such as – publication, structured document, freehand document Philips Research, March 11, 2010 4
MIF: Who Is It For? "No human should ever see MIF, except for programmers, and those aren't human anyway. " Grahame Grieve (adapted from Tim Berners Lee). • MIF is meant for tool smiths and model-engineers, because it deals with meta-objects that are used to build tools and models. • Application programmers use these tools and the code generated from these meta-objects to build applications. So, it’s only a special breed of programmers that should ever see MIF … Philips Research, March 11, 2010 5
MIF: How Is It Defined? (1) By a set of XML schemas (+ Schematron): Philips Research, March 11, 2010 6
MIF: How Is It Defined? (2) • The XML schemas define the MIF language constructs as types, with the meaning of the types explained informally in annotations: Philips Research, March 11, 2010 7
MIF: How Can You Use It? What you need: 1. A way to read MIF files. – Use existing tooling (Eclipse) or generate it from the MIF schemas 2. A proper understanding of the MIF constructs. – Unfortunately there is not much documentation … • • It helps to read and process MIF instances in terms of strongly-typed classes generated from the MIF schemas. Tools such as xsd. exe (for. NET) generate such classes. Philips Research, March 11, 2010 8
MIF: How We Used It (1) • MOM object model of MIF was generated from the MIF schemas, including read and write methods. • MIF files are read as instances of the MIF model and mapped to object models. • Applications are built using C# classes generated from the object models. Philips Research, March 11, 2010 9
MIF: How We Used It (2) Object models generated from MIF: Philips Research, March 11, 2010 10
Browsing Through The MIF Model … Philips Research, March 11, 2010 11