| Peer-Reviewed

Towards a Platform Independent Graphical User Interface

Received: 29 October 2016     Accepted: 25 November 2016     Published: 24 February 2017
Views:       Downloads:
Abstract

In classical software development processes, graphical user interfaces cannot be reused across development platforms. In addition, in MDA-based processes, they are integrated only after making the transformation of the PIM to the PSM since they belong to the target platform and hence have the same problem. They are considered part of the PSM, which deprives us from reusing them as we do for the business logic. In this paper, we aim at proposing a common platform independent graphical user interface library that represents the presentation logic in terms of inputs and outputs. This is achievable through proposing a generic metamodel for basic GUI controls that focus on getting and presenting data rather than those of ergonomic purposes. This metamodel will enable us to build generic graphical interfaces that can be transformed to any of the market libraries such as AWT, SWING, WinForms, Tkinter. That is why we built metamodels for those libraries and defined mappings between the generic metamodel and those libraries metamodels. Finally, the generic GUI library is used to make PIM-GUIs that are kept with business-PIMs and that can together be reused in a way that is independent from any development platform. Final mappings transforms these PIM-GUIs into platform bound GUIs or PSM-GUIs such those we mentioned earlier or any future graphical library.

Published in American Journal of Software Engineering and Applications (Volume 6, Issue 1)
DOI 10.11648/j.ajsea.20170601.12
Page(s) 5-12
Creative Commons

This is an Open Access article, distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution and reproduction in any medium or format, provided the original work is properly cited.

Copyright

Copyright © The Author(s), 2017. Published by Science Publishing Group

Keywords

Model Driven Architecture, Model Driven Engineering, Graphical User Interface, Metamodel, Generic, Platform Independent

