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 |
Model Driven Architecture, Model Driven Engineering, Graphical User Interface, Metamodel, Generic, Platform Independent
[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). |
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
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
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
@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} }
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 -