=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==
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.