On distributed concern delivery in user interface design

Increasing demands on user interface (UI) usability, adaptability, and dynamic behavior drives ever-growing development and maintenance complexity. Traditional UI design techniques result in complex descriptions for data presentations with significant information restatement. In addition, multiple concerns in UI development leads to descriptions that exhibit concern tangling, which results in high fragment replication. Concern-separating approaches address these issues; however, they fail to maintain the separation of concerns for execution tasks like rendering or UI delivery to clients. During the rendering process at the server side, the separation collapses into entangled concerns that are provided to clients. Such client-side entanglement may seem inconsequential since the clients are simply displaying what is sent to them; however, such entanglement compromises client performance as it results in problems such as replication, fragment granularity ill-suited for effective caching, etc. This paper considers advantages brought by concern-separation from both perspectives. It proposes extension to the aspect-oriented UI design with distributed concern delivery (DCD) for client-server applications. Such an extension lessens the serverside involvement in UI assembly and reduces the fragment replication in provided UI descriptions. The server provides clients with individual UI concerns, and they become partially responsible for the UI assembly. This change increases client-side concern reuse and extends caching opportunities, reducing the volume of transmitted information between client and server to improve UI responsiveness and performance. The underlying aspect-oriented UI design automates the server-side derivation of concerns related to data presentations adapted to runtime context, security, conditions, etc. Evaluation of the approach is considered in a case study applying DCD to an existing, production web application. Our results demonstrate decreased volumes of UI descriptions assembled by the server-side and extended client-side caching abilities, reducing required data/fragment transmission, which improves UI responsiveness. Furthermore, we evaluate the potential benefits of DCD integration implications in selected UI frameworks.

[1]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[2]  Swen Bin Outline of initial design of the Structured Hypertext Transfer Protocol , 2008, Journal of Computer Science and Technology.

[3]  M. Stoerzer A Classification of Pointcut Language Constructs , 2005 .

[4]  Michael J. Donahoo,et al.  Towards a Smart, Self-scaling Cooperative Web Cache , 2012, SOFSEM.

[5]  Martin Fowler,et al.  Patterns of Enterprise Application Architecture , 2002 .

[6]  M Mernik,et al.  When and how to develop domain-specific languages , 2005, CSUR.

[7]  Mart Karu A Textual Domain Specific Language for User Interface Modelling , 2013 .

[8]  Arie van Deursen,et al.  Connecting Traces: Understanding Client-Server Interactions in Ajax Applications , 2010, 2010 IEEE 18th International Conference on Program Comprehension.

[9]  Krzysztof Czarnecki,et al.  Components and generative programming (invited paper) , 1999, ESEC/FSE-7.

[10]  Sophie Dupuy-Chessa,et al.  A Survey of Model Driven Engineering Tools for User Interface Design , 2007, TAMODIA.

[11]  Max Schlee,et al.  Generative Programming of graphical user interfaces , 2004, MBUI.

[12]  Ed Burns,et al.  JavaServer Faces 2.0, The Complete Reference , 2009 .

[13]  Clemente Izurieta,et al.  Comparison of JSON and XML Data Interchange Formats: A Case Study , 2009, CAINE.

[14]  Jean-Sébastien Sottet,et al.  Models at Run-time for Sustaining User Interface Plasticity , 2006 .

[15]  Adam Tacy,et al.  GWT in Action: Easy Ajax with the Google Web Toolkit , 2007 .

[16]  Somnath Ghosh,et al.  HTTP-MPLEX: An enhanced hypertext transfer protocol and its performance evaluation , 2009, J. Netw. Comput. Appl..

[17]  John Leaney,et al.  Towards a general purpose architecture for UI generation , 2010, J. Syst. Softw..

[18]  Michael J. Donahoo,et al.  Separating out Platform-independent Particles of User Interfaces , 2015 .

[19]  Branko Milosavljevic,et al.  UML Profile for Specifying User Interfaces of Business Applications , 2010, ADBIS.

[20]  Michael J. Donahoo,et al.  Aspect-driven, data-reflective and context-aware user interfaces design , 2013, SIAP.

[21]  Ramesh K. Sitaraman,et al.  The Akamai network: a platform for high-performance internet applications , 2010, OPSR.

[22]  Jean-Sébastien Sottet,et al.  A Model-Driven Engineering Approach for the Usability of Plastic User Interfaces , 2008, EHCI/DS-VIS.

[23]  Pavel Slavík,et al.  Context-sensitive, cross-platform user interface generation , 2013, Journal on Multimodal User Interfaces.

[24]  John Leaney,et al.  Separation anxiety: Stresses of developing a modern day separable User Interface , 2009, 2009 2nd Conference on Human System Interactions.

[25]  Ramnivas Laddad,et al.  AspectJ in Action: Enterprise AOP with Spring Applications , 2009 .

[26]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[27]  Michael J. Donahoo,et al.  Efficient description and cache performance in Aspect-Oriented user interface design , 2014, 2014 Federated Conference on Computer Science and Information Systems.

[28]  Ivan Lukovic,et al.  Model execution: An approach based on extending domain-specific modeling with action reports , 2013, Comput. Sci. Inf. Syst..

[29]  Brice Morin,et al.  Models@ Run.time to Support Dynamic Adaptation , 2009, Computer.

[30]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.