Cluster Computing

, Volume 18, Issue 3, pp 1215–1228 | Cite as

On separation of platform-independent particles in user interfaces

Survey on separation of concerns in user interface design
  • Tomas Cerny
  • Michael J. Donahoo


The complexity of user interface (UI) design grows quickly with the number of application concerns. Such complexity compounds with additional requirement of contextual-awareness (i.e., adapt to user location, skill level, etc.) and support of heterogeneous devices and platforms (e.g., web, mobile app). Implementation support of such a wide-range of orthogonal concerns often results in restatement of a significant portion of the UI description using platform-specific components. Replication requires repeated implementation decision, greatly increasing development costs since each version/context variant may need separate development. Naturally, such replication also produces error prone maintenance because code updates must correlate among all replicas. Using separation of concerns, the application can be decomposed into fine-grain fragments, which we call particles, some of which are platform independent and others are not. Using this decomposition, this paper addresses the above inefficiency by dynamically composing particles at runtime that match user demands, context, and target platform.


Separation of concerns User interface Platform-independence Aspect-oriented programming Networking 



This work was supported by the Grant Agency of the Czech Technical University in Prague, Grant No. SGS14/198/OHK3/3T/13.


  1. 1.
    Ali, M., Prez-Quiones, M., Abrams, M., Shell, E.: Building multi-platform user interfaces with UIML. In: Kolski, C., Vanderdonckt, J. (eds.) Computer-Aided Design of User Interfaces III, pp. 255–266. Springer, Netherlands (2002)CrossRefGoogle Scholar
  2. 2.
    Bernard, E.: JSR 303: Bean validation (2009).
  3. 3.
    Blumendorf, M., Lehmann, G., Albayrak, S.: Bridging models and systems at runtime to build adaptive user interfaces. In: Proceedings of the 2nd ACM SIGCHI Symposium on Engineering Interactive Computing Systems, EICS’10, pp. 9–18. ACM, New York, NY (2010)Google Scholar
  4. 4.
    Burns, E., Griffin, N.: JavaServer Faces 2.0, The Complete Reference, 1st edn. McGraw-Hill Inc., New York (2010)Google Scholar
  5. 5.
    Calvary, G., Coutaz, J., Thevenin, D., Limbourg, Q., Bouillon, L., Vanderdonckt, J.: A unifying reference framework for multi-target user interfaces. Interact. Comput. 15(3), 289–308 (2003)CrossRefGoogle Scholar
  6. 6.
    Cerny, T., Cemus, K., Donahoo, M.J., Song, E.: Aspect-driven, data-reflective and context-aware user interfaces design. SIGAPP Appl. Comput. Rev. 13(4), 53–65 (2013)CrossRefGoogle Scholar
  7. 7.
    Cerny, T., Donahoo, M.J.: Separating out platform-independent particles of user interfaces. Information Science and Applications, pp. 941–948. Springer, Berlin (2015)Google Scholar
  8. 8.
    Cerny, T., Macik, M., Donahoo, M.J., Janousek, J.: Efficient description and cache performance in aspect-oriented user interface design. In: Federated Conference on Computer Science and Information Systems (2014)Google Scholar
  9. 9.
    Cerny, T., Matl, L., Cemus, K., Donahoo, M.J.: Evaluation of separated concerns in web-based delivery of user interfaces. Information Science and Applications, pp. 933–940. Springer, Berlin (2015)Google Scholar
  10. 10.
    Cerny, T., Song, E.: Model-driven rich form generation. Inf. Int. Interdiscip. J. 15(7, SI), 2695–2714 (2012)Google Scholar
  11. 11.
    Czarnecki, K., Eisenecker, U.W.: Components and generative programming (invited paper). SIGSOFT Softw. Eng. Notes 24(6), 2–19 (1999)Google Scholar
  12. 12.
    DeMichiel, L.: JSR 317: JavaTM persistence API, version 2.0 (2009).
  13. 13.
    DeMichiel, L., Keith, M.: JSR 220: Enterprise javabeans version 3.0. java persistence API (2006).
  14. 14.
    Fowler, M.: Patterns of Enterprise Application Architecture. Addison-Wesley Longman Publishing Co., Inc., Boston (2002)Google Scholar
  15. 15.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Longman Publishing Co., Inc., Boston (1995)Google Scholar
  16. 16.
    Green, B., Seshadri, S.: AngularJS, 1st edn. O’Reilly Media, Inc., Sebastopol (2013)Google Scholar
  17. 17.
    Hanson, R., Tacy, A.: GWT in Action: Easy Ajax with the Google Web Toolkit. Manning Publications Co., Greenwich (2007)Google Scholar
  18. 18.
    Kennard, R., Edmonds, E., Leaney, J.: Separation anxiety: stresses of developing a modern day separable user interface. In: Proceedings of the 2nd Conference on Human System Interactions pp. 225–232 (2009)Google Scholar
  19. 19.
    Kiczales, G., Irwin, J., Lamping, J., Loingtier, J.M., Lopes, C.V., Maeda, C., Mendhekar, A.: Aspect-oriented programming. In: IECOOP’97-Object-Oriented Programming, 11th European Conference, vol. 1241, pp. 220–242 (1997)Google Scholar
  20. 20.
    Kleppe, A.G., Warmer, J., Bast, W.: MDA Explained: The Model Driven Architecture: Practice and Promise. Addison-Wesley Longman Publishing Co., Inc., Boston (2003)Google Scholar
  21. 21.
    Laddad, R.: AspectJ in Action: Enterprise AOP with Spring Applications, 2nd edn. Manning Publications Co., Greenwich (2009)Google Scholar
  22. 22.
    Larman, C.: Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process, 2nd edn. Prentice Hall PTR, Upper Saddle River (2001)Google Scholar
  23. 23.
    López-Jaquero, V., Montero, F., Real, F.: Designing user interface adaptation rules with t: Xml. In: Proceedings of the 14th international conference on Intelligent user interfaces, IUI’09, pp. 383–388. ACM, New York (2009)Google Scholar
  24. 24.
    Macik, M., Cerny, T., Slavik, P.: Context-sensitive, cross-platform user interface generation. J. Multimodal User Interfaces 8(2), 217–229 (2014)CrossRefGoogle Scholar
  25. 25.
    Mori, G., Paterno, F., Santoro, C.: Design and development of multidevice user interfaces through multiple logical descriptions. IEEE Trans. Softw. Eng. 30(8), 507–520 (2004)CrossRefGoogle Scholar
  26. 26.
    Morin, B., Barais, O., Jezequel, J.M., Fleurey, F., Solberg, A.: Models@ run.time to support dynamic adaptation. Computer 42(10), 44–51 (2009)CrossRefGoogle Scholar
  27. 27.
    Schattkowsky, T., Lohmann, M.: Uml model mappings for platform independent user interface design. In: Bruel, J.M. (ed.) Satellite Events at the MoDELS 2005 Conference, Lecture Notes in Computer Science, vol. 3844, pp. 201–209. Springer, Berlin (2006)Google Scholar
  28. 28.
    Schlee, M., Vanderdonckt, J.: Generative programming of graphical user interfaces. In: Proceedings of the Working Conference on Advanced Visual Interfaces, AVI’04, pp. 403–406. ACM, New York (2004)Google Scholar
  29. 29.
    Sottet, J.S., Calvary, G., Coutaz, J., Favre, J.M.: A model-driven engineering approach for the usability of plastic user interfaces. Engineering Interactive Systems, pp. 140–157. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  30. 30.
    Sottet, J.S., Calvary, G., Favre, J.M.: Models at runtime for sustaining user interface plasticity. In: Models@ run.time workshop (in conjunction with MoDELS/UML 2006 conference) (2006)Google Scholar
  31. 31.
    Störzer, M., Hanenberg, S.: A classification of pointcut language constructs. In: Software-Engineering Properties of Languages and Aspect Technologies (2005). Held in Conjunction with AOSD’05Google Scholar
  32. 32.
    Cerny, T., Macik, M., Donahoo, M. J., Janousek, J.: On distributed concern delivery in user interface design. Comput Sci Inform Syst 12(2), 655–681(2015)Google Scholar

Copyright information

© Springer Science+Business Media New York 2015

Authors and Affiliations

  1. 1.Department of Computer Science, FEECzech Technical UniversityPrague 2Czech Republic
  2. 2.Department of Computer ScienceBaylor UniversityWacoUSA

Personalised recommendations