References
[1] Object Management Group: the MDA Guide Version 1.0.1, document OMG/2003-06-01, (2003).
[2] Jan Oyvind Aagedal, Jean Bézivin., Peter F. Linington: “Model-Driven Development”, ECOOP 2004 Workshop, Oslo, Norway, (2004).
[3] Oracle Help Center: Java Platform Standard Edition 7 Documentation, Java AWT.
[4] Oracle Help Center: Java Platform Standard Edition 7 Documentation, javax. Swing.
[5] Microsoft: MSDN, Windows Forms Overview.
[6] ATLAS group, LINA & INRIA: ATL: Atlas Transformation Language, User Manual, Nantes, January 2005, (2005).
[7] Frédéric Jouault, Ivan Kurtev: Transforming Models with ATL, Nantes. MoDELS 2005 International Workshops Doctoral Symposium, Educators Symposium Montego Bay, Jamaica, October 2-7, 2005 Revised Selected Papers. pp 128-138, (2006).
[8] Herbert Schildt: Java the complete reference 9th edition, comprehensive coverage of the Java language, (2014).
[9] Wiley Publishing, Inc. David S. Frankel: Model Driven Architecture, Applying MDA to Enterprise Computing, (2008).
[10] Daniel Liang, Introduction to Java programming, 6th edition, (2007).
[11] Stephen Brodsky, Object Interchange with XMI, June 2000, (2000).
[12] Bill Sempf, Chuck Sphar, Stephen Randy Davis: C# 5.0 ALL-IN-ONE FOR Dummies, (2013).
[13] Bill Moore, David Dean, Anna Gerber, Gunnar Wagenknecht, Philippe Vanderheyden: Eclipse Development using the Graphical Editing Framework and the Eclipse Modeling Framework, February 2004, (2004).
[14] Chet Haase, Romain Guy: Filthy Rich Clients, Developing Animated and Graphical Effects for Desktop Java™ Applications, (2007).
[15] Cephas Consulting Corp: The fast Guide to Model Driven Architecture, The Basics of Model Driven Architecture (MDA), January 2006 (2006).
[16] Alex Martelli, Anna Matelli Revenscroft, David Ascher: Python Cookbook, 2end edition, March 2005 (2005).
[17] Mark Lutz, Python Pocket Reference, 4th Edition: Python in Your Pocket, (2009).
[18] Bhaskar Chaudhary, Tkinter GUI Application Development Blueprints: Master GUI programming in Tkinter as you design, implement, and deliver ten real-world applications from start to finish (2015).
Cite This Article
  • APA Style

    Abdessamad Belangour, Said Sadik, Amina Abbar. (2017). Towards a Platform Independent Graphical User Interface. American Journal of Software Engineering and Applications, 6(1), 5-12. https://doi.org/10.11648/j.ajsea.20170601.12

    Copy | Download

    ACS Style

    Abdessamad Belangour; Said Sadik; Amina Abbar. Towards a Platform Independent Graphical User Interface. Am. J. Softw. Eng. Appl. 2017, 6(1), 5-12. doi: 10.11648/j.ajsea.20170601.12

    Copy | Download

    AMA Style

    Abdessamad Belangour, Said Sadik, Amina Abbar. Towards a Platform Independent Graphical User Interface. Am J Softw Eng Appl. 2017;6(1):5-12. doi: 10.11648/j.ajsea.20170601.12

    Copy | Download

  • @article{10.11648/j.ajsea.20170601.12,
      author = {Abdessamad Belangour and Said Sadik and Amina Abbar},
      title = {Towards a Platform Independent Graphical User Interface},
      journal = {American Journal of Software Engineering and Applications},
      volume = {6},
      number = {1},
      pages = {5-12},
      doi = {10.11648/j.ajsea.20170601.12},
      url = {https://doi.org/10.11648/j.ajsea.20170601.12},
      eprint = {https://article.sciencepublishinggroup.com/pdf/10.11648.j.ajsea.20170601.12},
      abstract = {In classical software development processes, graphical user interfaces cannot be reused across development platforms. In addition, in MDA-based processes, they are integrated only after making the transformation of the PIM to the PSM since they belong to the target platform and hence have the same problem. They are considered part of the PSM, which deprives us from reusing them as we do for the business logic. In this paper, we aim at proposing a common platform independent graphical user interface library that represents the presentation logic in terms of inputs and outputs. This is achievable through proposing a generic metamodel for basic GUI controls that focus on getting and presenting data rather than those of ergonomic purposes. This metamodel will enable us to build generic graphical interfaces that can be transformed to any of the market libraries such as AWT, SWING, WinForms, Tkinter. That is why we built metamodels for those libraries and defined mappings between the generic metamodel and those libraries metamodels. Finally, the generic GUI library is used to make PIM-GUIs that are kept with business-PIMs and that can together be reused in a way that is independent from any development platform. Final mappings transforms these PIM-GUIs into platform bound GUIs or PSM-GUIs such those we mentioned earlier or any future graphical library.},
     year = {2017}
    }
    

    Copy | Download

  • TY  - JOUR
    T1  - Towards a Platform Independent Graphical User Interface
    AU  - Abdessamad Belangour
    AU  - Said Sadik
    AU  - Amina Abbar
    Y1  - 2017/02/24
    PY  - 2017
    N1  - https://doi.org/10.11648/j.ajsea.20170601.12
    DO  - 10.11648/j.ajsea.20170601.12
    T2  - American Journal of Software Engineering and Applications
    JF  - American Journal of Software Engineering and Applications
    JO  - American Journal of Software Engineering and Applications
    SP  - 5
    EP  - 12
    PB  - Science Publishing Group
    SN  - 2327-249X
    UR  - https://doi.org/10.11648/j.ajsea.20170601.12
    AB  - In classical software development processes, graphical user interfaces cannot be reused across development platforms. In addition, in MDA-based processes, they are integrated only after making the transformation of the PIM to the PSM since they belong to the target platform and hence have the same problem. They are considered part of the PSM, which deprives us from reusing them as we do for the business logic. In this paper, we aim at proposing a common platform independent graphical user interface library that represents the presentation logic in terms of inputs and outputs. This is achievable through proposing a generic metamodel for basic GUI controls that focus on getting and presenting data rather than those of ergonomic purposes. This metamodel will enable us to build generic graphical interfaces that can be transformed to any of the market libraries such as AWT, SWING, WinForms, Tkinter. That is why we built metamodels for those libraries and defined mappings between the generic metamodel and those libraries metamodels. Finally, the generic GUI library is used to make PIM-GUIs that are kept with business-PIMs and that can together be reused in a way that is independent from any development platform. Final mappings transforms these PIM-GUIs into platform bound GUIs or PSM-GUIs such those we mentioned earlier or any future graphical library.
    VL  - 6
    IS  - 1
    ER  - 

    Copy | Download

Author Information
  • Department of Mathematics and Computer Science, Faculty of Sciences Ben M’Sik, Casablanca, Morocco

  • Department of Mathematics and Computer Science, Faculty of Sciences Ben M’Sik, Casablanca, Morocco

  • Department of Mathematics and Computer Science, Faculty of Sciences Ben M’Sik, Casablanca, Morocco

  • Sections