120 likes | 295 Views
MOF-Compliant Modeling of Middleware. Jeff Parsons & Matt Emerson ISIS Vanderbilt University Nashville, TN. What’s MOF?. OMG defines the Meta Object Facility (MOF) as An abstract language A framework for technology-neutral metamodels Intended uses Software development
E N D
MOF-Compliant Modeling of Middleware Jeff Parsons & Matt Emerson ISIS Vanderbilt University Nashville, TN
What’s MOF? • OMG defines the Meta Object Facility (MOF) as • An abstract language • A framework for technology-neutral metamodels • Intended uses • Software development • Type management (repository) • Information management • Data warehouse management
Why MOF-Compliant? • Platform-independent • No tie to one vendor • Easier vendor migration. • Model storage • Model reuse • Import/export with other modeling tools
MOF Historical Context • Before MOF 1.4: • Modeling language for distributed middleware systems • CORBA-centric • Could represent all datatypes from CORBA 2.1 onward • Included TypeCode and Any to model datatypes and values. • IDL mapping for the automatic generation of program artifacts. • MOF 1.4: • OMG standard metamodeling language • Not CORBA-centric • Includes minimal set of technology neutral modeling concepts. • No direct analogues to CCM concepts. • IDL mapping now strictly to manage MOF (meta-)models.
Canonical Layers of Abstraction meta-metamodel (self-descriptive) M3 layer metamodel M2 layer model M1 layer implementation (source code, data, simulation) M0 layer
GME-MOF: A GME Metamodeling Environment • Provided GME-MOF metamodel written using MetaGME. • Using GME-MOF, write models that represent some domain. • Using translator, transform domain-specific models (DSMs) into (MOF-compliant) domain-specific modeling languages (DSMLs). • Using DSMLs, write models that represent systems in the domain. Future Work: • XMI translation tools • MOF counterpart to MetaGME M3 MetaGME MOF DSML DSML GME-MOF M2 Translator DSM DSM M1 DSM DSM pre-existing generated by Matt Emerson hand-written
Interface Definition Modeling Language (IDML) • Platform independent, models components and all associated types. • Part of Platform Independent Component Modeling Language (PICML). • PICML is part of the CoSMIC tool suite.
IDL Importer • Modular TAO IDL compiler. • Create pluggable back end. • Existing front end validates/parses IDL files. • New back end generates project in XML format. • Import into GME - • For further development. • For translation to non-CORBA middleware. IDL IDL IDL Modified IDL Compiler XML Import into GME Generate app. code Modify Model Java (EJB)
Future Work First step: prototype using GME Next step: decoupling from GME MOF Abstract Mapping (IDL) metaGME meta-I inherit MOF->IDL Repository IDL implement Modeling Environment GME Model Repository I Modeling Environment MOF Model Repository I I I I I I IDL IDL Java ….. IDL Java interpreter / translator to be written exists generated I IDML to date
Approach to Modeling Middleware (1 of 2) Context: Selecting metamodel elements. Problem: What will be best translatable to (platform-specific) models and to generated code? Forces: • Using intersection (only common features) - • Restricts developers. • Excludes many existing applications. middleware x middleware y model A E B D C B D A E x application y application
Approach to Modeling Middleware (2 of 2) Solution: Use union of common middleware features. • CORBA Component Model (CCM) subsumes Enterprise Java Beans (EJB). • Need more complicated mapping for translation to EJB. CCM EJB Model CCM Interface Definition Language (IDL) EJB Classes and Deployment Descriptor