A Cloud Architecture for an Extensible Multi-Paradigm Modeling Environment

Similar documents
Model-driven Performance Estimation, Deployment, and Resource Management for Cloud-hosted Services

THE CLOUD AND ITS EFFECTS ON WEB DEVELOPMENT

Nessus or Metasploit: Security Assessment of OpenStack Cloud

Data Integrity for Secure Dynamic Cloud Storage System Using TPA

Geoprocessing in Hybrid Clouds

Next Generation (Meta)Modeling: Web- and Cloud-based Collaborative Tool Infrastructure

A CIM-based approach for managing computing servers and hypervisors acting as active network elements

Context Aware Mobile Network Marketing Services

New Cloud Computing Network Architecture Directed At Multimedia

DC2AP Metadata Editor: A Metadata Editor for an Analysis Pattern Reuse Infrastructure

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

DEFINING CLOUD COMPUTING: AN ATTEMPT AT GIVING THE CLOUD AN IDENTITY.

High performance computing network for cloud environment using simulators

BPM in Cloud Architectures: Business Process Management with SLAs and Events

An Efficient Checkpointing Scheme Using Price History of Spot Instances in Cloud Computing Environment

Review of Cloud Computing Architecture for Social Computing

WebRatio 5: An Eclipse-based CASE tool for engineering Web applications

Beyond the Internet? THIN APPS STORE FOR SMART PHONES BASED ON PRIVATE CLOUD INFRASTRUCTURE. Innovations for future networks and services

AN EFFICIENT STRATEGY OF THE DATA INTEGRATION BASED CLOUD

Cloud3DView: Gamifying Data Center Management

Introduction to Cloud Computing

Reference Model for Cloud Applications CONSIDERATIONS FOR SW VENDORS BUILDING A SAAS SOLUTION

Implementing reusable software components for SNOMED CT diagram and expression concept representations

Answers to frequently asked questions about Autodesk A360 Collaboration for Revit

Cloud application for water resources modeling. Faculty of Computer Science, University Goce Delcev Shtip, Republic of Macedonia

Facilitating Consistency Check between Specification and Implementation with MapReduce Framework

International Journal of Advanced Research in Computer Science and Software Engineering

CoSMIC: An MDA Tool Suite for Application Deployment and Configuration

SAP HANA Cloud Portal Overview and Scenarios

Design of Visual Repository, Constraint and Process Modeling Tool based on Eclipse Plug-ins

Towards a Multi-Domain Model-Driven Traceability Approach

A DSL-based Approach to Software Development and Deployment on Cloud

Web Cloud Architecture

ISBN: SDIWC 1

The ADOxx Metamodelling Platform Workshop "Methods as Plug-Ins for Meta-Modelling" in conjunction with "Modellierung 2010", Klagenfurt

How To Build A Web App

Collaborative Open Market to Place Objects at your Service

technische universiteit eindhoven WIS & Engineering Geert-Jan Houben

G-Monitor: Gridbus web portal for monitoring and steering application execution on global grids

Enable Public Audit ability for Secure Cloud Storage

Easy configuration of NETCONF devices

A Hybrid Load Balancing Policy underlying Cloud Computing Environment


This presentation covers virtual application shared services supplied with IBM Workload Deployer version 3.1.

Eucalyptus LSS: Load-Based Scheduling on Virtual Servers Using Eucalyptus Private Cloud

Dynamic website development using the Grails Platform. Joshua Davis Senior Architect Cognizant Technology Solutions

Executive Summary. The purpose of this document is to provide an overview of the Niagara AX product model.

Survey On Cloud Computing

PRIVACY PRESERVATION ALGORITHM USING EFFECTIVE DATA LOOKUP ORGANIZATION FOR STORAGE CLOUDS

PLATFORM-AS-A-SERVICE (PAAS): THE ADOXX METAMODELLING PLATFORM

Mobile Hybrid Cloud Computing Issues and Solutions

A Tool Suite for the Generation and Validation of Configurations for Software Availability

Business Application Development Platform

