70 likes | 217 Views
Semantic Foundations for Model-Integrated Computing. A panel at the First OMG MIC Workshop Arlington, VA October 14, 2004. Jeff Gray, University of Alabama at Birmingham. Issues on DSML Semantic Foundations. Panel Position
E N D
Semantic Foundations for Model-Integrated Computing A panel at the First OMG MIC Workshop Arlington, VA October 14, 2004 Jeff Gray, University of Alabama at Birmingham
Issues on DSML Semantic Foundations • Panel Position • Transformations (horizontal or vertical) are the “heart and soul” of any model-driven approach • Towards consistency across various meta layers: • Transformations performed on the metamodel, in response to changes in domain requirements • Transformations performed on instance models, in response to system changes • Testing the correctness of transformations in the presence of metamodel changes
Meta-model0 Meta-model1 Meta-modeln …… Define Define Define ∆MM 1 ∆I 1 ∆M 2 ∆MM 2 ∆M 1 ∆M n ∆MM n ∆I n ∆I 2 B A S E D O N …… Modeln Model1 Model0 Interpret Interpret Interpret Interpreter0 Interpreter1 Interpretern …… ∆MM: The changes made to the meta-models ∆M: The changes reflected in the domain models ∆I: The changes reflected in the model interpreters The evolution of the models and interpreters in terms of metamodel changes 1. Effect of Changing Domain Semantics
model model model model Meta-model’ Meta-model Models’ Models Modeling Tool API Modeling Tool API’ void CComponent::InvokeEx(CBuilder &builder) { Interpreter aInterpreter; CString fileName; if(!aInterpreter.selectSpecAspects(fileName)) { return; } … } void CComponent::InvokeEx(CBuilder &builder) { Interpreter aInterpreter; CString fileName; char *specFile = new char[fileName.GetLength()]; strcpy(specFile, fileName); …. } Interpreters Interpreters’ Model XformEngine 1. Model-Driven Program Transformation on Interpreter Source
2. Ensuring Fidelity Between Models and Legacy Source • Model-Driven Evolution of Legacy Systems • Must model-driven approaches be applied to only “greenfield” systems?; difference between translation/synthesis versus transformation of code • Workshop at OMG-sponsored EDOC conference: • http://www.cis.uab.edu/EDOC-MELS/ • Intersection of MIC and the OMG ADM/KDM • Preliminary concepts: see last talk
3. Testing the Correctness of Transformations • Addressing the “ad-hoc” nature of transformations by adding some degree of confidence in correctness of semantic preservation; transformation specification can be erroneous • Terminating and confluent? • Property preserving? • Formal proof of transformation correctness versus testing • Parallel Argument: • Formal verification of compilers (except for a few safety-critical domains) is not the norm • Instead, whenever a new compiler is released (or language definition changes), a compiler is tested on a large suite of sample code • Side benefit - Regression testing in presence of: • Transformation changes • Metamodel changes • Instance model changes