Supporting Collaborative Decision Making in Software Engineering Peter Forbrig Anke Dittmar University of Rostock University of Rostock Rostock, Germany Rostock, Germany peter.forbrig@uni-rostock.de anke.dittmar@uni-rostock.de ABSTRACT 2018 Workshop on PhD Software Engineering Education: Challenges, Smart factories or Industry 4.0 are names of domains of as- Trends, and Programs (SWEPHD2018). ACM, New York, NY, USA, 6 pages. sistive systems. Such systems become more and more impor- tant and ask for new technologies in software engineering. They provide support for decision making of users. Human- centered software engineering and subject-oriented model- ing seem to be promising approaches. However, decisions 1 INTRODUCTION have also to be made during software development. The awareness of modelling and discussing alternative solutions The goal of software applications is supporting users in per- have to be teached and tool support has to be developed. The forming their tasks. New technologies allow interactive sys- paper discusses aspects of using heterogeneous modeling tems automatically to adapt to a changing environment. Of- for specifying applications and collaborative activities.It is ten such changes are based on conclusions from rules that asked for education in different paradigms, Domains-specific are triggered by sensed data. The rules specify the solution textual specification languages can be used for this purpose. space of the corresponding applications. These technolo- Additionally, work practices in collaborative design of soft- gies are characterized as smart. Smart meeting rooms, smart ware are analyzed and corresponding tool support is pre- houses, smart factories, and even smart cities have been de- sented. Task migratability is discussed and characterized as veloped. Automatic decision support is provided or users success factor for assistive software systems of the future. get support for their decisions. We will call this run-time decision support. This is in contrast to design-time support CCS CONCEPTS that assists software developers in their work. Supportive • Software and its engineering → Software notations applications for this domain range from programming tools, and tools; • Software notations and tools → General pro- programming environments, computer-aided software engi- gramming language; • General programming languages neering tools to integrated environments. However, those → Context specific languages; • Context specific languages tools rarely support adaptation and they often do not al- → Domain specific languages; low the elaboration and discussion of alternative solutions. Nevertheless,a lot of decisions have to be made by software KEYWORDS developers. This starts with the decision about the impor- Heterogeneous Models, Domain-Specific Languages, Compo- tance of requirements, is followed by the decision about the sition of Languages, Task migratability, Industry 4.0, Business- applied software architecture, the decisions during design, Process Modeling the decisions during implementation, etc. The challenge of software engineering and software engineering education ACM Reference Format: lies in strengthening the support of methods for support- Peter Forbrig and Anke Dittmar. 2018. Supporting Collaborative ing the discussion of alternative solutions and providing Decision Making in Software Engineering. In Proceedings of The computer-supported assistance for that. In this paper, the problem space of decision making is used to discuss different Copyright © 2018 for the individual papers by the papers' authors. Copying permitted for private and academic purposes. This volume is published and specification methods. Domain-specific textual languages copyrighted by its editors. are used to show the application of heterogeneous modeling. SWEPHD2018, September 17th, 2018, St. Petersburg, Russia This is reached by a Meta mode unifying the concepts of different languages. In this way different paradigms can be used together in one specification and can have references to each other. Additionally, based on task migratabilty the role decision migratability is discussed. SWEPHD2018, September 17th, 2018, St. Petersburg, Russia Forbrig et al. 2 CHALLENGES IN DECISION MAKING Recently, there are a lot of discussions about Ambient As- sisted Living (AAL). Related systems are designed to help people (e.g., elderly, children, handicapped, etc.) in having an independent and monitored life with the use and assis- tance of technology. Additionally, concepts of smart meeting rooms, smart homes, smart factories, and even smart cities exist. Like most software systems, such systems are designed to support users in performing their tasks and their decision making (e.g. what to do next). Assistive software focuses Figure 1: Weighted HCI rules according to frequency of use on support for end users in different domains. This can be (taken from [11]). called decision support during run-time and will be discussed within the next section of the paper. However, software de- The usability criteria of task migratability becomes more velopment should be supported by software tools as well. important. It is a usability design principle that describes Computer-aided software engineering (CASE) tools have how control for task execution is transferred between system been used for several decades already. Support is provided and user. It describes the ability of an interactive application during design of software. Therefore, after focusing on deci- to pass control for the execution of a task so that it becomes sion support during runtime decision support for software either internalized by the user or the application or shared developers during design time will be discussed. between them [6]. Hinze-Hoare [11] analyzed the literature according to what she called HCI principles. She looked at Decision Making At Runtime the most important authors and provided a ranking of the The problem of decision making during runtime will be dis- HCI principles that we would like to call usability criteria. cussed from three different perpectives. The problem can The analysis procedure is described as follows: “The num- be tackled in a data-centric or human-centered way. Ad- ber of times that a particular HCI principle was proposed ditionally, it can be specified with one framework or with by a significant author multiplied by a weighting factor de- heterogeneous model. The paper will focus on the second rived from the author citation frequency allowed a ranking aspect. of HCI principles to be determined.” Figure 5 provides the corresponding result. Data-Centric Software Engineering. Data are an important re- Task migratability got rank five. However, most applica- source of the digital world. Data come from different sources, tions for assistive systems do still not support task migrata- have to be computed as Big Data and change the behav- bility to a large extend. Decision making in software systems ior in large extend software applications. The management is a specific task. It has to be migratable as well. Additionally, of smart applications is a success factor of industry and decisions of the systems should be supported by explana- the whole society. Software Engineering provides processes, tions on demand that can be understood by users. The data models, tools, and principles for constructing and manag- science technologies play also the most important role in ing high quality software with limited costs. Additionally, technologies for smart cities, which is motivated by sustain- software engineering methods should provide explanations able development requirements of global environment and to users about the results of deep learning algorithms and modern cities [17]. big data analysis. This is especially important for complex applications in context of autonomous driving, adaptive sys- Human-Centered Software Engineering. The idea of human- tems, and applications for industry 4.0 [18]. Industry 4.0 centered software engineering was presented the first time refers to a current trend of automation and data exchange in a large extend in the year 2005 [16]. Some related ideas in manufacturing technologies. The number stands for the were already discussed during an INTERACT workshop in fourth industrial revolution and includes applications for Tokyo in 2001 [15] . The title of the workshop was “Software cyber-physical systems. (The third revolution characterized Engineering and Usability Engineering Cross-Pollination”. It by computers and automation, the second by mass produc- was analyzed that classical software engineering did not look tion, assembling lines and electricity, and the first one by at UI design, task-base design, and usability evaluation as- mechanization, water power and steam power.) pects. In other words, software engineering did not consider Decisions are supported by algorithms. However, a user human-computer interaction aspects for software develop- should be able to understand the application of rules the ment. First papers discussed the integration of development decisions are based on. It should also be possible to influence life cycle activities of software and usability engineering. the results of decisions by users. The goal was a common development-process model. This Supporting Collaborative Decision Making in Software Engineering SWEPHD2018, September 17th, 2018, St. Petersburg, Russia aspect is still discussed for agile development methods [1]. SPECIFICATION 2: Cooperation model for Customer and Nowadays, tasks are not performed by a single users but in Salesman example. teams in a collaborative way. The same is true for decision processes. Therefore, it is very important to understand the collaborative processes and to model them. This aspect is discussed in more detail in the following paragraph. Modelling Collaboration with Heterogeneous Models. It was already mentioned that collaboration has to be supported by assistive software systems. Before the cooperative aspect will be demonstrated by an example, we will focus on the specification of activities of two roles that we call customer and salesman. The approach can be characterized as subject- oriented [8] and human-centered [16]. A customer asks in our simplified example for informa- tion about possible products that can be delivered. From the provided list, a product is selected and the delivery of the correspond-ing price is expected. The procedure of this two tasks can iteratively repeated. A salesman provides a list of products that are available. For a specific product, a price can be delivered. Both tasks can also be repeated several times successively. Specification 1 provides the corresponding task models in the notation of the language DSL CoTaL [2]. It is a domain-specific textual language and allows the specifica- tion of task trees in a rule-based way. Each refinement in the Figure 2: Cooperation model for Customer and Salesman ex- task tree is represented by one rule. The tasks of a customer ample. and a salesman are both specified as trees with three levels. The first level starts with the root followed by an iteration products. The task for exchanging information is followed. It on the next level. The iterative task is split into two subtasks. has two sub-tasks. The first one is performed by a customer. The end of the first task enables the start of the second task. A product is selected. Afterwards, a salesman will provide af- terwards a price for this product. Temporal relations between SPECIFICATION 1: Behavioral models for customer and sales- tasks of different role models can be provided in this way in man a team model. It allows the separation of concerns. Role mod- els describe all related tasks while the team model specifies the collaboration aspect. The editor for CoTaL [2] was imple- mented with the tool Xtext [20]. It is intended for language engineering and provides the basis for code generation to other tools. For DSL-CoTaL code generation to CoTaSE [3], HAMSTERS [10] and CTTE [4] were implemented. The vi- sualization of the team model in the tool CTTE is presented A customer first asks for information and later (temporal in Fig. 2. operator enabling - ») selects a product. This can be done iter- The hierarchy of the task models is visualized as a tree in atively (temporal operator iteration - *). A salesman provides CTTE. Each model can be viewed via the corresponding tab a list of products and later a price for a specific product. The and simulation is provided for evaluation. It might be the cooperation of both roles is specified by a different model. It case that some developers are more familiar with statecharts is called team model in the context of CoTaL [2]. The nota- than with task models. Therefore, it can be useful to pro- tion looks very similar to the role models. However, other vide both views or allow the developer to specify the view language constructs are available.Specification 2 provides a he/she is most familiar with. Specification 3 demonstrates corresponding example. the specification of the behavior of a salesman in a DSL for Several communications can be performed (* after com- task models and a DSL for statecharts. municate). A communication is started by a customer asking Previous examples focused on the task flow only. However, for information. A salesman will afterwards provide a list of in business processes there are also objects involved. They SWEPHD2018, September 17th, 2018, St. Petersburg, Russia Forbrig et al. SPECIFICATION 3: Task model and statechart model as al- ternative behavior specifications of a salesman. Figure 3: Cooperation model for Customer and Salesman ex- ample. can be specified in conjunctions with the tasks and used in preconditions or in object flows. Two different languages (ob- ject specification and task specification) were embedded in Decision Making At Design Zime one general language. Relations between objects are omitted Unfortunately, the decision process during design and im- because of simplicity in example of specification 4. plementation of software is not supported very well by case tools yet. SPECIFICATION 4: Cross reference from a task model to an object model UML Class Diagrams. UML class diagrams are one of the most used kind of specifications for designing software ar- chitectures. This section describes studies [5] that were con- ducted in supporting collaborative software design sessions. Several groups of software designers were observed while performing certain design tasks. The studies included an initial manual collaborative modeling sessions each with 3 participants (Fig. 3). Tangible material like paper was used to represent classes and associations. Based on this analysis, a software prototype for interactive table tops was developed that supports teams up to 3 designers in modeling class dia- grams (Fig. 4). The software considers different spaces on its Heterogeneous modeling has been used in software devel- graphical interface. Based on the analysis, these spaces can opment for several decades. However, it seems to become be grouped into personal spaces for each designer and one more attractive with the new tools for language engineering. group space for all designers. Different class diagram designs The workshop at EICS 2018 with the title “Workshop on Het- can be reflected to compare alternatives for certain design erogeneous Models and Modeling Approaches for Engineer- solutions. Ongoing investigation is made on improving de- ing of Interactive Systems” supports this impression. Hetero- sign processes by supporting teams with different strategies. geneous modeling allows the separation of concerns and in One strategy can be to guide sessions for structuring pro- this way the management of complexity. Domain-specific cesses at all. However, tool support for multiple designers languages allow the embedding of different languages by of collaborative teams differs from tool support for single combining their grammars. This was possible to demonstrate designers. with the small provided examples. Different modeling lan- Software intended for support of collaborative design ses- guages were used for specifying: sions must satisfy needs of single persons and groups as • Tasks of certain roles (role model) well. Individual designers need their own personal spaces for • Communication between different models (team model) editing classes, relations, and notes of models. All personal • Alternative specifications for the same purpose (task spaces are equipped with toolbars and software keyboards model versus state model) that sup-port making edits. The group space shows designed • Combining different views (task model and object class diagrams and allows designers to adapt layouts. Classes, model) relations, and notes of diagrams can be blocked by designers Kramer et al. [13] and Lee [14] support the idea of het- that select them in the group space. This strategy helps to erogeneous models. It seems to be appropriate to support avoid conflicts when editing elements. However, the problem the specification of different aspects of a system by differ- of merging models that come from more than one participat- ent views. Domain-specific textual languages seem to be a ing designer arises when targeting the functionality of how perfect support for combining different kinds of models. to deal with conflicting model elements. The same problem Supporting Collaborative Decision Making in Software Engineering SWEPHD2018, September 17th, 2018, St. Petersburg, Russia is divided into two aspects. First, the ability of assistance systems to support humans by aggregating and visualizing information comprehensively for making informed decisions and solving urgent problems on short notice. Second, the ability of cyber physical systems to physically support hu- mans by conducting a range of tasks that are unpleasant, too exhausting, or unsafe for their human co-workers. The ability of cyber physical systems to make decisions on their own and to perform their tasks as autonomously as possible. Only in the case of exceptions, interferences, or conflicting Figure 4: Cooperation model for Customer and Salesman ex- goals, tasks are delegated to a higher level. ample. The idea of task migratability is not mentioned in this context. However, it would fit very well. There are also mod- eling approaches like Kannengiesser and Müller [12] that fit very well to our DSL CoTaL. They present an agent-based approach for smart factories that is subject-oriented. Our presented approach is subject-oriented as well. It has been already applied to smart environment applications [9]. Additionally, supportive systems for designing business processes like that provided by Fellman et al. [7] will be needed in the future. The idea of private modeling spaces and collaboration support can be applied to such systems as well. Figure 5: Cooperation model for Customer and Salesman ex- ample. 3 DISCUSSION Software engineering is currently very much related to deci- sion support. It is intended to develop software that provides arises when designers try to merge different forks of alter- appropriate support for users while making their decisions. native models designs. Solutions for this problem are parts Therefore, PhD students have to be able to analyze appli- of ongoing studies. cation domains and to model cooperation activities and de- Business Processes in Context of Industry 4.0. Industry 4.0 is cision making. They have to know a portfolio of modeling characterized by Wortmann et al [19] as: “ the current trend techniques. They have e.g. to know class diagrams, state- of integrating automation systems with processes and stake- based specifications, process specifications, task models and holders of the complete value-added chain as well as part of grammars. It would also be good if they knew the basic prin- the high-tech strategy of the German Federal Ministry for ciples of logical programming, functional programmings and Education and Research.” Sometimes it is also characterized aspect-oriented programming. Disciplined heterogeneous as smart factory that needs new forms of human-computer modeling [14] has to be taught. This kind of modeling was interaction, improvements of transferring digital instruc- discussed by using textual domain-specific language exam- tions to the physical world, emergence of analytics and busi- ples. Combining grammars of different languages provides ness intelligence capabilities, and computational complexity. the opportunity to specify heterogeneous models in one Industry 4.0 is well characterized in [18]. There exist four specification with references to each other. A Meta model is design principles. They are called interoperability, informa- generated from the grammar specification that is the basis tion transparency, technical assistance, and decentralized for the generated editor. PhD students should be able to se- decisions. Interoperability means the ability of machines, de- lect the appropriate specification techniques for a specific vices, sensors, and people to connect and communicate with domain. Designing a domain-specific language is a perfect each other via the Internet of Things (IoT) or the Internet training for that. It ia not only good for educational purposes of People (IoP). The ability of information systems to cre- but can be applied to real life projects as well. The Xtext ate a virtual copy of the physical world by enriching digital framework [20] facilitates the design and the generation of plant models with sensor data is called information trans- the corresponding editor very well. Relatively few effort is parency. This requires the aggregation of raw sensor data necessary for providing results. Changing keywords in the to higher-value context information. Technical assistance language (e.g. object to class) can be performed in a minute. SWEPHD2018, September 17th, 2018, St. Petersburg, Russia Forbrig et al. The specification of the code generation to different tools [4] CTTE [n. d.]. HIIS Laboratory. ([n. d.]). is more complicated. It needs knowledge of the external http://hiis.isti.cnr.it:4500/research/CTTE/home. specification of the models of the tools and some ideas for [5] A. Dittmar, G. Buchholz, and M. Kuhn. 2017. Effects of Facilitation on Collaborative Modeling Sessions with a Multi-Touch UML Editor. In the correct transformation of the instances of the domain- 2017 IEEE/ACM 39th International Conference on Software Engineering: specific language to the models of the tools. Software Engineering Education and Training Track (ICSE-SEET), Vol. 00. The unification of the concept of team model in CoTaL 97–106. https://doi.org/10.1109/ICSE-SEET.2017.14 and the cooperation model in CTT in the domains-specific [6] Alan Dix, Janet Finlay, Gregory Abowd, and Russell Beale. 2003. language DSL-CoTaL resulted in a quite readable specifica- Human-Computer Interaction. Prentice-Hall. [7] Michael Fellmann, Novica Zarvić, and Oliver Thomas. 2018. Business tion. It restricts the expressiveness of the specifications but Processes Modeling Recommender Systems: User Expectations and simplifies them. The discussed approach might be an inspir- Empirical Evidence. (04 2018), 64–79. ing example for further abstractions. Students appreciated [8] Albert Fleischmann, Werner Schmidt, and Christian Stary. 2015. simple modification options in the textual specification. It Subject-Oriented Business Process Management. In Handbook on was much easier for them to move a sub-tree to another po- Business Process Management 2, Strategic Alignment, Governance, Peo- ple and Culture, 2nd Ed., Jan vom Brocke and Michael Rosemann (Eds.). sition than in the graphical editors that they did not know so Springer, 601–621. https://doi.org/10.1007/978-3-642-45103-4_25 well. Nevertheless, students used the visualization of the task [9] Peter Forbrig, Anke Dittmar, and Mathias Kühn. 2018. A Textual hierarchy in the graphical editors to check their ideas. The Domain Specific Language for Task Models: Generating Code for textual representation opens a new perspective. Graphical CoTaL, CTTE, and HAMSTERS. In Proceedings of the ACM SIGCHI and textual specifications should be used together to inspire Symposium on Engineering Interactive Computing Systems, EICS 2018, Paris, France, June 19-22, 2018. ACM, 5:1–5:6. https://doi.org/10.1145/ each other. Additionally, students mentioned that they liked 3220134.3225217 the rule-based structure of the language. Therefore, they [10] HAMSTERS 2018. ICS Group. (2018). did not have to specify identical sub-trees twice. Generic https://www.irit.fr/recherches/ICS/softwares/hamsters. components were characterized as supportive as well. [11] Vita Hinze-Hoare. 2007. The Review and Analysis of Human It might be worth to look for further abstractions of lan- Computer Interaction (HCI) Principles. CoRR abs/0707.3638 (2007). arXiv:0707.3638 http://arxiv.org/abs/0707.3638 guages for task models and business processes. [12] Udo Kannengiesser and Harald Müller. 2013. Towards Agent-Based Smart Factories: A Subject-Oriented Modeling Approach. In Proceed- 4 SUMMARY ings of the 2013 IEEE/WIC/ACM International Joint Conferences on Web Intelligence (WI) and Intelligent Agent Technologies (IAT) - Volume 03 Appropriate support for decision making is currently one of (WI-IAT ’13). IEEE Computer Society, Washington, DC, USA, 83–86. the biggest challenges of software engineering. This has to https://doi.org/10.1109/WI-IAT.2013.155 be reflected in education as well. Students have to be aware [13] Max E. Kramer, Erik Burger, and Michael Langhammer. 2013. View- of the decsion processes during software development and centric Engineering with Synchronized Heterogeneous Models. In the need of explaining decisions for end users. Proceedings of the 1st Workshop on View-Based, Aspect-Oriented and Orthographic Software Modelling (VAO ’13). ACM, New York, NY, USA, Decision migratability was considered as important aspect Article 5, 6 pages. https://doi.org/10.1145/2489861.2489864 and future challenge of smart systems. It was suggested to [14] Edward A. Lee. 2010. Disciplined Heterogeneous Modeling. In Model use the notation of QOC to represent the decision space and Driven Engineering Languages and Systems, Dorina C. Petriu, Nicolas the argumentation for a decision. Rouquette, and Øystein Haugen (Eds.). Springer Berlin Heidelberg, The process of collaborative decision making has to be Berlin, Heidelberg, 273–287. [15] Ahmed Seffah and Peter Forbrig. 2001. Software and Usability Engi- further analyzed. There are challenges in group composition neering Cross-Pollination. In Proc. INTERACT. IOS Press, 839. because personal profiles might be in conflict to each other. [16] Ahmed Seffah, Jan Gulliksen, and Michel C. Desmarais. 2005. An In- Providing hints by tools in this sense seem to be useful as well. troduction to Human-Centered Software Engineering. Springer Nether- Making software developers sensible for decision making lands, Dordrecht, 3–14. https://doi.org/10.1007/1-4020-4113-6_1 process during development and the fact that most of the [17] Xiong Zhang Wang Jingyuan, Li Chao and Shan Zhiguang. 2014. Sur- vey of Data-Centric Smart City. Journal of Computer Research and time no best solution exists is also a challenge for the future. Development 51, 2, Article 239 (2014), 20 pages. http://crad.ict.ac.cn/ EN/abstract/article_2077.shtml REFERENCES [18] Wikipedia. 2018. Industry 4.0. (2018). https://en.wikipedia.org/wiki/ [1] Carmelo Ardito, Maria Teresa Baldassarre, Danilo Caivano, and Rosa Industry_4.0 Lanzilotti. 2017. Integrating a SCRUM-Based Process with Human [19] A. Wortmann, B. Combemale, and O. Barais. 2017. A Systematic Centred Design: An Experience from an Action Research Study. 2017 Mapping Study on Modeling for Industry 4.0. In 2017 ACM/IEEE 20th IEEE/ACM 5th International Workshop on Conducting Empirical Studies International Conference on Model Driven Engineering Languages and in Industry (CESI) (2017), 2–8. Systems (MODELS), Vol. 00. 281–291. https://doi.org/10.1109/MODELS. [2] Gregor Buchholz and Peter Forbrig. 2017. Extended Features of Task 2017.14 Models for Specifying Cooperative Activities. PACMHCI 1, EICS (2017), [20] Xtext 2018. Language Engineering For Everyone! (2018). 7:1–7:21. https://doi.org/10.1145/3095809 https://www.eclipse.org/Xtext/. [3] CoTaSE 2018. SE Group. (2018). https://www.cotase.de/