Feature-oriented Modeling for Collaborative Virtual Environment Construction Xin Zhao Department of Computer Science School of Engineering University of Alabama Tuscaloosa, Alabama 35487 Email: xzhao24@crimson.ua.edu Abstract—Collaborative Virtual Environments (CVEs) intro- JMonkeyEngine3 ) supporting CVE construction, these tools duce significant improvements to communication and interaction are highly expertized and developers need programming skills by offering a simulated visualization for data representation to implement systems using these tools. Such activities always and synchronized exchange. Participants can share their context and information in a consistent, integrated environment even if introduce many accidental complexities [5] to the environment they are geographically distributed. These characteristics greatly construction. enhance the virtualization of collaborative applications such Model-Driven Engineering focuses more on problem solv- as combat training, distance education, and a broad range ing from domain aspects rather than a focus on the under- of domain-specific needs. However, there are many accidental lying technology space. The promise of MDE — improving complexities involved in the creation of such environments that make it very challenging for end-users who do not have software system portability, reuseability and adaptability [19] [15] [24] development expertise. Our proposed work seeks to simplify — makes it an acceptable development methodology both and customize CVEs through feature-oriented modeling. The in academic and industrial fields. Feature-oriented software objective of this Ph.D. investigation is to provide a step-wise development (FOSD), a MDE-based software development collaborative environment construction approach for end-users, paradigm, involves product synthesis and customization based thus allowing non-experts to create CVEs simply by choosing system features. Specific research challenges in using feature on system features. Feature models, the core assets in FOSD, models for this specific application approach will be introduced encapsulate the commonalities and variabilities of software along with our vision for investigating these issues as a doctoral products. The set of these products builds up a Software dissertation. Product Line (SPL) [21]. Feature modeling allows developers I. I NTRODUCTION AND P ROBLEM to concentrate on a particular domain at an abstract level without knowing implementation details. Though FOSD has Virtual Reality (VR) is a computer-based technique that been applied to several application domains successfully [18], simulates a physical presence wherein users are able to interact employing feature-oriented modeling to virtual environment with a virtual world and gain sensory experiences (e.g., visual, construction is still new. haptic, aural). Although an exact definition of VR is hard to In summary, my Ph.D. research aims to answer the follow- formulate (the earliest existence of this concept comes from ing questions: a science fiction novel written by Weinbaum [8]), the great RQ1 — Methodology: Can we design a novel step-wise benefit of this technique is easy to see —“going nowhere but feature-oriented approach based on feature priority for experiencing anywhere” with equipment (such as headsets and software development? remote controllers). There are many areas that VR could apply, RQ2 — Design: Can we design collaborative virtual envi- such as education (distance learning), military (combat train- ronments through step-wise feature modeling? ing), health (surgery simulation), and civil engineering (urban RQ3 — Evaluation: To what extent do end-users benefit planning). A Collaborative Virtual Environment (CVE) is an from feature-oriented CVEs? extension of a networked virtual environment that provides a context for cooperation combining both the participants and II. R ELATED W ORK their information into a common display space with integration and persistence. Applying FOSD to CVE construction is still a new research The construction of CVEs is challenging, both from a field. Few works attempt to provide CVE construction through hardware aspect ([17], [16], [3]) and software aspect. Software feature-oriented approaches. In this section, we review some challenges, which are the focus of my research, mainly involve existing literature related to two research fields: CVE construc- how to facilitate the CVE construction process. Although there tion and FOSD. are several development tools (such as Unity 3D1 , Blender2 , CVEs aim at the synchronization of communication among different participants in one virtual environment. Greenhalgh 1 https://unity3d.com/ 2 https://www.blender.org/ 3 https://jmonkeyengine.org/ Fig. 1. Framework for our proposed solution to configure CVEs et al. proposed a collaborative virtual teleconferencing system A. Feature Model Construction [9]. Though this is one of the earliest papers discussing CVEs, In feature model construction, we will first build a pri- the focus of this work is how to process interactions between a oritized feature model. A prioritized feature diagram is a human and a computer. For research aiming at the construction feature diagram with all the features defined with priorities. of virtual environments, Hernández et al. [10] proposed a 3D For same level nodes, the priorities are labeled as 1,2,3...N. real-time CVE for GUI sketching. In this work, the authors For parent-children nodes, the priorities are labeled as 1- focus on collaborative GUI sketching and implemented a 1, 1-2, 1-3...1-N. When features have the same priorities, prototype called WeSketch. A similar tool is Teleplace4 , a their labels are the same. Then, we transform this prioritized 3D application for virtual on-line meetings. In the industrial feature diagram to a feature table. This table is organized context, there are some tools (e.g., Unity 3D, Blender) that according to priorities and presented to end-users. In order allow users to develop a customized virtual environment. to simplify the construction process and avoid construction However, these tools are highly-expertized and developers problems (e.g., feature interaction [14] may violate cross-tree need some programming skills to accomplish specific tasks. dependencies), we propose a step-wise construction for CVEs None of these industrial tools provide support for real-time from a feature table. Users choose features from the feature collaboration. table step-by-step. For example, if feature A excludes feature FOSD deals with external system features in a specific B and feature A has higher priority, then if feature A is chosen, domain. In FOSD, features are treated separately and designers feature B is automatically disabled in later steps. For features do not need to consider implementation details. A feature that have child nodes, when such features are chosen, the model is an abstraction of system features and consists of feature table will automatically extend to allow users to choose all the functional and non-functional elements in the system. their child feature nodes. There are several tools that support Feature diagrams [11] and formal semantics [20] are widely feature modeling construction, such as Feature Modeling Plug- used to represent feature models. Though FOSD decomposes in (fmp) [1] and FeatureIDE [12]. We plan to implement our the complexity of system design, it increases the complexity approach based on FeatureIDE, which supports all phases of when integrating and organizing all the system features [4]. FOSD and is fully integrated in the Eclipse IDE. Lee et al. proposed a guideline for solving this problem from domain planning and feature identification [13]. Although B. Product Configuration feature prioritization and feature selection are not novel ideas In the system implementation phase, the input of this step [2] [23], there still lacks related work toward applying a is the summation of all the features selected by the user selection process to CVE construction. FOSD has been applied from the feature table and the output is a CVE. We plan to many application domains, such as reverse engineering [7], to design two parts of a user interface — one part is the computer networks [22] and image processing [6]. feature table allowing end-users to choose system features they want and the other part is the real-time generation of the III. P ROPOSED S OLUTION CVE. This phase will be achieved using MDE, which means We propose a step-wise feature-oriented modeling approach that CVE construction is generated automatically. Eclipse for CVE construction. Figure 1 shows the framework for our and FeatureIDE would be our preferred tools for this step. proposed solution. In the following subsections, we discuss FeatureIDE enables code generation from feature diagram, the details in each step and possible tools used to support helping users to jump from high-level abstraction to system each step. implementation. However, FeatureIDE only supports the au- tomated generation of static part in the system. A model for 4 https://telexlr8.wordpress.com/openqwaq/teleplace/ behavioral aspects for the system need to be added in this step. For the convenience of our development, Java will be – 06/2017 — 11/2017: feature table construction the hosting language because Eclipse provides an integrated – 12/2017 — 05/2018: feature-based virtual environment environment for Java development. construction – 12/2017 — 06/2018: feature-based virtual environment C. Collaborative Communication testing In the system collaboration phase, we will connect different – 07/2018 — 10/2018: feature-based CVE construction users who are geographically distributed after the construction – 07/2018 — 11/2018: feature-based CVE testing of the virtual environment. In our proposed framework, col- – 12/2018 — 04/2019: collaborative virtual classroom im- laborative here means real-time collaboration — data is shared plementation with timely synchronization. One user could see another – 12/2018 — 05/2019: collaborative virtual classroom test- participant’s actions with low latency. There are some tools ing supporting real-time CVE development, such as Photon unity – 06/2019 — 08/2019: empirical evaluation of feature- networking5 and JMonkeyEngine6 . In this step, we plan to based CVE construction apply JMonkeyEngine as an implementation tool because it – 09/2019 — 12/2019: dissertation and defense supports Java development, which is consistent with imple- mentation languages in previous steps. R EFERENCES IV. E VALUATION AND E XPECTED C ONTRIBUTION [1] M. Antkiewicz and K. Czarnecki. Featureplugin: feature modeling plug- In order to evaluate our proposed framework, we plan to im- in for eclipse. In Proceedings of the 2004 OOPSLA workshop on eclipse plement an application based on a feature-oriented CVE — a technology eXchange, pages 67–72. ACM, 2004. collaborative virtual classroom. This prototype will implement [2] E. Bagheri, M. Asadi, D. Gasevic, and S. Soltani. Stratified analytic some basic teaching tasks in a real classroom, such as real- hierarchy process: Prioritization and selection of software features. Software Product Lines: Going Beyond, pages 300–315, 2010. time communication among participants. We plan to test this [3] D. R. Begault and L. J. Trejo. 3-d sound for virtual reality and simple collaborative virtual classroom to real scenarios and test multimedia. 2000. its performance. The analysis could include both qualitative [4] C. Bocovich and J. M. Atlee. Feature-oriented modelling in bip: A case study. In ModComp@ MoDELS, pages 6–11, 2016. evaluation (such as delay time and storage requirement) and [5] F. Brooks. No silver bullet : essence and accidents of software quantitative evaluation (such as semi-structured interview with engineering, 1987. users and post-surveys). [6] X. Deng, Y. Lan, T. Hong, and J. Chen. Citrus greening detection The contribution of this Ph.D. project is two-fold. We expect using visible spectrum imaging and c-svc. Computers and Electronics in Agriculture, 130:177–183, 2016. that this research will be both beneficial to academia and [7] S. Ferber, J. Haag, and J. Savolainen. Feature interaction and dependen- industry: cies: Modeling features for reengineering a legacy product line. Software product lines, pages 37–60, 2002. • In academia, we expect the proposal of step-wise feature [8] S. Grauman Weinbaum. Pygmalion’s spectacles, 1935. modeling could solve part of existing challenges in FOSD [9] C. Greenhalgh and S. Benford. Massive: a collaborative virtual envi- and provide related researchers a new aspect to the system ronment for teleconferencing. ACM Transactions on Computer-Human construction for product lines from feature modeling. Interaction (TOCHI), 2(3):239–261, 1995. [10] H. A. Hernández and H. Trefftz. Wesketch: A 3d real time collaborative • In industry, the contribution to the community may be the virtual environment that improves the gui sketching task. In Informa- new approach for building easy and customized CVEs tion Technology: New Generations (ITNG), 2011 Eighth International (software aspects) by non-experts across many domains. Conference on, pages 163–168. IEEE, 2011. [11] K. C. Kang, S. G. Cohen, J. A. Hess, W. E. Novak, and A. S. Peterson. V. C URRENT S TATUS Feature-oriented domain analysis (foda) feasibility study. Technical report, Carnegie-Mellon Univ Pittsburgh Pa Software Engineering Inst, This dissertation work is still in a very early age. At 1990. present, we achieved several tasks. First, we performed some [12] C. Kastner, T. Thum, G. Saake, J. Feigenspan, T. Leich, F. Wielgorz, and S. Apel. Featureide: A tool framework for feature-oriented software existing literature reviews to understand challenges in current development. In Software Engineering, 2009. ICSE 2009. IEEE 31st FOSD approaches. Furthermore, we tested several mainstream International Conference on, pages 611–614. IEEE, 2009. virtual environment building tools. From this testing, we found [13] K. Lee, K. C. Kang, and J. Lee. Concepts and guidelines of feature modeling for product line software engineering. In International some issues that prevent an easy and fast way to CVE Conference on Software Reuse, pages 62–77. Springer, 2002. construction for non-experts. To make the customization of [14] J. Liu, D. S. Batory, and S. Nedunuri. Modeling interactions in feature CVEs more accessible to non-experts, we propose applying oriented software designs. In FIW, pages 178–197, 2005. MDE to overcome these challenges. The next steps of our [15] S. J. Mellor, T. Clark, and T. Futagami. Model-driven development: guest editors’ introduction. IEEE software, 20(5):14–18, 2003. work include step-wise feature model construction design and [16] T. Ni, G. S. Schmidt, O. G. Staadt, M. A. Livingston, R. Ball, and implementation, applying step-wise feature modeling approach R. May. A survey of large high-resolution display technologies, to build CVEs, and system testing. shows a proposed timeline techniques, and applications. In Virtual Reality Conference, 2006, pages 223–236. IEEE, 2006. for completion. The highlights of proposed timeline are shown [17] E. Peters, B. Heijligers, J. de Kievith, X. Razafindrakoto, R. van Ooster- as follows: hout, C. Santos, I. Mayer, and M. Louwerse. Design for collaboration in mixed reality: Technical challenges and solutions. In Games and Virtual 5 https://www.photonengine.com/en/Photon Worlds for Serious Applications (VS-Games), 2016 8th International 6 http://jmonkeyengine.org Conference on, pages 1–7. IEEE, 2016. [18] D. Rabiser, H. Prähofer, P. Grünbacher, M. Petruzelka, K. Eder, F. An- gerer, M. Kromoser, and A. Grimmer. Multi-purpose, multi-level feature modeling of large-scale industrial software systems. Software & Systems Modeling, pages 1–26, 2016. [19] B. Selic. The pragmatics of model-driven development. IEEE software, 20(5):19–25, 2003. [20] J. Sun, H. Zhang, Y. Fang, and L. H. Wang. Formal semantics and verification for feature modeling. In Engineering of Complex Computer Systems, 2005. ICECCS 2005. Proceedings. 10th IEEE International Conference on, pages 303–312. IEEE, 2005. [21] D. M. Weiss and C. T. R. Lai. Software product-line engineering: a family-based software development process, volume 12. Addison-Wesley Reading, 1999. [22] L. Wu, T. G. Barker, and V. S. Desai. Computer-implemented modeling systems and methods for analyzing and predicting computer network intrusions, Sept. 6 2011. US Patent 8,015,133. [23] E. Yamany, A. Eid, M. Shaheen, and A. S. Sayyad. Opti-select: An interactive tool for user-in-the-loop feature selection in software product lines. In Proceedings of the 18th International Software Product Line Conference: Companion Volume for Workshops, Demonstrations and Tools-Volume 2, pages 126–129. ACM, 2014. [24] L. Zhu and Y. Liu. Model driven development with non-functional aspects. In Proceedings of the 2009 ICSE Workshop on Aspect-Oriented Requirements Engineering and Architecture Design, pages 49–54. IEEE Computer Society, 2009.