Abstract
Modern applications aim to provide attractive, efficient and adaptive user interfaces (UIs). The UI code developed in conventional design approaches brings numerous of difficulties exacerbating the development and maintenance efforts resulting in limited separation of concerns. The limitation comes from multiple cross-cuts of tangled concerns, e.g. data representation tangled with layout, security, business rules, localization, etc. This results in high information restatement, code duplication, and tedious maintenance. This paper introduces an approach that separates UI concerns bringing a single focal point for particular concern definitions improving readability and maintenance. The approach performs concern tangling at runtime through a weaver considering the contextual information influencing the result. This enables UI context-awareness, while significantly reduces the development and maintenance efforts. Furthermore, we apply this approach into a distributed environment, which allows us to construct the same UI on various platforms and devices involving a single concerns description streamed from the server.
Similar content being viewed by others
Notes
By business rules we understand all preconditions and post-conditions of processes and their operations identified in the business domain as well as all model constraints [7].
We perceive both data validation and security as subsets of business rules.
Source Lines Of Code
References
Bernard, E., Peterson, S.: Jsr 303: Bean Validation. Bean Validation Expert Group, March (2009)
Browne, P.: JBoss Drools Business Rules. Packt Publishing Ltd, Birmingham (2009)
Bures, M.: Framework for assessment of web application automated testability. In: Proceedings of the 2015 Conference on research in adaptive and convergent systems, pp. 512–514. ACM, New York (2015)
Bures, M.: Model for evaluation and cost estimations of the automated testing architecture. In: New Contributions in Information Systems and Technologies, pp. 781–787. Springer, Heidelberg (2015)
Cemus, K.: Context-aware input validation in information systems. In: POSTER 2016—20th International Student Conference on Electrical Engineering (2016)
Cemus, K., Cerny, T.: Aspect-driven design of information systems. In: SOFSEM 2014: Theory and Practice of Computer Science, LNCS 8327, pp. 174–186. Springer International Publishing Switzerland (2014)
Cemus, K., Cerny, T., Donahoo, M.J.: Automated business rules transformation into a persistence layer. Proc. Comput. Sci. 62, 312–318 (2015)
Cemus, K., Cerny, T., Donahoo, M.J.: Evaluation of approaches to business rules maintenance in enterprise information systems. In: Proceedings of the 2015 Conference on Research in Adaptive and Convergent Systems, pp. 324–329. ACM (2015)
Cerny, T., Cemus, K., Donahoo, M.J., Song, E.: Aspect-driven, data-reflective and context-aware user interfaces design. ACM SIGAPP Appl. Comput. Rev. 13(4), 53–66 (2013)
Cerny, T., Donahoo, M.J.: How to reduce costs of business logic maintenance. In: 2011 IEEE International Conference on Computer Science and Automation Engineering (CSAE), Vol. 1, pp. 77–82. IEEE, Piscataway (2011)
Cerny, T., Donahoo, M.J.: On separation of platform-independent particles in user interfaces. Clust. Comput. 18(3), 1215–1228 (2015)
Cerny, T., Donahoo, M.J.: On energy impact of web user interface approaches. Clust. Comput. 19(4), 1853–1863 (2016)
Cerny, T., Donahoo, M.J., Song, E.: Towards effective adaptive user interfaces design. In: Proceedings of the 2013 Research in Applied Computation Symposium (RACS 2013) (2013)
Cerny, T., Macik, M., Donahoo, M.J., Janousek, J.: On distributed concern delivery in user interface design. Comput. Sci. Inf. Syst. 12(2), 655–681 (2015)
Cerny, T., Matl, L., Cemus, K., Donahoo, M.J.: Evaluation of separated concerns in web-based delivery of user interfaces. In: Information Science and Applications, pp. 933–940. Springer, Berlin (2015)
Chinnici, R., Shannon, B.: JSR 316: Java\(^{\rm TM}\) Platform, Enterprise Edition (Java EE) Specification, v6 (2009)
Choi, Y.K., Yang, J.S., Jeong, J.: Application framework for multi platform mobile application software development. In: 11th International Conference On Advanced Communication Technology, 2009. ICACT 2009, Vol. 1, pp. 208–213. IEEE, Piscataway (2009)
Czarnecki, K., Eisenecker, U.W.: Generative programming. Edited by Goos, G., Hartmanis, J., van Leeuwen, J., p. 15 (2000)
Fowler, M.: Refactoring: Improving the Design of Existing Code. Pearson Education, New Delhi (2002)
Fowler, M.: Domain-Specific Languages. Pearson Education, New Delhi (2010)
Kennard, R., Edmonds, E., Leaney, J.: Separation anxiety: stresses of developing a modern day separable user interface. In: 2009 HSI’09 2nd Conference on Human System Interactions, pp. 228–235. IEEE, Piscataway (2009)
Kennard, R., Steele, R.: Application of software mining to automatic user interface generation (2008)
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.M., Irwin, J.: Aspect-Oriented Programming. Springer, Berlin (1997)
Kleppe, A.G., Warmer, J.B., Bast, W.: MDA Explained, the Model Driven Architecture: Practice and Promise. Addison-Wesley Professional, Boston (2003)
Mernik, M., Heering, J., Sloane, A.M.: When and how to develop domain-specific languages. ACM Comput. Surv. (CSUR) 37(4), 316–344 (2005)
Morin, B., Barais, O., Jezequel, J.M., Fleurey, F., Solberg, A.: Models at runtime to support dynamic adaptation. Computer 42(10), 44–51 (2009)
Vanderdonckt, J.: A mda-compliant environment for developing user interfaces of information systems. In: Advanced Information Systems Engineering, pp. 16–31. Springer, Heidelberg (2005)
Acknowledgements
This research was supported by the Grant Agency of the Czech Technical University in Prague, Grant No. SGS14/198/OHK3/3T/13.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Cemus, K., Klimes, F., Kratochvil, O. et al. Separation of concerns for distributed cross-platform context-aware user interfaces. Cluster Comput 20, 2355–2362 (2017). https://doi.org/10.1007/s10586-017-0794-7
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10586-017-0794-7