1 / 13

Modeļu transformācijas valoda MOLA un tās implementācija

Modeļu transformācijas valoda MOLA un tās implementācija. Edgars Celms , Audris Kalniņš Edgars.Celms@mii.lu.lv Audris.Kalnins@mii.lu.lv. LU Matemātikas un informātikas institūts http://www.lumii.lv/. Kāpēc MOLA ?.

marlis
Download Presentation

Modeļu transformācijas valoda MOLA un tās implementācija

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Modeļu transformācijas valoda MOLA un tās implementācija Edgars Celms, Audris Kalniņš Edgars.Celms@mii.lu.lv Audris.Kalnins@mii.lu.lv LU Matemātikas un informātikas institūts http://www.lumii.lv/

  2. Kāpēc MOLA ? • 2000. gads. OMG – MDA (Model Driven Architecture) - Modeļbāzēta Arhitektūra. • 2001. gads. OMG – CIM, PIM, PSM, Model Transformations. • 2002. gada aprīlis. OMG izsludina konkursu par modeļu transformāciju valodas standartu. Request for Proposal: MOF 2.0 Query / Views / Transformations (ad/2002-04-10) • QVT – Merge Group (firmu un universitāšu konsorcijs (pavisam 24 organizācijas), EXMOF (SUN, Compuware). • GReAT, ATL, TRL, Tefkat, UMLX, ...

  3. Modeļu veidi 2001. g. parādījās ideja - modeļiem izstrādes gaitā ir dažāda loma: Platform Independent Model (PIM) - platformneatkarīgais modelis A platform independent model is a view of a system from the platform independent viewpoint. Platform Specific Model (PSM) - platformspecifiskaiais modelis A platform specific model is a view of a system from the platform specific viewpoint.A PSM combines the specifications in the PIM with the details that specify how thatsystem uses a particular type of platform (e.g., EJB, CORBA, .NET, WS). Vēlāk pievienojās arīCIM - Computation Independent Model(īstenībā pats sākums -biznesa modelis, konceptuālais modelis (?)) A computation independent model is a view of a system from the computation independent viewpoint. Modeļus pārveido no viena uz otru ar modeļu transformācijas palīdzību. Transformācija - pamatlīdzeklis pārveidošanas automatizācijai (kur tas iespējams!)

  4. Modeļi Katrs no modeļa veidiem parasti atbilst savam metamodelim.Metamodeļus definē kādā metamodelēšanas valodā, pamatā OMG MOF. Daudzi modeļi ir modelēšanas valodā UML (t.i., atbilst UML metamodelim, ieskaitot arī profilus), bet var būt arī citās, tai skaitā, OO programēšanas valodā (abstraktā sintakse! - arī atbilst metamodelim). Modeļu piemēri : - UML aktivitāšu diagramma - biznesa procesa modelis - UML lietojumu un aktivitāšu diagrammu kopums - sistēmas prasību specifikācija - UML klašu diagrammu kopums - sistēmas analīzes modelis - UML klašu diagrammas, kur lietoti J2EE stereotipi - projektēšanas modelis - Java programma (abstraktā sintaksē) - J2EE programma (komponentes + deskriptori), arī abstraktā sintaksē - darbaplūsmas (workflow) definīcija kādā no definēšanas valodām - tīmekļa lappuses formālā shēma (bez "dekorācijām") Vispār - modelis var būt jebkāda veida formalizēts (datoram saprotams) "dokuments", kas parādās izstrādes gaitā - bet kura struktūru var aprakstīt ar metamodeli

  5. Aktualitātes apliecinājums • Publikācijas: • Model Transformation Language MOLA: Extended Patterns. Kalnins A., Barzdins J, Celms E. Proceedings of Baltic DB&IS 2004, Riga, Latvia, June 2004, pp. 339-356. • Model Transformation Language MOLA. Kalnins A., Barzdins J, Celms E. Proceedings of MDAFA 2004 (Model-Driven Architecture: Foundations and Applications 2004), Linkoeping, Sweden, June 10-11, 2004. pp.14-28. • Basics of Model Transformation Language MOLA. Kalnins A., Barzdins J, Celms E. Proceedings of ECOOP 2004 (Workshop on Model Transformation and execution in the context of MDA), Oslo, Norway, June 14-18, 2004. p. 6. • MOLA Language: Methodology Sketch. Kalnins A., Barzdins J, Celms E. Proceedings of EWMDA-2, Canterbury, England, 2004. pp.194-203. • UML Business Modeling Profile. Kalnins A., Barzdins J, Celms E. Proceedings of ISD’2004, Vilnius, Lithuania, September 9-11, 2004. pp.182-194. • Efficiency Problems in MOLA Implementation. A.Kalnins, J. Barzdins, E.Celms. 19th International Conference, OOPSLA’2004 (Workshop "Best Practices for Model-Driven Software Development") , Vancouver, Canada, October 2004. p. 14. • Tool support for MOLA. A.Kalnins, E.Celms, A.Sostaks. Fourth International Conference on Generative Programming and Component Engineering (GPCE'05). (Workshop on Graph and Model Transformation (GraMoT)) , Tallinn, Estonia, September 2005. pp. 162-173. • Model Transformation Approach Based on MOLA. A.Kalnins, E.Celms, A.Sostaks. ACM/IEEE 8th International Conference on Model Driven Engineering Languages and Systems (MoDELS/UML '2005). (MoDELS/UML'05 Workshop: Model Transformations in Practice (MTIP)) , Montego Bay, Jamaica, October 2 -7, 2005. p. 25. • Simple and Efficient Implementation of Pattern Matching in MOLA Tool.A. Kalnins, E. Celms, A. Sostaks.Proceedings of the 7th International Baltic Conference on Databases and Information Systems (Baltic DB&IS’2006). , Vilnius, Lithuania, July 3-6, 2006. pp. 159-167. • MOLA tool demonstration – “European Conference on Model Driven Architecture - Foundations and Applications”, Nirnberga, Vācija, 7.11.2005-10.11.2005.

  6. Elementārs modeļu transformācijas piemērs Divu veidu grafu kodēšana (divi grafu modeļu veidi): - vienkāršais: grafs sastāv no virsotnēm un šķautnēm - sarežģītais: grafs sastāv no virsotnēm, šķautnēm un šķautņu pievienojuma punktiem Abus modeļu veidus (A un B) var aprakstīt ar metamodeļiem. Var uzrakstīt transformācijas, kas no A modeļa (grafa koda, kas atbilst A metamodelim) veido B modeli tam pašam grafam (un otrādi) mapping association B - metamodel A - metamodel Metamodel

  7. MOLA (MOdel transformation LAnguage) mapping association B - metamodel A - metamodel Metamodel Start Simple loop over all class ANode instances. For each A-instance a B-instance is created (and a link) (creation is in red) Loop variable A more complicated loop over all A-edges. This loop contains a pattern - for each A-edge its start and end nodes and their B-equivalents are located Transformation procedure in MOLA Black elements - the pattern End

  8. MOLA (MOdel transformation LAnguage) Source MM (Classes) Metamodel MOLA diagram FOREACH loop Loop head Loop variable Target MM (SQL) Nested loop Pattern element Pattern (elements in black) Link creation Attribute constraint Instance creation Pattern link Attribute assignment Loop body Control flow Subprogram call Element reference (call parameter) The inner loop is executed over all persistent Property instances which have PrimitiveType and belong to theClass already mapped to an RDBTable (by the current iteration of the outer loop)

  9. MOLAs programmas piemērs (ClassToRel)

  10. Transformāciju izmantošana rīku būvē MOLA editor implementation in METAclipse High-level view of the METAclipse architecture Iesniegta publikācija: “Building Tools by Model Transformations in Eclipse” Audris Kalnins, Oskars Vilitis, Edgars Celms, Elina Kalnina, Agris Sostaks, Janis Barzdins

  11. Kāpēc to visu stāstu ? • Interesentiem tiks piedāvāta iespēja izstrādāt kursa un maģistra darbus par valodu MOLA un tās “apkārtni”. Tie var būt gan teorētiski, gan arī ļoti praktiski. • (saistītas ar modeļu transformāciju valodu MOLA un universālu rīku būves platformu METAclipse) • Praktiska rīku būve METAclipse vidē: • pilna UML klašu diagramma • UML aktivitāšu diagramma • UML stāvokļu diagramma • MOF QVT diagrammas • BPMN diagramma • citas līdzīgas diagrammas • ReDSeeDS RSL lietojumu/aktivitāšu diagramma • …

  12. Kāpēc to visu stāstu ? • … • Konkrētu transformāciju būve valodā MOLA: • pilna UML stāvokļu diagrammas vienkāršošana • … • Sarežģītāki transformāciju uzdevumi: • MOLA kompilatora uz L3 fragmenti valodā MOLA • MOF QVT pārveidotājs uz MOLA • … • Tehnoloģiskie uzdevumi (realizācija pamatā caur MOLA): • metamodeļu imports/eksports caur XMI • MOLA kā RSA plug-in • MOLA kā Enterprise Architect plug-in • Teorētiskāki uzdevumi: • MOLA iespēju salīdzināšana ar MOF_QVT • MOLA paplašināšana ar metamodeļu apstrādes līdzekļiem ("MOLA+") • MOLA semantikas definēšana ar predikātu valodu • Papildus informācija par MOLA: • http://mola.mii.lu.lv/index.html (vai google - “mola language”) • edgars.celms@mii.lu.lv • audris.kalnins@mii.lu.lv

  13. Paldies par uzmanību !

More Related