American Journal of Software Engineering and Applications
Volume 6, Issue 1, February 2017, Pages: 5-12
Received: Oct. 29, 2016;
Accepted: Nov. 25, 2016;
Published: Feb. 24, 2017
Views 4655 Downloads 220
Abdessamad Belangour, Department of Mathematics and Computer Science, Faculty of Sciences Ben M’Sik, Casablanca, Morocco
Said Sadik, Department of Mathematics and Computer Science, Faculty of Sciences Ben M’Sik, Casablanca, Morocco
Amina Abbar, Department of Mathematics and Computer Science, Faculty of Sciences Ben M’Sik, Casablanca, Morocco
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.
Towards a Platform Independent Graphical User Interface, American Journal of Software Engineering and Applications.
Vol. 6, No. 1,
2017, pp. 5-12.
Copyright © 2017 Authors retain the copyright of this article.
This article is an open access article distributed under the Creative Commons Attribution License (http://creativecommons.org/licenses/by/4.0/
) which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
Object Management Group: the MDA Guide Version 1.0.1, document OMG/2003-06-01, (2003).
Jan Oyvind Aagedal, Jean Bézivin., Peter F. Linington: “Model-Driven Development”, ECOOP 2004 Workshop, Oslo, Norway, (2004).
Oracle Help Center: Java Platform Standard Edition 7 Documentation, Java AWT.
Oracle Help Center: Java Platform Standard Edition 7 Documentation, javax. Swing.
Microsoft: MSDN, Windows Forms Overview.
ATLAS group, LINA & INRIA: ATL: Atlas Transformation Language, User Manual, Nantes, January 2005, (2005).
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).
Herbert Schildt: Java the complete reference 9th edition, comprehensive coverage of the Java language, (2014).
Wiley Publishing, Inc. David S. Frankel: Model Driven Architecture, Applying MDA to Enterprise Computing, (2008).
Daniel Liang, Introduction to Java programming, 6th edition, (2007).
Stephen Brodsky, Object Interchange with XMI, June 2000, (2000).
Bill Sempf, Chuck Sphar, Stephen Randy Davis: C# 5.0 ALL-IN-ONE FOR Dummies, (2013).
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).
Chet Haase, Romain Guy: Filthy Rich Clients, Developing Animated and Graphical Effects for Desktop Java™ Applications, (2007).
Cephas Consulting Corp: The fast Guide to Model Driven Architecture, The Basics of Model Driven Architecture (MDA), January 2006 (2006).
Alex Martelli, Anna Matelli Revenscroft, David Ascher: Python Cookbook, 2end edition, March 2005 (2005).
Mark Lutz, Python Pocket Reference, 4th Edition: Python in Your Pocket, (2009).
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).