Acta Univ. Agric. Silvic. Mendelianae Brun. 2009, 57(6), 123-132 | DOI: 10.11118/actaun200957060123

Využití konceptu MDA ve vývoji strukturální oblasti prezentační vrstvy

Jan Kryštof
Ústav informatiky, Mendelova zemědělská a lesnická univerzita v Brně, Zemědělská 1, 613 00 Brno, Česká republika

V článku představujeme modelem řízený přístup vývoje prezentační vrstvy. Metodický postup je ovlivněn konceptem modelem řízené architektury a my jej uvádíme do souvislosti s problematikou modelování grafických uživatelských rozhraní. Pro modelování využíváme profil UML, který jsme pro naše potřeby modelování vytvořili. UML profil poskytuje pravidla a prostředky pro vytváření modelů prezentační vrstvy, takže je možné nejenom modely vytvářet, ale je možné je i validovat.
Ručně vytvořený model prezentační vrstvy používáme jako vstup pro sérii transformací, které model obohacují. Transformace na úrovni modelu je ukončena stavem, kdy je vůči svrchním komponentám vytvořen model tříd, který využíváme pro generování zdrojového kódu.
Zdrojový kód svrchních komponent obsahuje deklarace všech prvků, které se na tvorbě svrchní komponentě podílejí. Dále obsahuje metodu, která zajistí jejich umístění do kontejnerů. Vygenerovaný zdrojový kód není zodpovědný za nastavování vzhledu. Vzhled nastavujeme ke každé svrchní komponentě zvlášť a v případě, že cílová platforma nepodporuje mechanismus CSS, využíváme k nastavování vlastností vzhledu reflexe.
Náš koncept přináší několik výhod, mezi které patří platformní nezávislost modelů a tedy i možnost generovat zdrojové kódy stejných komponent pro jiné platformy. Možnost generování kódu může taktéž významným způsobem zrychlit práci a ušetřit tak pracovní kapacity.
Dále náš koncept zaplňuje logickou mezeru v modelování třívrstvých aplikací, jelikož nabízíme prostředky pro modelování a zároveň jsme schopni generovat zdrojový kód tak, jak je tomu u UML modelovacích nástrojů, které takto podporují aplikační a datovou vrstvu. Intenzivní modelování všech tří vrstev a jejich soustředění v modelovacím nástroji může vytvořit zajímavé podmínky pro získávání znalostí o aplikaci.
Naše modelovací prostředky záměrně neumožňují generovat kód nastavující vzhled. Vzhled aplikace je vyvíjen a spravován samostatně, což má následek snadnější správu vzhledu jako celku a lze tedy vzhled aplikace měnit bez zásahu do zdrojového kódu. Možnost takovéto kustomizace pak může výrazně zvýšit zájem o so warový produkt a zvýšit konkurenceschopnost so warové firmy.

MDA, UML, modelování, prezentační vrstva, struktura, generování zdrojového kódu

Towards an MDA-based approach for development of a structural scope of the presentation layer

This paper presents an approach for developing the presentation layer of software applications. The approach is based on the concept of the Model Driven Architecture (MDA) and uses a UML - based model of graphical user interfaces, which is created according to rules defined in a meta - model. The meta - model is not oriented to a particular platform, thus all designed models can be created independently of the programming language and widget library. This platform independent UML based model can be transformed into source - code for an arbitrary programming language and can be used in a software development process.
The meta - model of our approach is an extension of the common UML and provides support for modeling the presentation layer. The meta - model thus fills a gap that exists in modeling three - layered software applications, beside the application and the data layer. By providing this possibility for modeling the presentation layer, we can crucially impact current approaches to the development of three layered software applications. All model artifacts contain essential information about the graphical user interface and can be used for a code generation. Since the UML is widely used by analysts, they can produce models which de-facto represent source code and thus they reduce the workload for programmers, who create source code by some traditional approaches. Our model - based approach also strictly separates the appearance and the structure of graphical user - interfaces and both of them are developed separately, which brings higher modularity of software.
In this paper, we demonstrate our development approach by focusing on the structure of graphical user interfaces. Our approach is influenced by the concept of Model Driven Architecture and we deal with all related issues, such as meta - model, user models, model transformations and source - code generation. For evaluating our approach, we designed and developed a software framework, we integrated it into a generic modeling tool, and used approach principles during the development of a module of an information system.

Keywords: MDA, UML, modeling, presentation layer, structure, source code generation
Grants and funding:

The paper is written as a part of solution of a research plan PEF MZLU MSM 6215648904/03/03/02.

Received: June 26, 2009; Published: October 7, 2014  Show citation

ACS AIP APA ASA Harvard Chicago IEEE ISO690 MLA NLM Turabian Vancouver
Kryštof, J. (2009). Towards an MDA-based approach for development of a structural scope of the presentation layer. Acta Universitatis Agriculturae et Silviculturae Mendelianae Brunensis57(6), 123-132. doi: 10.11118/actaun200957060123
Download citation

