ity is that we have not measured results in scenarios
using large scale models. Our results demonstrate
the performance scaling as size of the model is in-
creased, but do not demonstrate the interaction of si-
multaneously scaling the model size and concurrent
number of users. We were unable to test this sce-
nario due to limitations at the MvK level. Thus, we
must leave investigating the interaction of these two
variables for future work. We identify a threat to va-
lidity regarding the experimental setup. The method
for distributing controllers among available machines
has an influence on the overall performance. We as-
sume an ideal distribution of model controllers among
machines. In practice, the distribution of these con-
trollers may not be ideal, but the exact distribution
depends on the specfics of the load balancing algo-
rithm and factors specific to a given scenario. De-
pending on the load balancing strategy these factors
might include order of spawn for model controllers,
size of model/views on a given model controller, or
frequency of requests to a given model controller. The
experiments presented here provide an initial evalua-
tion identifying promisiong areas and areas in need of
further improvement in the current architecture. We
leave evaluating the complex task of load balancing
in our architecture to future work.
5 RELATED WORK
We only discuss related work focusing on multi-user
modeling environments. Nevertheless, there are also
related work in web diagramming environments
4
, dis-
tributed databases (
¨
Ozsu and Valduriez, 2011), and
distributed simulation (Zhang et al., 2010).
Modern modeling tools are primarily native desk-
top applications, e.g., MetaEdit+ (Kelly et al., 1996).
AToMPM is one of the first web-based collabora-
tion tool for MDE. It takes advantage of the ever in-
creasing capabilities of web technologies to provide a
purely in-browser interface for multi-paradigm mod-
eling activities. Nevertheless, Clooca (Hiya et al.,
2013) is a web-based modeling environment that lets
the user create DSLs and code generators. However,
it does not offer any collaboration support.
Recently, Maroti et al. proposed WebGME,
a web-based collaborative modeling version of
GME (Mar
´
oti et al., 2014). It offers a collaboration
where each user can share the same model and work
on it. In contrast with the Modelverse, WebGME re-
lies on a branching scheme (similar to the GIT ver-
sion control system) to manage the actions of different
4
https://cacoo.com/
users on the same model. Thus, WebGME supports
scenarios 1 and 2, but not in an always-online envi-
ronment, unlike in AToMPM where operations imme-
diately resolve.
The GEMOC Initiative (Combemale et al., 2014)
produced GEMOC Studio, a modeling system within
the Eclipse ecosystem. Users compose multiple DSLs
into a cohesive system with well-defined interaction
of the various models (Combemale et al., 2013).
GEMOC Studio provides a solution for scenario 3
similar to the Controllers, but does not handle con-
current users.
Gallardo et al. proposed a 3-phase frame-
work to create collaborative modeling tools based
on Eclipse (Gallardo et al., 2012). The difference
between creating a regular DSL and a collaborative
modeling tool in their system is the addition of the
technological framework, adding collaboration sup-
port to the DSL. Naming it “TurnTakingTool”, mul-
tiple users are able to modify an existing model by
utilizing a turn-based system. The framework helps
the user to create the DSL as a native eclipse plug-in
with concurrency controls, graphical syntax and mul-
tiple user support.
Basciani et al. proposed MDEForge (Basciani
et al., 2014), a web-based modeling platform. MDE-
Forge offers a set of services to the end user by a
rest api, including transformation, model, metamodel
editing. Although, the idea seems elegant, the system
was not ready at the time of writing this paper. The
authors, also, mention adding the collaborative capa-
bilities of the platform in the future.
6 CONCLUSION
In this paper, we presented the cloud architecture of
AToMPM providing modeling as a service and de-
signed to support collaborative modeling scenarios.
We presented a preliminary evaluation focusing on
how scaling the number of concurrent users impacts
the response time for create, delete, or load requests.
The results reveal that the controllers in the architec-
ture are efficient with regards to number of concur-
rent users, but the MvK currently presents a bottle-
neck. We plan to explore a strategy supporting dis-
tributed processing and storage for low-level model-
ing operations within the MvK. and then investigate
load balancing strategies to manage distributing pro-
cessing and storage among distributed nodes with dis-
tinct performance and storage capabilities.
Evaluating the Cloud Architecture of AToMPM
345