Non-Programmers Composing Software Services: A Confirmatory Study of the Mental Models and Design Challenges
Abstract
:Featured Application
Abstract
1. Introduction and Motivation
Key Contributions
2. Related Works
2.1. End-User Development
2.2. Web Service Composition and Mashups Development
2.3. Mental Models
2.4. The Research Gap
3. Tools and Methods
3.1. Sampling Technique
3.2. Participant Profile
3.3. SOA4all Service Composition Tools
Rationale behind the Design of the Composition Tools
3.4. Study Procedure and Tasks’ Description
3.4.1. Training Phase
3.4.2. Service Composition Phase
3.4.3. Subjective Evaluation Phase
- Completing a post-test questionnaire rating the overall service-development experience, overall usability, and satisfaction towards the relevant SOA4All tool. The questionnaire contained question items about the usability and preferences, such as “ease of use and ease of learning, etc.,” to which participants expressed their degree of agreement on a 5-point Likert rating scale, where 1 signified a strong disagreement and 5 signified a strong agreement with the sentence.
- Completing a de-briefing interview reporting on their impressions about the development experience and SOA4All tools and discussing design challenges and suggestions for future improvements.
3.5. Data Collection and Methods of Data Analysis
4. Results: Manual Service Composition
- Some help: in this case participants were given hints about, e.g., where some actions can be performed or where some visual notations can be found within the user interface.
- Substantial help: in this case, participants were given explanations about how certain tasks can be solved, e.g., which operator and parameters to choose for the condition, and the exact steps to be undertaken.
4.1. Performance during Manual Composition
4.2. Manual Composition Problems and Overall Perception
Conceptual problem one: Definition of a conditional branch. E.g., “Parameter is very confusing; I don’t understand it and it is too technical; it is beyond me,” P11, non-programmer. “I don’t know which operator to choose because I don’t understand the language,” P1, non-programmer. “Setting a condition is like programming; it is too technical and I am not happy about that,” P6, non-programmer. “I wasn’t sure how many parameters I had to select or where it should be placed,” P11, programmer. “Do I need to specify the condition for other route?” P1, programmer. “I do not see any changes to the main model once I have set the condition,” P12, programmer. |
Conceptual problem two: Technical nature of service composition and terminology. E.g., “These words like binding sound too technical … The vocabulary needs to be changed a bit; sometimes it is too technical,” P3, non-programmer. “All these things on the left hand side seem very complicated and technical; I don’t understand what they mean and it is intimidating,” P11, non-programmer. “It was a little technical and I would never be able to figure it out without training or assistance,” P12, non-programmer. “This is like programming and it is too technical,” P7, non-programmer. |
Conceptual problem three: Definition of a parallel branch, E.g., “I am trying to find where to create the parallel step,” P3, non-programmer. “So how do I define parallel processes and splits?” P6, programmer. |
Conceptual problem four: Specification and understanding of data flow connections. E.g., “I do not understand the difference between these input types,” P5, non-programmer. “… am not 100% sure which output to select,” P11, programmer. “The only misleading part is that you need to specify the output of the previous service and I did not know that,” P7, programmer. |
4.3. Perceived Satisfaction Towards Manual Service Composition
4.4. Summary
5. Results: Assisted Service Composition
5.1. Performance during Assisted Composition
5.2. Assisted-Composition Problems and Overall Perception
Conceptual problem one: Basic capabilities of the assisted-composition design approach. E.g., “I do not find the selection process intuitive; it should be a flow of processes, perhaps page by page,” P5, non-programmer. “A little difficult as some services were compatible and some not without explanation. Would like reasoning behind decisions,” P1, non-programmer. “I would prefer to see and input logic and see how things work rather than click and drag. The process is too simple and there is no opportunity to see why things are happening,” P11, programmer. |
Conceptual problem two: Terminology and technical jargon. E.g., “The language is too complicated; for example, press execute to deploy composition,” P11, non-programmer. “How to use guide is a little technical and complicated,” P6, non-programmer. |
Conceptual problem three: Differentiation between the services. E.g., “I do not understand the difference between services. In terms of service provider it is a little unclear,” P5, non-programmer. “Again, I have two services. I don’t know which one to go for,” P8, programmer. “What is this is BACS service, and what is the difference between these services,” P4, programmer. |
Conceptual problem four: Absence of runtime effects. E.g., “I cannot see the results. If this was real, I would just go online and find out and use it,” P1, non-programmer. “It was easy, but I wish I could see the end result, so I could understand what I have done,” P9, non-programmer. |
5.3. Perceived Satisfaction Towards Assisted Composition
5.4. Summary
6. Discussion and Practical Implications for Service Composition
- DR1: “Employ user language and familiar terminology and avoid technical and low-level language.” Non-programmers have a deficient syntactic knowledge, and using specialized terms aggravates the perceived complexity of service composition and lowers self-esteem. This guideline agrees with the previous recommendations [11,73].
- DR2: “Implement a robust and rich manipulation mechanism by which non-programmers can perform differing manual service composition tasks and operations directly on services.” For non-programmers who are unwilling to learn computational concepts and languages, using approaches such as “user interface service composition” [41,42], the “what you see is what you get” approach [5], or “composition at the presentation layer” [74] might be viable solutions to reducing the cognitive challenges and effort. Demonstrating composition approaches through a dedicated software tutor has also been shown to be an effective method [75].
- DR3: “Abstract composition activities that require analytical skills from technical details and employ more natural metaphors to achieve complex operations, such as conditional statements, dataflow, and parallel events.” Manual service composition tasks that require a strong understanding of service composition concepts and programming constructs (e.g., if-else statements and loops) are beyond the capabilities of non-programmers and impose high cognitive loads. An alternative strategy may be to use natural language [76,77] and programming by example [75] to express complex concepts. Trigger-action programming (e.g., IFTTT) is another approach that has demonstrated promising results, although further research is required [65,78,79]. Recently, the 5W model showed promising results for the expression of causes and effects (i.e., conditions) [74]. Programming constructs may also be visualized, and this has been showed to enhance a learner’s understandability [72].
- DR4: “Enable non-programmers to observe and inspect the behaviour of their compositions on the fly and introduce fault/bug localization features.” It is nearly impossible to create perfect compositions on the first attempt, as evident in the condition definition and dataflow specification tasks; therefore, service-development environments should host features to locate and fix bugs within the composition models. This guideline agrees with previous research [80]. This way, users can check the correctness of their requirements and composite service [81].
- DR5: “Provide composition walkthroughs and examples of varying complexity to raise self-efficacy and confidence of non-programmers progressively.” This design guideline enables a “gentle slope” of cognitive challenge and tailorability.
- DR1: “Use activity or goal-oriented templates to facilitate and support service composition tasks.” Non-programmers are capable of undertaking development tasks that make use of natural languages [73]. Activity-based templates identify the goal of composition and break this down into simple actions that achieve that goal (e.g. task analysis). This process supports the strategic knowledge of non-programmers who are naturally aware of domain concepts but not acquainted with the underlying programming and service composition concepts.
- DR2: “Use direct manipulation to enable non-programmers to directly use services and their constituents (e.g., input and outputs).” Direct manipulation or direct selection of services in our context offers cognitive benefits to non-programmers, for it lowers the need to learn abstract programming constructs and eliminates the need to write programming languages.
- DR3: “Provide two design views: a simple view, hiding complexities, and an advanced view for those willing to delve into and tweak the tool’s decision-making.” Some non-programmers were dissatisfied with the oversimplification and hiding of all aspects of composition. This guideline ensures flexibility and support for a wide range of users.
7. Limitations of the Study
8. Conclusions
Author Contributions
Funding
Conflicts of Interest
Appendix A
Extremely Poor (1) | Below Average (2) | Average (3) | Above Average (4) | Excellent (5) | |
My experience in software development using programming languages (e.g., Java, C++) is | 🔾 | 🔾 | 🔾 | 🔾 | 🔾 |
My experience in using software development environments (e.g., Eclipse, NetBeans, Microsoft Visual Studio) is | 🔾 | 🔾 | 🔾 | 🔾 | 🔾 |
My experience in software design using design notations (e.g., UML) is | 🔾 | 🔾 | 🔾 | 🔾 | 🔾 |
My experience in using semantic technologies (ontologies, annotations, reasoning) is | 🔾 | 🔾 | 🔾 | 🔾 | 🔾 |
My experience in Business Process Modelling (BPM) is | 🔾 | 🔾 | 🔾 | 🔾 | 🔾 |
My experience in web service composition is | 🔾 | 🔾 | 🔾 | 🔾 | 🔾 |
My experience in process life-cycle management (deployment, monitoring, launching) is | 🔾 | 🔾 | 🔾 | 🔾 | 🔾 |
- ○
- Not at All Interested (1)
- ○
- Not Very Interested (2)
- ○
- Neutral (3)
- ○
- Somewhat Interested (4)
- ○
- Very Interested (5)
- ○
- Very Unlikely (1)
- ○
- Somewhat Unlikely (2)
- ○
- Neutral (3)
- ○
- Somewhat Likely (4)
- ○
- Very Likely (5)
- 1.
- 2.
- 3.
- ○
- Male (1)
- ○
- Female (2)
- ○
- High school (1)
- ○
- Undergraduate (2)
- ○
- Masters (3)
- ○
- PhD (4)
- ○
- Diploma/Certificate (5)
- ○
- Other (6) ____________________
References
- Erl, T. SOA Principles of Service Design; Prentice Hall Press: Upper Saddle River, NJ, USA, 2007. [Google Scholar]
- Van der Aalst, W.M.P.; Dumas, M.; ter Hofstede, A.H.M. Web service composition languages: Old wine in new bottles? In Proceedings of the 29th Euromicro Conference, Belek-Antalya, Turkey, 1–6 September 2003; pp. 298–305. [Google Scholar]
- Scaffidi, C.; Shaw, M.; Myers, B. Estimating the numbers of end users and end user programmers. In Proceedings of the 2005 IEEE Symposium on Visual Languages and Human-Centric Computing (VLHCC ’05), Dallas, TX, USA, 20–24 September 2005; pp. 207–214. [Google Scholar]
- Mehandjiev, N.; Sutcliffe, A.; Lee, D. Organisational view of end-user development. In End User Development, Human-Computer Interaction Series; Lieberman, H., Paterno, F., Wulf, V., Eds.; Springer: Berlin, Germany, 2006; Volume 9, p. 492. [Google Scholar]
- Ko, A.J.; Abraham, R.; Beckwith, L.; Blackwell, A.; Burnett, M.; Erwig, M.; Scaffidi, C.; Lawrance, J.; Lieberman, H.; Myers, B.; et al. The state of the art in end-user software engineering. ACM Comput. Surv. 2011, 43, 21. [Google Scholar] [CrossRef]
- Norman, D.A. Some observations on mental models. In Mental Models; Psychology Press: Hove, UK, 2014; pp. 15–22. [Google Scholar]
- Ganesarajah, D.; Lupu, E. Workflow-based composition of web-services: A business model or a programming paradigm? In Proceedings of the Sixth International Enterprise Distributed Object Computing Conference (EDOC’02), Lausanne, Switzerland, 20 September 2002; pp. 273–284. [Google Scholar]
- Rao, J.; Su, X. A survey of automated web service composition methods. In International Workshop on Semantic Web Services and Web Process Composition; Springer: Berlin/Heidelberg, Germany, 2004; pp. 43–54. [Google Scholar]
- Boshernitsan, M.; Graham, S.L.; Hearst, M.A. Aligning development tools with the way programmers think about code changes. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, San Jose, CA, USA, 28 April–3 May 2007; pp. 567–576. [Google Scholar]
- Namoun, A.; Nestler, T.; de Angeli, A. Conceptual and usability issues in the composable web of software services. In Proceedings of the International Conference on Web Engineering, Vienna, Austria, 5–9 July 2010; pp. 396–407. [Google Scholar]
- Namoun, A.; Nestler, T.; de Angeli, A. Service composition for non-programmers: Prospects, problems, and design recommendations. In Proceedings of the 2010 Eighth IEEE European Conference on Web Services (ECOWS ’10), Washington, DC, USA, 1–3 December 2010; pp. 123–130. [Google Scholar]
- Weber, I.; Paik, H.Y.; Benatallah, B. Form-based web service composition for domain experts. ACM Trans. Web 2013, 8, 2–40. [Google Scholar] [CrossRef]
- Radeck, C.; Meißner, K. Assisted end user development for non-programmers: Awareness, exploration and explanation of composite web application functionality. In Proceedings of the International Conference on Web Information Systems and Technologies, Porto, Portugal, 25–27 April 2017; pp. 249–275. [Google Scholar]
- Santos, M.; Villela, M.L.B. Characterizing end-user development solutions: A systematic literature review. In Proceedings of the International Conference on Human-Computer Interaction, Orlando, FL, USA, 26–31 July 2019; pp. 194–209. [Google Scholar]
- Corno, F.; Russis, L.D.; Roffarello, A.M. RecRules: Recommending IF-THEN rules for end-user development. ACM Trans. Intell. Syst. Technol. 2019, 10, 58. [Google Scholar] [CrossRef] [Green Version]
- Mehandjiev, N.; Namoune, A.; Wajid, U.; Macaulay, L.; Sutcliffe, A. End user service composition: Perceptions and requirements. In Proceedings of the 2010 Eighth IEEE European Conference on Web Services (ECOWS ’10), Ayia Napa, Cyprus, 1–3 December 2010; pp. 139–146. [Google Scholar]
- de Angeli, A.; Battocchi, A.; Chowdhury, S.R.; Rodriguez, C.; Daniel, F.; Casati, F. End-user requirements for wisdom-aware EUD. In End User Development; Springer: Berlin/Heidelberg, Germany, 2011; pp. 245–250. [Google Scholar]
- Cappiello, C.; Matera, M.; Picozzi, M. A UI-centric approach for the end-user development of multidevice mashups. ACM Trans. Web 2015, 9, 11. [Google Scholar] [CrossRef] [Green Version]
- Zhao, L.; Loucopoulos, P.; Kavakli, E.; Letsholo, K.J. User studies on end-user service composition: A literature review and a design framework. ACM Trans. Web 2019, 13, 15. [Google Scholar] [CrossRef]
- Daniel, F.; Matera, M. Mashups: Concepts, Models and Architectures; Springer: Berlin/Heidelberg, Germany, 2014. [Google Scholar]
- Mehandjiev, N.; Namoun, A.; Lécué, F.; Wajid, U.; Kleanthous, G. End users developing mashups. In Web Services Foundations; Springer: New York, NY, USA, 2014; pp. 709–736. [Google Scholar]
- Minhas, S. A Framework for Constructing End User Oriented Service Mashups. Ph.D. Thesis, The University of Manchester United Kingdom, Manchester, UK, 2017. [Google Scholar]
- Cheng, B.; Zhai, Z.; Zhao, S.; Chen, J. LSMP: A lightweight service mashup platform for ordinary users. IEEE Commun. Mag. 2017, 55, 116–123. [Google Scholar] [CrossRef]
- Lieberman, H.; Paternò, F.; Klann, M.; Wulf, V. End-USER DEVELOPMENT: An emerging paradigm. In End User Development; Lieberman, H., Paterno, F., Wulf, V., Eds.; Springer: Berlin, Germany, 2006; pp. 1–8. [Google Scholar]
- Nardi, B.A. A Small Matter of Programming: Perspectives on End User Computing; MIT Press: Cambridge, MA, USA, 1993. [Google Scholar]
- Lemos, A.L.; Daniel, F.; Benatallah, B. Web service composition: A survey of techniques and tools. ACM Comput. Surv. 2016, 48, 33. [Google Scholar] [CrossRef] [Green Version]
- Ko, A.J.; Myers, B.A.; Aung, H.H. Six learning barriers in end-user programming systems. In Proceedings of the 2004 IEEE Symposium on Visual Languages-Human Centric Computing, Rome, Italy, 26–29 September 2004; pp. 199–206. [Google Scholar]
- Abraham, R.; Burnett, M.M.; Erwig, M. Spreadsheet programming. In Wiley Encyclopedia of Computer Science and Engineering; John Wiley: Hoboken, NJ, USA, 2009; pp. 2804–2810. [Google Scholar]
- Kongdenfha, W.; Benatallah, B.; Vayssière, J.; Saint-Paul, R.; Casati, F. Rapid development of spreadsheet-based web mashups. In Proceedings of the 18th International Conference on World Wide Web (WWW ’09), Madrid, Spain, 20–24 April 2009; pp. 851–860. [Google Scholar]
- Paternò, F.; Santoro, C. A design space for end user development in the time of the internet of things. In New Perspectives in End-User Development; Paternò, F., Santoro, C., Eds.; Springer: Berlin/Heidelberg, Germany, 2017; pp. 43–59. [Google Scholar]
- Sutcliffe, A. Evaluating the costs and benefits of end-user development. In ACM SIGSOFT Software Engineering Notes; ACM: New York, NY, USA, 2005; pp. 1–4. [Google Scholar]
- McGill, T.; Klisc, C. End user perceptions of the benefits and risks of end user web development. J. Organ. End User Comput. 2006, 18, 22–42. [Google Scholar] [CrossRef] [Green Version]
- Schulte, S.; Repp, N.; Eckert, J.; Berbner, R.; von Blanckenburg, K.; Schaarschmidt, R.; Steinmetz, R. Potential risks and benefits of Service-oriented Collaboration—Basic considerations and results from an empirical study. In Proceedings of the Second IEEE International Conference on Digital Ecosystems and Technologies (DEST 2008), Phitsanulok, Thailand, 26–29 February 2008; pp. 155–160. [Google Scholar]
- Namoun, A.; Wajid, U.; Mehandjiev, N. A comparative study: Service-based application development by ordinary end users and IT professionals. In Towards a Service-Based Internet; Springer: Berlin/Heidelberg, Germany, 2010; pp. 163–174. [Google Scholar]
- Burnett, M.; Fleming, S.D.; Shamsi, I.; Venolia, G.; Rajaram, V.; Farooq, U.; Grigoreanu, V.; Czerwinski, M. Gender differences and programming environments: Across programming populations. In Proceedings of the 2010 ACM-IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM ’10), Bolzano-Bozen, Italy, 16–17 September 2010; p. 28. [Google Scholar]
- DuSDar, S.; Schreiner, W. A survey on web services composition. Int. J. Web Grid Serv. 2005, 1, 1–30. [Google Scholar] [CrossRef]
- Sheng, Q.Z.; Qiao, X.; Vasilakos, A.V.; Szabo, C.; Bourne, S.; Xu, X. Web services composition: A decade’s overview. Inf. Sci. 2014, 280, 218–238. [Google Scholar] [CrossRef]
- Martinez, A.; Patino-Martinez, M.; Jimenez-Peris, R.; Perez-Sorrosal, F. ZenFlow: A visual web service composition tool for BPEL4WS. In Proceedings of the 2005 IEEE Symposium on Visual Languages and Human-Centric Computing (VLHCC ’05), Dallas, TX, USA, 20–24 September 2005; pp. 181–188. [Google Scholar]
- Hosking, L.; Li, J.; Grundy, J. Visual modelling of complex business processes with trees, overlays and distortion-based displays. In Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing (VLHCC ’07), Coeur d’Alene, ID, USA, 23–27 September 2007; pp. 137–144. [Google Scholar]
- Kelleher, C.; Pausch, R. Lowering the barriers to programming: A taxonomy of programming environments and languages for novice programmers. ACM Comput. Surv. 2005, 37, 83–137. [Google Scholar] [CrossRef]
- Nestler, T.; Namoun, A.; Schill, A. End-user development of service-based interactive web applications at the presentation layer. In Proceedings of the 3rd ACM SIGCHI Symposium on Engineering Interactive Computing Systems (EICS ’11), Pisa, Italy, 13–16 June 2011; pp. 197–206. [Google Scholar]
- Daniel, F.; Yu, J.; Benatallah, B.; Casati, F.; Matera, M.; Saint-Paul, R. Understanding UI integration: A survey of problems, technologies, and opportunities. IEEE Internet Comput. 2007, 11, 59–66. [Google Scholar] [CrossRef] [Green Version]
- Yu, J.; Benatallah, B.; Casati, F.; Daniel, F. Understanding mashup development. IEEE Internet Comput. 2008, 12, 44–52. [Google Scholar] [CrossRef]
- Hoyer, V.; Fischer, M. Market overview of enterprise mashup tools. In Service-Oriented Computing; Springer: Berlin/Heidelberg, Germany, 2008; pp. 708–721. [Google Scholar]
- Jones, M.C.; Churchill, E.F. Conversations in developer communities: A preliminary analysis of the yahoo! Pipes community. In Proceedings of the fourth international conference on Communities and technologies (C&T ’09), University Park, PA, USA, 25–27 June 2009; pp. 195–204. [Google Scholar]
- Kuttal, S.K.; Sarma, A.; Swearngin, A.; Rothermel, G. Versioning for mashups—An exploratory study. In International Symposium on End User Development; Springer: Berlin/Heidelberg, Germany, 2011; pp. 25–41. [Google Scholar]
- Wong, J.; Hong, J.I. Making mashups with marmite: Towards end-user programming for the web. In Proceedings of the SIGCHI conference on Human factors in computing systems (CHI ’07), San Jose, CA, USA, 26 April–3 May 2007; pp. 1435–1444. [Google Scholar]
- Cao, J.; Riche, Y.; Wiedenbeck, S.; Burnett, M.; Grigoreanu, V. End-user mashup programming: Through the design lens. In Proceedings of the 28th International Conference on Human Factors in Computing Systems (CHI ’10), Atlanta, GA, USA, 10–15 April 2010; pp. 1009–1018. [Google Scholar]
- Zang, N.; Rosson, M.B.; Nasser, V. Mashups: Who? what? why? In Proceedings of the CHI ’08 Extended Abstracts on Human Factors in Computing Systems (CHI EA ’08), Florence, Italy, 5–10 April 2008; pp. 3171–3176. [Google Scholar]
- Zang, N.; Rosson, M.B. What’s in a mashup? And why? Studying the perceptions of web-active end users. In Proceedings of the 2008 IEEE Symposium on Visual Languages and Human-Centric Computing VLHCC ’08, Herrsching am Ammersee, Germany, 15–19 September 2008; pp. 31–38. [Google Scholar]
- Al Sarraj, W.; de Troyer, O. Web mashup makers for casual users: A user experiment. In Proceedings of the 12th International Conference on Information Integration and Web-based Applications & Services (iiWAS ’10), Paris, France, 8–10 November 2010; pp. 239–246. [Google Scholar]
- Daniel, F.; Imran, M.; Kling, F.; Soi, S.; Casati, F.; Marchese, M. Developing domain-specific mashup tools for end users. In Proceedings of the 21st International Conference on World Wide Web, Lyon, France, 16–20 April 2012; pp. 491–492. [Google Scholar]
- Radeck, C.; Blichmann, G.; Meißner, K. CapView–functionality-aware visual mashup development for non-programmers. In Web Engineering; Springer: Berlin/Heidelberg, Germany, 2013; pp. 140–155. [Google Scholar]
- Aghaee, S.; Pautasso, C.; de Angeli, A. Natural end-user development of web mashups. In Proceedings of the 2013 IEEE Symposium on Visual Languages and Human Centric Computing (VL/HCC), San Jose, CA, USA, 15–19 September 2013; pp. 111–118. [Google Scholar]
- Aghaee, S.; Pautasso, C. End-user development of mashups with naturalmash. J. Vis. Lang. Comput. 2014, 25, 414–432. [Google Scholar] [CrossRef]
- Aghaee, S.; Pautasso, C. EnglishMash: Usability design for a natural mashup composition environment. In Web Engineerin; Springer: Berlin/Heidelberg, Germany, 2012; pp. 109–120. [Google Scholar]
- Fisher, A.; Margolis, J. Unlocking the clubhouse: The Carnegie Mellon experience. ACM SIGCSE Bull. 2002, 34, 79–83. [Google Scholar] [CrossRef]
- Ramalingam, V.; LaBelle, D.; Wiedenbeck, S. Self-efficacy and mental models in learning to program. In ACM SIGCSE Bulletin; ACM: New York, NY, USA, 2004; Volume 36, pp. 171–175. [Google Scholar]
- Loksa, D.; Ko, A.J.; Jernigan, W.; Oleson, A.; Mendez, C.J.; Burnett, M.M. Programming, problem solving, and self-awareness: Effects of explicit guidance. In Proceedings of the 2016 CHI Conference on Human Factors in Computing Systems, San Jose, CA, USA, 7–12 May 2016; pp. 1449–1461. [Google Scholar]
- De Raadt, M.; Watson, R.; Toleman, M. Chick sexing and novice programmers: Explicit instruction of problem solving strategies. In Proceedings of the 8th Australasian Conference on Computing Education, Hobart, Australia, 16–19 January 2006; pp. 55–62. [Google Scholar]
- Jamoussi, Y. Towards an approach to guide end-user in interactive web services composition. In Proceedings of the International MultiConference of Engineers and Computer Scientists, Hong Kong, China, 18–20 March 2015. [Google Scholar]
- Hang, F.; Zhao, L. Supporting end-user service composition: A systematic review of current activities and tools. In Proceedings of the 2015 IEEE International Conference on Web Services, New York, NY, USA, 27 June–2 July 2015; pp. 479–486. [Google Scholar]
- Barricelli, B.R.; Cassano, F.; Fogli, D.; Piccinno, A. End-user development, end-user programming and end-user software engineering: A systematic mapping study. J. Syst. Softw. 2019, 149, 101–137. [Google Scholar] [CrossRef]
- Akiki, P.A.; Bandara, A.K.; Yu, Y. Visual simple transformations: Empowering end-users to wire internet of things objects. ACM Trans. Comput. Hum. Interact. 2017, 24, 10. [Google Scholar] [CrossRef] [Green Version]
- Rahmati, A.; Fernandes, E.; Jung, J.; Prakash, A. IFTTT vs. Zapier: A Comparative Study of Trigger-Action Programming Frameworks. arXiv 2017, arXiv:1709.02788. [Google Scholar]
- Coolican, H. Research Methods and Statistics in Psychology, 6th ed.; Psychology Press: New York, NY, USA, 2014. [Google Scholar]
- Lewis, C.H. Using the Thinking-Aloud Method in Cognitive Interface Design; Research Report RC9265; IBM TJ Watson Research Center: Yorktown, NY, USA, 1982. [Google Scholar]
- Lacy, S.; Riffe, D. Sampling error and selecting intercoder reliability samples for nominal content categories: Sins of omission and commission in mass communication quantitative research. J. Mass Commun. Q. 1996, 73, 969–973. [Google Scholar]
- Tinsley, H.E.A.; Weiss, D.J. Interrater reliability and agreement. In Handbook of Applied Multivariate Statistics and Mathematical Modeling; Tinsley, H.E.A., Brown, S.D., Eds.; Academic Press: San Diego, CA, USA, 2000; pp. 95–124. [Google Scholar]
- Visser, W.; Hoc, J.M. Expert software design strategies. In Psychology of Programming; Academic Press: Cambridge, MA, USA, 1991; pp. 235–249. [Google Scholar]
- Desolda, G.; Ardito, C.; Costabile, M.F.; Matera, M. End-user composition of interactive applications through actionable UI components. J. Vis. Lang. Comput. 2017, 42, 46–59. [Google Scholar] [CrossRef] [Green Version]
- Maćkowiak, M.; Nawrocki, J.; Ochodek, M. On some end-user programming constructs and their understandability. J. Syst. Softw. 2018, 142, 206–222. [Google Scholar] [CrossRef]
- Good, J.; Howland, K. Programming language, natural language? Supporting the diverse computational activities of novice programmers. J. Vis. Lang. Comput. 2017, 39, 78–92. [Google Scholar] [CrossRef] [Green Version]
- Desolda, G.; Ardito, C.; Matera, M. Empowering end users to customize their smart environments: Model, composition paradigms, and domain-specific tools. ACM Trans. Comput. Hum. Interact. 2017, 24, 12. [Google Scholar] [CrossRef] [Green Version]
- Koedinger, K.R.; Aleven, V.; Heffernan, N.; McLaren, B.; Hockenberry, M. Opening the door to non-programmers: Authoring intelligent tutor behavior by demonstration. In Intelligent Tutoring Systems; Springer: Berlin/Heidelberg, Germany, 2004; pp. 162–174. [Google Scholar]
- Pulido-Prieto, O.; Juárez-Martínez, U. A model for naturalistic programming with implementation. Appl. Sci. 2019, 9, 3936. [Google Scholar] [CrossRef] [Green Version]
- Lieberman, H.; Liu, H. Feasibility studies for programming in natural language. In End User Development; Springer: Berlin, Germany; Dordrecht, The Netherlands, 2006; pp. 459–473. [Google Scholar]
- Ur, B.; McManus, E.; Ho, M.P.Y.; Littman, M.L. Practical trigger-action programming in the smart home. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, Toronto, ON, Canada, 26 April–1 May 2014; pp. 803–812. [Google Scholar]
- Ur, B.; Ho, M.P.Y.; Brawner, S.; Lee, J.; Mennicken, S.; Picard, N.; Schulze, D.; Littman, M.L. Trigger-action programming in the wild: An analysis of 200,000 IFTTT recipes. In Proceedings of the 2016 Chi Conference On Human Factors in Computing Systems, San Jose, CA, USA, 7–12 May 2016; pp. 3227–3231. [Google Scholar]
- Gross, P.; Kelleher, C. Non-programmers identifying functionality in unfamiliar code: Strategies and barriers. J. Vis. Lang. Comput. 2010, 21, 263–276. [Google Scholar] [CrossRef] [Green Version]
- Chen, M.; Tan, T.H.; Sun, J.; Liu, Y.; Dong, J.S. Veriws: A tool for verification of combined functional and non-functional requirements of web service composition. In Proceedings of the 36th International Conference on Software Engineering, Hyderabad, India, 31 May–7 June 2014; pp. 564–567. [Google Scholar]
Composition Tool and Aim | Features |
---|---|
Process Editor: Models service processes using visual notations—manual design of service compositions |
|
User Assisted Composition Tool: Composes services using activity-based templates—parametric design using templates |
|
Task Type and Relevant SOA4All Tool | Service Composition Task |
---|---|
Manual Composition using Process Editor |
|
Assisted Composition using User Assisted Composition Tool |
|
Manual Composition Task | Non-Programmers | Programmers | ||||
---|---|---|---|---|---|---|
Average Task Completion Time (seconds) | # Users Who Completed the Tasks | Total Correctness Score | Average Task Completion Time (Seconds) | # Users Who Completed the Tasks | Total Correctness Score | |
1. Conditional branching, operator and parameters selection ** | 300 (SD = 114.11) | 10 (10 received substantial help) | 10 | 268 (SD = 104.79) | 9 (4 received some help, 2 received substantial help) | 19 |
2. Binding activity with an appropriate service | 88 (SD = 38.06) | 12 (2 received some help, 1 received substantial help) | 32 | 93 (SD = 69.33) | 12 (1 received some help) | 35 |
3. Adding a parallel branch ** | 288 (SD = 113.26) | 10 (6 received some help, 4 received substantial help) | 16 | 164 (SD = 57.11) | 9 (6 received some help) | 21 |
4. Specifying data flow connections ** | 186 (SD = 57.35) | 7 (5 received some help) | 16 | 101 (SD = 34.10) | 7 (2 received some help, 1 received substantial help) | 17 |
5. Saving the composition process | 22 (SD = 11.90) | 12 | 36 | 31 (SD = 13.31) | 12 | 36 |
Category | Non-Programmers | Programmers | ||
---|---|---|---|---|
M | SD | M | SD | |
Overall problems | 5.99 | 2.74 | 6.33 | 3.07 |
-Conceptual problems | 4.91 | 2.29 | 4.00 | 1.85 |
-Usability problems | 1.08 | 1.26 | 2.33 | 1.83 |
Positive statements | 3.00 | 2.67 | 3.33 | 2.62 |
Suggestions | 1.58 | 1.31 | 1.33 | 1.08 |
Conceptual Problem | Non-Programmers | Programmers |
---|---|---|
Definition of the conditional branches | 34% | 35% |
Complexity of manual service composition and low-level terminology | 32% | 6% |
Creation of parallel branches | 15% | 6% |
Specification and understanding of data flow | 10% | 22% |
Other disperse issues | 9% | 31% |
Positive Aspect | Non-Programmers | Programmers |
---|---|---|
Ease of use of manual service composition | 20% | 23% |
Control and freedom of manual service composition | 20% | 15% |
Use of notations to represent activities and services | 3% | 15% |
Other disperse features | 57% | 47% |
Strategy | Non-Programmers | Programmers |
---|---|---|
Guide users through service composition using, e.g., wizard, tutorials | 26% | 12% |
Include more help and instructions | 26% | 6% |
Define complex terms | 6% | 6% |
Provide immediate feedback | 5% | 18% |
Improve visual appearance of the tool | 5% | 25% |
Other disperse suggestions | 28% | 33% |
Manual Composition Hypothesis | Differences between the Groups | Verdict |
---|---|---|
H1a Non-programmers will find it more difficult to understand service terminologies compared to programmers | -Statistical differences in satisfaction scores of composition notations (Independent samples t-tests)—Figure 5 -Percentage of conceptual problems discussing the complexity of terminologies and notations (thematic analysis)—Table 5 | Partially supported |
H1b Non-programmers will find it more difficult to define conditional flows (IF … ELSE) between services compared to programmers | -Statistical differences in performance results, i.e., correctness of (if … else) specifications, task completion rates (t-tests)—Table 3 -Statistical differences in satisfaction scores of condition definition (t-tests)—Figure 5 | Supported |
H1c Non-programmers will find it more difficult to create dataflow connections between services compared to programmers | -Statistical differences in completion times of data binding between services (t-tests) —Table 3 -Statistical differences in satisfaction scores with respect to data connections (t-tests)—Figure 5 | Supported |
H1d Non-programmers will face more challenges with manual service composition compared to programmers | -Statistical differences in respect to the manual service composition tasks (t-tests)—Table 3 -Statistical differences in respect to the number of conceptual problems (t-tests)—Table 4 | Supported |
H1e Non-programmers will hold a more negative perception about manual composition compared to programmers | -Statistical differences in satisfaction scores with respect to the manual composition process (t-tests)—Figure 5 | Supported |
Task | Non-Programmers | Programmers | ||
---|---|---|---|---|
Average Task Completion Time (Seconds) | # Users Who Completed the Tasks | Average Task Completion Time (Seconds) | # Users Who Completed the Tasks | |
1. Finding and navigating to the right service design template “Student Registration” | 16.17 (SD = 8.44) | 12 | 16.00 (SD = 9.87) | 12 |
2. Removing “Police Registration” activity from design template | 47.33 (SD = 39.29) | 11 | 56.08 (SD = 58.13) | 11 |
3. Selecting appropriate services for activities ** | 192.75 (SD = 88.29) | 12 | 297.67 (SD = 109.51) | 11 |
Category | Non-Programmers | Programmers | ||
---|---|---|---|---|
M | SD | M | SD | |
Overall problems | 1.92 | 1.78 | 3.17 | 2.12 |
-Conceptual problems | 1.08 | 1.16 | 0.92 | 1.24 |
-Usability problems | 1.00 | 1.20 | 2.25 | 1.54 |
Positive comments | 3.33 | 2.30 | 1.67 | 1.82 |
Suggestions | 1.25 | 1.86 | 1.58 | 1.67 |
Conceptual Problem | Non-Programmers | Programmers |
---|---|---|
Basic capabilities of composition process and implicit application logic | 38% | 64% |
Terminology and technical jargon | 23% | 9% |
Differentiation between services | 15% | 18% |
Absence of runtime effects | 15% | 0% |
Other disperse problems | 9% | 9% |
Positive Aspect | Non-Programmers | Programmers |
---|---|---|
Ease of use and intuitiveness of composition process | 28% | 15% |
Direct manipulation of services and activities | 22% | 25% |
Use of colours to specify compatibility of services | 15% | 5% |
Other disperse positive features | 35% | 55% |
Strategy | Non-Programmers | Programmers |
---|---|---|
Include a wizard, tool tips, and help sections | 33% | 20% |
Add more details and information about services and activities | 27% | 20% |
Include options for quickly removing activities | 13% | 15% |
Other disperse suggestions | 27% | 45% |
Assisted Composition Hypothesis | Differences between the Groups | Verdict |
---|---|---|
H2a Non-programmers will hold a more positive perception about assisted composition compared to programmers. | -Statistical differences in number of positive feedback of the assisted-composition approach (t-tests)—Table 10 -Statistical differences in number of perceived usability problems of the assisted-composition approach (t-tests)—Table 10 -Percentage of conceptual problems (thematic analysis)—Table 11 | Partially supported |
H2b Non-programmers will favour assisted composition than manual composition compared to programmers. | -Statistical differences in satisfaction scores between assisted composition and manual composition (t-tests) | Supported |
© 2019 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Namoun, A.; Owrak, A.; Mehandjiev, N. Non-Programmers Composing Software Services: A Confirmatory Study of the Mental Models and Design Challenges. Appl. Sci. 2019, 9, 5558. https://doi.org/10.3390/app9245558
Namoun A, Owrak A, Mehandjiev N. Non-Programmers Composing Software Services: A Confirmatory Study of the Mental Models and Design Challenges. Applied Sciences. 2019; 9(24):5558. https://doi.org/10.3390/app9245558
Chicago/Turabian StyleNamoun, Abdallah, Ali Owrak, and Nikolay Mehandjiev. 2019. "Non-Programmers Composing Software Services: A Confirmatory Study of the Mental Models and Design Challenges" Applied Sciences 9, no. 24: 5558. https://doi.org/10.3390/app9245558
APA StyleNamoun, A., Owrak, A., & Mehandjiev, N. (2019). Non-Programmers Composing Software Services: A Confirmatory Study of the Mental Models and Design Challenges. Applied Sciences, 9(24), 5558. https://doi.org/10.3390/app9245558