References

  1. MCFARLANE, N.: Rapid Application Development with Mozilla. Prentice Hall 2003, 800 pages, ISBN 978-0131423435.
  2. ABOUZAHRA, A., BZIVIN, J., FABRO M. D. D., JOUAULT, F., 2005: A Practical Approach to Bridging Domain Specific Languages with UML profiles. In: Proceedings of the Best Practices for Model Driven Software Development at OOPSLA'05, 2005.
  3. ABRAMS, M., PHANOURIOU, C., BATONGBACAL, A. L., WILLIAMS, S. M., SHUSTER, J. E., 1999: UIML: an applianceindependent xml user interface language. In: Computer Networks 31, Elsevier Science, 1999. Go to original source...
  4. BACHMANN, F., BASS, L., CARRIERE, J., CLEMENTS, P., GARLAN, D., IVERS, J., NORD, R., LITTLE, R., 2005: Software Architecture Documentation in Practice: Documenting Architectural Layers. Technical Report CMU/SEI-2000-SR-004, Carnegie Mellon Software Engineering Institute, 2005. Go to original source...
  5. BISHOP, J., HORSPOOL, N., 2004: Developing principles of gui programming using views. In: SIGCSE '04 Proceedings of the 35th SIGCSE technical symposium on Computer science education, 2004. Go to original source...
  6. BOAS, G., 2004: Template Programming for Model-Driven Code Generation, [online], [cit. 2009-06-17]. Available at WWW
  7. DUTCHYN, C., SZAFRON, P. LU, D., BROMLING, S., HOLST, W., 2001: Multi-dispatch in the Java Virtual Machine design and implementation. In: COOTS'01 proceedings, 2001. Go to original source...
  8. ENGELS, G., HECKEL, R., SAUER, S., 2000: UML - a universal modeling language? ICATPN 2000, LNCS 1825, Springer-Verlag. 2000. Go to original source...
  9. JOHNSTON, S., 2004: Rational UML Profil for Business Modeling. [online], 2004 [cit. 2009-06-17]. Available at WWW
  10. KOCH, N., BAUMEISTER, H., HENNICKER, R., MANDEL, L., 2000: Extending UML to Model Navigation and Presentation in Web Applications. In: Proceedings of Modelling Web Applications in the UML Workshop, 2000.
  11. KRYŠTOF, J., CHALUPOVÁ, N., 2008: Prerequisites for new GUI modelling approach. In: JANECH, J. Objekty 2008. Žilina: Žilinská univerzita v Žilinie, 2008, p. 127-136. ISBN 978-80-8070-927-3.
  12. KRYŠTOF, J., MOTYČKA, A., 2008: Metamodel for presentation layer, In: Proceedings of the 11th International Multiconference Information Society - IS 2008. 2008.
  13. KRYŠTOF, J., 2009: An automated platform independent realization of GUI with use of UML. In Gaudeamus. IMEA 2009. Hradec Králové: Univerzity Hradec Králové, 2009, p. 14-18. ISBN 978-80-7041-851-2.
  14. KRYŠTOF, J., 2009: Formal describtion of layout in graphical user interfaces. In: 11th International Conference MEKON 2009. 1. vyd. Ostrava: VŠB - TUO, Faculty of Economics, 2009, ISBN 978-80-248-2013-2.
  15. KRYŠTOF, J., 2009: Impact of the Model Driven Architecture on Competitiveness of Software Producers. In: ŽUFAN, P. Firm and competitive environment. 2009 - 5. část. Brno: MSD, s. r. o., 2009, p. 61-65. ISBN 978-80-7392-088-3.
  16. MCFARLANE, N., 2003: Rapid Application Development with Mozilla. Prentice Hall 2003, 800 pages, ISBN 978-0131423435.
  17. MYERS, B. A., ROSSON, M. B., 1992: Survey on user interface programming. In: Proceedings of SIGCHI'92, Monterey, California, 1992. Go to original source...
  18. Object Management Group: MOF 2.0/XMI Mapping Specification v2.1 [online], 2009 [cit. 2009-06-17]. Available at WWW
  19. Object Management Group: UML 2.0 OCL Specification. [online], 2003 [cit. 2009-06-17]. Available at WWW: < http://www.omg.org/docs/ptc/03-10-14.pdf.
  20. Object Management Group: UML 2.0 Superstructure. [online], 2005 [cit. 2009-06-17]. Available at WWW:
  21. PILONE, D., PITMAN, N., 2005: UML 2.0 in a Nutshell. CA, USA: O Reilly, 2005. ISBN 0-596-00795-7.
  22. PUERTA, A., 1996: The Mecano Project: Comprehensive and Integrated Support for Model-Based Interface Development. In: J. Vanderdonckt (ed.): Computer-Aided Design of User Interfaces. Namur: Namur University Press, 1996.
  23. RYDER, B. G., SOFFA, M., BURNETT, M., 2005: The impact of software engineering research on modern progamming languages, ACM Transactions on Software Engineering and Methodology (TOSEM), 2005. Go to original source...
  24. SCHAUERHUBER, A., WIMMER, M., KAPSAMMER, E., 2006: Bridging existing Web modeling languages to model-driven engineering: a metamodel for WebML, Workshop proceedings of the sixth international conference on Web engineering, 2006. Go to original source...
  25. SOLEY, R., 2000: Model Driven Architecture. [online], 2000 [cit. 2009-06-17]. Available at WWW: < http://www.catalysis.org/publications/papers/2001-mda-Overview-00-11-05.pdf>
  26. ZIADI T., TRAVERSON B., JEZEQUEL J., 2002: From a UML Platform Independent Component Model to Platform Specific Component Models, In: Proceedings of Workshop in Software Model Engineering, Fifth International Conference on the Unified Modeling Language, 2002.

This is an open access article distributed under the terms of the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License (CC BY NC ND 4.0), which permits non-comercial use, distribution, and reproduction in any medium, provided the original publication is properly cited. No use, distribution or reproduction is permitted which does not comply with these terms.