=Paper= {{Paper |id=Vol-2019/docsymp_5 |storemode=property |title=Feature-oriented Modeling for Collaborative Virtual Environment Construction |pdfUrl=https://ceur-ws.org/Vol-2019/docsymp_5.pdf |volume=Vol-2019 |authors=Xin Zhao |dblpUrl=https://dblp.org/rec/conf/models/Zhao17 }} ==Feature-oriented Modeling for Collaborative Virtual Environment Construction== https://ceur-ws.org/Vol-2019/docsymp_5.pdf
            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.