Web 2.0-based SaaS for Community Resource Sharing

Testing & Assuring Mobile End User Experience Before Production. Neotys

Understanding Evolution's Architecture A Technical Overview

IMPLEMENTATION CONCEPT FOR ADVANCED CLIENT REPUDIATION DIVERGE AUDITOR IN PUBLIC CLOUD

CMotion: A Framework for Migration of Applications into and between Clouds

EFFICIENT AND SECURE DATA PRESERVING IN CLOUD USING ENHANCED SECURITY

Secured Storage of Outsourced Data in Cloud Computing

Business Process Management

What s New in VMware vsphere 5.1 VMware vcenter Server

ORACLE APPLICATION EXPRESS 5.0

XpoLog Center Suite Data Sheet

Visualizing a Neo4j Graph Database with KeyLines

Secure Attack Measure Selection and Intrusion Detection in Virtual Cloud Networks. Karnataka.

Modeling Cloud Architectures as Interactive Systems

A Review of Load Balancing Algorithms for Cloud Computing

An Open MPI-based Cloud Computing Service Architecture

Project Orwell: Distributed Document Integrity Verification

INVESTIGATION OF RENDERING AND STREAMING VIDEO CONTENT OVER CLOUD USING VIDEO EMULATOR FOR ENHANCED USER EXPERIENCE

Modern App Architecture for the Enterprise Delivering agility, portability and control with Docker Containers as a Service (CaaS)

Glassfish Architecture.

User Experience in the Cloud: Towards a Research Agenda

Mona: Secure Multi-Owner Data Sharing for Dynamic Groups in the Cloud

Data Integrity Check using Hash Functions in Cloud environment

Alcatel-Lucent IMS Application Server

AdRadionet to IBM Bluemix Connectivity Quickstart User Guide

zen Platform technical white paper

Building a Modular Server Platform with OSGi. Dileepa Jayakody Software Engineer SSWSO2 Inc.

Towards a Domain-Specific Language to Deploy Applications in the Clouds

Supply Chain Platform as a Service: a Cloud Perspective on Business Collaboration

Performance Analysis of VM Scheduling Algorithm of CloudSim in Cloud Computing

Transcription:

A Cloud Architecture for an Extensible Multi-Paradigm Modeling Environment Jonathan Corley 1 and Eugene Syriani 2 1 University of Alabama, U.S.A. 2 Université de Montréal, Canada Abstract. We present the cloud architecture of AToMPM, an open-source framework for designing domain-specific modeling environments, performing model transformations, manipulating and managing models. AToMPM s cloud-based architecture makes it independent from any operating system, platform, or device it may execute on as well as any visualization of the modeling structures (e.g., textual or graphical). AToMPM offers an online collaborative experience for modeling. Its unique architecture makes the framework scalable while also providing a flexible and completely customizable modeling environment. 1 Introduction In the perspective of making software technologies scalable, current software-as-aservice providers offer hardware and software virtualization in the cloud [1]. Modeldriven technologies can also benefit from this trend to make current model-driven engineering tools more scalable and appealing to industry needs. Model management tools, such as EMF [2] and GME [3], often rely on software and for performance reasons hardware dependencies that prevent domain-experts from using them. Recently, several new systems have emerged embracing a new paradigm of inbrowser software development environments including WebGME 3, Clooca 4, and Eclipse WebIDE 5. These systems provide a fully featured development environment available through modern web-browsers. WebGME and Clooca both provide modeling environments. However, it is not clear whether any of them supports multiple views with multiple users working jointly on the same models. In this paper, we describe the cloud architecture of AToMPM (A Tool for Multi- Paradigm Modeling) [4]. AToMPM is an open-source framework for designing DSML environments, performing model transformations, manipulating and managing models. The cloud architecture makes AToMPM independent from any operating system, platform, or device it may execute on. AToMPM s cloud architecture provides a scalable back-end for potentially many heterogeneous front-end environments including text-based command-line applications, graphical browser-based applications, and everything in between. AToMPM follows the philosophy of modeling everything explicitly, at the right level of abstraction(s), using the most appropriate formalism(s) and process(es), being completely modeled by itself (i.e., bootstrapped). 3 http://webgme.org/ 4 http://www.clooca.com/ 5 http://www.eclipse.org/orion/

Client Front End Server Back End Server S Stateful PC NODE VM SupCtrl MVC MC VM MC VM MVK MC VM NODE Model-verse Fig. 1. High level architecture of AToMPM. 2 Cloud Architecture of AToMPM An overview of the AToMPM architecture is illustrated in Fig. 1. The basic components are the client, the front-end web server, the Model View Controller (MVC) structure, and the Model-verse Kernel (MvK) along with the model-verse. 2.1 Client An in-browser client UI is packaged with the front-end server for AToMPM as a default client user interface (illustrated in Fig. 2). The in-browser client UI provides a generic environment consisting of a canvas and the ability to render toolbars. This generic client interface enables basic modeling actions: editing models, generating modeling languages, concrete syntax definitions, model transformation execution. The interface is completely extensible. Providing a new toolbar only requires creating a model that conforms to the toolbar metamodel. The in-browser client UI provides a rich, extensible environment for modeling that is available on any platform supporting a modern web browser. Also, the in-browser client does not require any download or installation process to be used on the client machine. Once the AToMPM server is online, end-users may connect to the in-browser UI by navigating to http://<server-address> /ATOMPM. However, the cloud architecture is not limited to supporting only the default inbrowser client. It can support anything from a terminal-based client to a smartphone application client. A client UI system must be able to communicate with the frontend server via sockets. The client would then send and receive communication using a change log structure for messages. Using this protocol the client can interact with existing models, build new models, and any other action that could be performed by the default browser-based client. This includes accessing toolbars and other plug-ins as used by the in-browser client. Additionally, since the cloud architecture of AToMPM interacts with all client UI systems via the socket communication using the same message protocol, any variety of client UI systems may be connected concurrently and will receive the same live updates regardless of which client UI that generated the update. For example, Bob could be accessing a smartphone application and would receive an update made by Alice who is using the in-browser interface.

Fig. 2. Default in-browser client for AToMPM. 2.2 Front-End Web Server All client UI systems connect directly to the front-end web server. The server manages all socket communications to and from clients. The front-end web server is built using node.js and maintains a caching system to keep track of all active sockets. Anytime a message is received the system utilizes the caches to identify where the message needs to be routed. There are a few exceptions where the web server may respond directly to a communication. For example, when a client closes their connection to a given model controller (discussed in Section 2.3) the server will remove the client from the appropriate cache and directly responds to the client. Additionally, the web server provides facilities for a basic messaging system to enable communication between end-users. However, the majority of messages are handled by the MVC structure which directly interfaces with the modeling kernel. The front-end web server maintains connections with end-users, and (as described in Section 2.1) the web server is agnostic of the type of client UI. The web server also has two subcomponents: S, a messaging system, and Stateful, a Statecharts execution environment used to execute the behavior of plugins that is modeled in Statecharts. These two components are included in the front-end server because they are both client concerns related to the run-time environment and not the modeling system. The primary advantage of the front-end web server is decoupling the back-end server structure from the clients and providing a lightweight scalable routing system to manage incoming messages. This way, the back-end system needs to consider only a single direct user and does not need to worry about routing responses to an arbitrary number of clients. For example, a model representing a single large system (e.g., a modern car) may be used by any number of users concurrently and a change would need to be routed to all of the users viewing the model. The front-end web server handles the communication overhead of sending messages to all relevant clients and the back-end

system only needs to handle the message appropriately and send a single response to the front-end web server. Thus, the front-end web server increases the scalability of the overall cloud architecture of AToMPM. 2.3 MVC The back-end server consists of two components: the MVC structure and the modeling kernel. The MVC structure provides the controllers that handle the majority of client requests. The MVC consists of three primary controller types: supercontroller, model controller, and package controller. The supercontroller manages model controllers. The model controller manages a given model and all views of that model. The package controller manages requests independent of a specific model. The supercontroller and package controller register themselves with the front-end server, a process that creates an open channel for subsequent socket communication with these two controllers. However, the model controllers are only instantiated as needed. If the system has thousands of models and only one is being actively used, then only one model controller will be active. Thus we vastly reduce the constraints on our server architecture when few resources are being used. As new models become active (via clients sending requests for these models), the front-end server will request from the supercontroller to open new model controllers to handle these requests. The supercontroller then acts as a load manager for the model controllers. It ensures only a single model controller is active for each model. The model controller ensures consistency between its related models. The front-end server then makes sure all messages from the model controller are routed to all users subscribed to the relevant model. Thus, users maintain a consistent and upto-date copy of the model, and the definitive copy of the model is kept on the server ensuring consistency. The model controller separates models into two categories: abstract models and view models. An abstract model is the traditional notion of a model. An abstract model is any entity that is modeled in the system and conforms to some metamodel. A view model is any model that conforms to the view metamodel. A view model must reference another model as its abstract model. The view contains a set of elements from the abstract model that are included in the view. Thus, we enable developers to work with only a portion of a model. The view also contains a concrete syntax mapping for every element included in the view. Thus, separate modelers may have their own representation, arrangement, and sizing for the elements of their view, but consistency of the underlying model elements is maintained for all views. Finally, a view has a list of associated tools (such as toolbars). The tools list includes the concrete syntax for the abstract model. This enables developers to use separate concrete syntaxes for the same model. 2.4 Modeling Kernel The second component in the back-end server is our modeling kernel, MvK. It contains and controls access to the model-verse (a repository of all models within the system) and handles executing all actions taken on any model in the model-verse. MvK offers an API to manage storing, retrieving, creating, altering, and removing models. MvK also

maintains consistency with conformance checks and verification of constraints. Finally, MvK contains components used to execute model transformations, action code, and simulations. MvK is a pure modeling system where all models are treated uniformly. The unique aspects of certain models are handled by the outside systems that use these models. For example, the concrete syntax model is merely a model conforming to the concrete syntax metamodel when considered by MvK. However, a client UI uses a concrete syntax model when generating the graphical components that will visually represent elements of the current model. 3 Conclusion We described the cloud-based architecture of AToMPM (A Tool for Multi-Paradigm Modeling). The cloud architecture makes AToMPM independent from any operating system, platform, or device it may execute on. AToMPM s cloud architecture provides a scalable back-end for potentially many heterogeneous front-end environments including text-based command-line applications, graphical web-based applications, and everything in between. The architecture consists of several key components: A front-end server which manages all direct communication with client systems. An MVC structure composed of three basic controllers. Supercontroller which manages model controllers. Ensuring only a single model controller exists for each active model. Model Controller which manages a given abstract model and all related view models. Ensuring consistency of the various models for all users. Package controller which manages requests not related to a specific model. The MvK which manages all access to the model-verse (the collection of all models). Together these components build a scalable and flexible modeling system supporting development of heterogeneous, and potentially globally distributed, modeling environments. References 1. Armbrust, M., Fox, A., Griffith, R., Joseph, A.D., Katz, R., Konwinski, A., Lee, G., Patterson, D., Rabkin, A., Stoica, I., Zaharia, M.: A View of Cloud Computing. Communications of the ACM 53(4) (apr 2010) 50 58 2. Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework. 2nd edn. Addison Wesley Professional (2008) 3. Lédeczi, Á., Bakay, A., Maroti, M., Völgyesi, P., Nordstrom, G., Sprinkle, J., Karsai, G.: Composing Domain-Specific Design Environments. IEEE Computer 34(11) (2001) 44 51 4. Syriani, E., Vangheluwe, H., Mannadiar, R., Hansen, C., Van Mierlo, S., Ergin, H.: AToMPM: A Web-based Modeling Environment. In: MODELS 13: Invited Talks, Demos, Posters, and ACM SRC. Volume 1115., Miami FL, USA, CEUR-WS.org (2013)