The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.09 - Sept. (2013 vol.39)
pp: 1190-1207
Dragan Milicev , University of Belgrade, Belgrade
Zarko Mijailovic , SOL Software, Belgrade
ABSTRACT
We present a novel approach to modeling and implementing user interfaces (UI) of large business applications. The approach is based on the concept of capsule, a profiled structured class from UML which models a simple UI component or a coherent UI fragment of logically and functionally coupled components or other fragments with a clear interface. Consequently, the same modeling concept of capsule with internal structure can be reapplied recursively at successively lower levels of detail within a model, starting from high architectural modeling levels down to the lowest levels of modeling simple UI components. The interface of capsules is defined in terms of pins, while the functional coupling of capsules is specified declaratively by simply wiring their pins. Pins and wires transport messages between capsules, ensuring strict encapsulation. The approach includes a method for formal coupling of capsules' behavior with the underlying object space that provides proper impedance matching between the UI and the business logic while preserving clear separation of concerns between them. We also briefly describe an implementation of a framework that supports the proposed method, including a rich library of ready-to-use capsules, and report on our experience in applying the approach in large-scale industrial systems.
INDEX TERMS
Unified modeling language, Business, Couplings, Complexity theory, Object oriented modeling, Buildings, User interfaces, information systems, Graphical user interface (GUI), Unified Modeling Language (UML), modeling, model-driven development, software architecture, business applications, data-centric applications
CITATION
Dragan Milicev, Zarko Mijailovic, "Capsule-Based User Interface Modeling for Large-Scale Applications", IEEE Transactions on Software Engineering, vol.39, no. 9, pp. 1190-1207, Sept. 2013, doi:10.1109/TSE.2013.8
REFERENCES
[1] M. Baron and P. Girard, "SUIDT: A Task Model Based GUI-Builder," Proc. First Int'l Workshop Task Models and Diagrams for User Interface Design, pp. 64-71, July 2002.
[2] F. Bodart, A.M. Hennebert, J.M. Leheureux, and J. Vanderdonckt, "A Model-Based Approach to Presentation: A Continuum from Task Analysis to Prototype," Proc. Eurographics Workshop Design, Specification, Verification of Interactive Systems, pp. 77-94, June 1994.
[3] F. Bodart, A.M. Hennebert, J.M. Leheureux, I. Sacré, and J. Vanderdonckt, "Architecture Elements for Highly-Interactive Business-Oriented Applications," Proc. Third Int'l Conf. Human-Computer Interaction, pp. 83-104, 1993.
[4] M. Brambilla, S. Comai, P. Fraternali, and M. Matera, "Designing Web Applications with WebML and WebRatio," Web Eng.: Modelling and Implementing Web Applications, G. Rossi, O. Pastor, D. Schwabe, and L. Olsina, eds., Springer, Oct. 2007.
[5] A.M.R. Da Cruz and J.P. Faria, A Metamodel-Based Approach for Automatic User Interface Generation," Proc. 13th ACM/IEEE Int'l Conf. Model-Driven Eng. Languages and Systems, pp. 256-270, Oct. 2010.
[6] P.P. DaSilva, "User Interface Declarative Models and Development Environments: A Survey," Proc. Seventh Int'l Conf. Design, Specification, and Verification of Interactive Systems, June 2000.
[7] P.P. Da Silva and N.W. Paton, "User Interface Modeling in UMLi," IEEE Software, vol. 20, no. 4, pp. 62-69, July/Aug. 2003.
[8] J.E. Freund, Mathematical Statistics with Applications, seventh ed., pp. 524-529. Prentice-Hall, 2004.
[9] E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Design Patterns. Addison-Wesley Longman, 1995.
[10] S. Goderis, "On the Separation of User Interface Concerns," PhD thesis, Vrije Universiteit Brussels, 2008.
[11] D. Groenewegen, Z. Hemel, and E. Visser, "Separation of Concerns and Linguistic Integration in WebDSL," IEEE Software, vol. 27, no. 5, pp. 31-37, Sept./Oct. 2010.
[12] X. Jia, A. Steele, L. Qin, H. Liu, and C. Jones, "Executable Visual Software Modeling—The ZOOM Approach," Software Quality J., vol. 15, no. 1, pp. 27-51, 2007.
[13] P. Johnson, S. Wilson, P. Markopoulos, and J. Pycock, "ADEPT— Advanced Design Environment for Prototyping with Task Models," Proc. Conf. Human Factors in Computing Systems, 1993.
[14] S. Kovacevic, "UML and User Interface Modeling," Proc. First Int'l Workshop The Unified Modeling Language, pp. 253-266, 1998.
[15] J.A. Landay and B.A. Myers, "Sketching Interfaces: Toward More Human Interface Design," Computer, vol. 34, no. 3, pp. 56-64, Mar. 2001.
[16] N. Li, H. Li, J. Wu, X. Zhong, Z. Sun, and W. Bao, "AUTOSAR Based Automatic GUI Generation," Proc. 13th IEEE Int'l Symp. Object/Component/Service-Oriented Real-Time Distributed Computing, pp. 156-162, May 2010.
[17] D. Milićev, "Automatic Model Transformations Using Extended UML Object Diagrams in Modeling Environments," IEEE Trans. Software Eng., vol. 28, no. 4, pp. 413-431, Apr. 2002.
[18] D. Milićev, Model-Driven Development with Executable UML. John Wiley & Sons (WROX), 2009.
[19] D. Milićev, "Towards Understanding of Classes versus Data Types in Conceptual Modeling and UML," Computer Science and Information Systems, vol. 9, no. 2, pp. 506-538, June 2012.
[20] D. Milićev and Z. Mijailovic, "A UML Profile for Modeling User Interfaces of Business Applications," technical report, http://www.rcub.bg.ac.rs/~dmilicevpubsmdd.htm , June 2012.
[21] P.J. Molina, S. Meliá, and O. Pastor, "Just-UI: A User Interface Specification Model," Proc. Fourth Int'l Conf. Computer-Aided Design of User Interfaces, pp. 63-74, 2002.
[22] M. Monteiro, P. Oliveira, and R. Gonçalves, "GUI Generation Based on Language Extensions: A Model to Generate GUI, Based on Source Code with Custom Attributes," Proc. 14th Int'l Conf. Enterprise Information System, June 2008.
[23] B.A. Myers, S.E. Hudson, and R. Pausch, "Past, Present and Future of User Interface Software Tools," ACM Trans. Computer-Human Interaction, vol. 7, no. 1, pp. 3-28, Mar. 2000.
[24] J. Nichols and A. Faulring, "Automatic Interface Generation and Future User Interface Tools," Proc. ACM SIGCHI Workshop the Future of User Interface Design Tools, 2005.
[25] N.J. Nunes and J.F.E. Cunha, "Wisdom—A UML Based Architecture for Interactive Systems," Proc. Seventh Int'l Conf. Design, Specification, and Verification of Interactive Systems, pp. 191-205, 2000.
[26] "Object Management Group," UML 2.2 Superstructure Specification, http:/www.omg.org, Feb. 2009.
[27] F. Patternò, V. Sabbatino, and C. Santoro, "Using Information in Task Models to Support Design of Interactive Safety-Critical Applications," Proc. ACM Working Conf. Advanced Visual Interfaces, May 2000.
[28] R. Pawson, "NakedObjects," PhD thesis, Trinity College, Dublin, Ireland, 2004.
[29] B. Perišić, G. Milosavljević, I. Dejanović, and B. Milosavljević, "UML Profile for Specifying User Interfaces of Business Applications," Computer Science and Information Systems, vol. 8, no. 2, pp. 405-426, May 2011.
[30] A. Pitkänen and S. Hickey, "Implementation of Model-Based User Interfaces for Pictorial Communication Systems Using UsiXML and Flex," Proc. First Int'l Workshop USer Interface eXtensible Markup Language, pp. 65-74, 2010.
[31] Qt Nokia, http:/qt.nokia.com/, 2013.
[32] "OutSystems Agile Platform," http:/www.outsystems.com/, 2013.
[33] B. Selic, "The Pragmatics of Model-Driven Development," IEEE Software, vol. 20, no. 5, pp. 19-25, Sept./Oct. 2003.
[34] B. Selic, G. Gullekson, and P.T. Ward, Real-Time Object-Oriented Modeling. John Wiley and Sons, 1994.
[35] S. Trujillo, D. Batory, and O. Diaz, "Feature Oriented Model Driven Development: A Case Study for Portlets," Proc. 29th Int'l Conf. Software Eng., pp. 44-53, 2007.
[36] S. Wilson and P. Johnson, "Empowering Users in a Task-Based Approach to Design," Proc. First Conf. Designing Interactive Systems: Processes, Practices, and Techniques, pp. 25-31, 1995.
[37] S. Wilson, P. Johnson, C. Kelly, J. Cunningham, and P. Markopoulos, "Beyond Hacking: A Model Based Approach to User Interface Design," Proc. Human-Computer Interface Conf., p. 217, 1993.
[38] J. Wong and J.I. Hong, "Making Mashups with Marmite: Towards End-User Programming for the Web," Proc. SIGCHI Conf. Human Factors in Computing Systems, pp. 1435-1444, 2007.
[39] E. Woods, D. Emery, and B. Selic, "Point/Counterpoint," IEEE Software, vol. 27, no. 6, pp. 54-57, Nov./Dec. 2010.
[40] Q. Xie, M. Grechanik, and C. Fu, "Guide: A GUI Differentiator," Proc. Int'l Conf. Software Maintenance, pp. 395-396, 2009.
[41] X. Yuan and A. Memon, "Alternating GUI Test Generation and Execution," Proc. Testing: Academic and Industrial Conf., pp. 23-32, 2008.
[42] G. Zhang and M. Hölzl, "Aspect-Oriented Modeling of Web Applications with HiLA," Proc. Seventh Int'l Conf. Advances in Mobile Computing and Multimedia, pp. 1-12, 2009.
[43] G. Zhang, "Aspect-Oriented UI Modeling with State Machines," Proc. Fifth Int'l Workshop Model-Driven Development of Advanced User Interfaces, pp. 45-48, 2010.
16 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool