INTERNATIONAL JOURNAL OF INNOVATIVE TECHNOLOGY AND CREATIVE ENGINEERING (ISSN:2045-8711) VOL.12 NO.02 FEB 2022
www.ijitce.co.uk
INTERNATIONAL JOURNAL OF INNOVATIVE TECHNOLOGY AND CREATIVE ENGINEERING (ISSN:2045-8711) VOL.12 NO.02 FEB 2022
UK: Managing Editor International Journal of Innovative Technology and Creative Engineering 1a park lane, Cranford London TW59WA UK
USA: Editor International Journal of Innovative Technology and Creative Engineering Dr. Arumugam Department of Chemistry University of Georgia GA-30602, USA.
India: Editor International Journal of Innovative Technology & Creative Engineering 36/4 12th Avenue, 1st cross St, Vaigai Colony Ashok Nagar Chennai, India 600083 Email: editor@ijitce.co.uk
www.ijitce.co.uk
www.ijitce.co.uk
INTERNATIONAL JOURNAL OF INNOVATIVE TECHNOLOGY AND CREATIVE ENGINEERING (ISSN:2045-8711) VOL.12 NO.02 FEB 2022
IJITCE PUBLICATION
International Journal of Innovative Technology & Creative Engineering Vol.12 No.02 February 2022
www.ijitce.co.uk
www.ijitce.co.uk
INTERNATIONAL JOURNAL OF INNOVATIVE TECHNOLOGY AND CREATIVE ENGINEERING (ISSN:2045-8711) VOL.12 NO.02 FEB 2022
Dear Researcher, Greetings! Articles in this issue discusses about Arduino Support to Quorum Programming Language Through Cloud Computing.
We look forward many more new technologies in the next month. Thanks, Editorial Team IJITCE
www.ijitce.co.uk
INTERNATIONAL JOURNAL OF INNOVATIVE TECHNOLOGY AND CREATIVE ENGINEERING (ISSN:2045-8711) VOL.12 NO.02 FEB 2022
Editorial Members Dr. Chee Kyun Ng Ph.D Department of Computer and Communication Systems, Faculty of Engineering,Universiti Putra Malaysia,UPMSerdang, 43400 Selangor,Malaysia. Dr. Simon SEE Ph.D Chief Technologist and Technical Director at Oracle Corporation, Associate Professor (Adjunct) at Nanyang Technological University Professor (Adjunct) at ShangaiJiaotong University, 27 West Coast Rise #08-12,Singapore 127470 Dr. sc.agr. Horst Juergen SCHWARTZ Ph.D, Humboldt-University of Berlin,Faculty of Agriculture and Horticulture,Asternplatz 2a, D-12203 Berlin,Germany Dr. Marco L. BianchiniPh.D Italian National Research Council; IBAF-CNR,Via Salaria km 29.300, 00015 MonterotondoScalo (RM),Italy Dr. NijadKabbara Ph.D Marine Research Centre / Remote Sensing Centre/ National Council for Scientific Research, P. O. Box: 189 Jounieh,Lebanon Dr. Aaron Solomon Ph.D Department of Computer Science, National Chi Nan University,No. 303, University Road,Puli Town, Nantou County 54561,Taiwan Dr. Arthanariee. A. M M.Sc.,M.Phil.,M.S.,Ph.D Director - Bharathidasan School of Computer Applications, Ellispettai, Erode, Tamil Nadu,India Dr. Takaharu KAMEOKA, Ph.D Professor, Laboratory of Food, Environmental & Cultural Informatics Division of Sustainable Resource Sciences, Graduate School of Bioresources,Mie University, 1577 Kurimamachiya-cho, Tsu, Mie, 514-8507, Japan Dr. M. Sivakumar M.C.A.,ITIL.,PRINCE2.,ISTQB.,OCP.,ICP. Ph.D. Technology Architect, Healthcare and Insurance Industry, Chicago, USA Dr. Bulent AcmaPh.D Anadolu University, Department of Economics,Unit of Southeastern Anatolia Project(GAP),26470 Eskisehir,TURKEY Dr. Selvanathan Arumugam Ph.D Research Scientist, Department of Chemistry, University of Georgia, GA-30602,USA. Dr. S.Prasath Ph.D Assistant Professor, Department of Computer Science, Nandha Arts & Science College, Erode , Tamil Nadu, India Dr. P.Periyasamy, M.C.A.,M.Phil.,Ph.D. Associate Professor, Department of Computer Science and Applications, SRM Trichy Arts and Science College, SRM Nagar, Trichy - Chennai Highway, Near Samayapuram, Trichy - 621 105, Mr. V N Prem Anand Secretary, Cyber Society of India
www.ijitce.co.uk
INTERNATIONAL JOURNAL OF INNOVATIVE TECHNOLOGY AND CREATIVE ENGINEERING (ISSN:2045-8711) VOL.12 NO.02 FEB 2022
Review Board Members Dr. Rajaram Venkataraman Chief Executive Officer, Vel Tech TBI || Convener, FICCI TN State Technology Panel || Founder, Navya Insights || President, SPIN Chennai Dr. Paul Koltun Senior Research ScientistLCA and Industrial Ecology Group,Metallic& Ceramic Materials,CSIRO Process Science & Engineering Private Bag 33, Clayton South MDC 3169,Gate 5 Normanby Rd., Clayton Vic. 3168, Australia Dr. Zhiming Yang MD., Ph. D. Department of Radiation Oncology and Molecular Radiation Science,1550 Orleans Street Rm 441, Baltimore MD, 21231,USA Dr. Jifeng Wang Department of Mechanical Science and Engineering, University of Illinois at Urbana-Champaign Urbana, Illinois, 61801, USA Dr. Giuseppe Baldacchini ENEA - Frascati Research Center, Via Enrico Fermi 45 - P.O. Box 65,00044 Frascati, Roma, ITALY. Dr. MutamedTurkiNayefKhatib Assistant Professor of Telecommunication Engineering,Head of Telecommunication Engineering Department,Palestine Technical University (Kadoorie), TulKarm, PALESTINE. Dr.P.UmaMaheswari Prof &Head,Depaartment of CSE/IT, INFO Institute of Engineering,Coimbatore. Dr. T. Christopher, Ph.D., Assistant Professor &Head,Department of Computer Science,Government Arts College(Autonomous),Udumalpet, India. Dr. T. DEVI Ph.D. Engg. (Warwick, UK), Head,Department of Computer Applications,Bharathiar University,Coimbatore-641 046, India. Dr. Renato J. orsato Professor at FGV-EAESP,Getulio Vargas Foundation,São Paulo Business School,RuaItapeva, 474 (8° andar),01332-000, São Paulo (SP), Brazil Visiting Scholar at INSEAD,INSEAD Social Innovation Centre,Boulevard de Constance,77305 Fontainebleau - France Y. BenalYurtlu Assist. Prof. OndokuzMayis University Dr.Sumeer Gul Assistant Professor,Department of Library and Information Science,University of Kashmir,India Dr. ChutimaBoonthum-Denecke, Ph.D Department of Computer Science,Science& Technology Bldg., Rm 120,Hampton University,Hampton, VA 23688 Dr. Renato J. Orsato Professor at FGV-EAESP,Getulio Vargas Foundation,São Paulo Business SchoolRuaItapeva, 474 (8° andar),01332-000, São Paulo (SP), Brazil Dr. Lucy M. Brown, Ph.D. Texas State University,601 University Drive,School of Journalism and Mass Communication,OM330B,San Marcos, TX 78666 JavadRobati Crop Production Departement,University of Maragheh,Golshahr,Maragheh,Iran VineshSukumar (PhD, MBA) Product Engineering Segment Manager, Imaging Products, Aptina Imaging Inc. Dr. Binod Kumar PhD(CS), M.Phil.(CS), MIAENG,MIEEE Professor, JSPM's Rajarshi Shahu College of Engineering, MCA Dept., Pune, India. Dr. S. B. Warkad Associate Professor, Department of Electrical Engineering, Priyadarshini College of Engineering, Nagpur, India Dr. doc. Ing. RostislavChoteborský, Ph.D. Katedramateriálu a strojírenskétechnologieTechnickáfakulta,Ceskázemedelskáuniverzita v Praze,Kamýcká 129, Praha 6, 165 21
www.ijitce.co.uk
INTERNATIONAL JOURNAL OF INNOVATIVE TECHNOLOGY AND CREATIVE ENGINEERING (ISSN:2045-8711) VOL.12 NO.02 FEB 2022 Dr. Paul Koltun Senior Research ScientistLCA and Industrial Ecology Group,Metallic& Ceramic Materials,CSIRO Process Science & Engineering Private Bag 33, Clayton South MDC 3169,Gate 5 Normanby Rd., Clayton Vic. 3168
DR.ChutimaBoonthum-Denecke, Ph.D Department of Computer Science,Science& Technology Bldg.,HamptonUniversity,Hampton, VA 23688 Mr. Abhishek Taneja B.sc(Electronics),M.B.E,M.C.A.,M.Phil., Assistant Professor in the Department of Computer Science & Applications, at Dronacharya Institute of Management and Technology, Kurukshetra. (India). Dr. Ing. RostislavChotěborský,ph.d, Katedramateriálu a strojírenskétechnologie, Technickáfakulta,Českázemědělskáuniverzita v Praze,Kamýcká 129, Praha 6, 165 21
Dr. AmalaVijayaSelvi Rajan, B.sc,Ph.d, Faculty – Information Technology Dubai Women’s College – Higher Colleges of Technology,P.O. Box – 16062, Dubai, UAE
Naik Nitin AshokraoB.sc,M.Sc Lecturer in YeshwantMahavidyalayaNanded University Dr.A.Kathirvell, B.E, M.E, Ph.D,MISTE, MIACSIT, MENGG Professor - Department of Computer Science and Engineering,Tagore Engineering College, Chennai Dr. H. S. Fadewar B.sc,M.sc,M.Phil.,ph.d,PGDBM,B.Ed. Associate Professor - Sinhgad Institute of Management & Computer Application, Mumbai-BangloreWesternly Express Way Narhe, Pune - 41 Dr. David Batten Leader, Algal Pre-Feasibility Study,Transport Technologies and Sustainable Fuels,CSIRO Energy Transformed Flagship Private Bag 1,Aspendale, Vic. 3195,AUSTRALIA Dr R C Panda (MTech& PhD(IITM);Ex-Faculty (Curtin Univ Tech, Perth, Australia))Scientist CLRI (CSIR), Adyar, Chennai - 600 020,India Miss Jing He PH.D. Candidate of Georgia State University,1450 Willow Lake Dr. NE,Atlanta, GA, 30329 Jeremiah Neubert Assistant Professor,MechanicalEngineering,University of North Dakota Hui Shen Mechanical Engineering Dept,Ohio Northern Univ. Dr. Xiangfa Wu, Ph.D. Assistant Professor / Mechanical Engineering,NORTH DAKOTA STATE UNIVERSITY SeraphinChallyAbou Professor,Mechanical& Industrial Engineering Depart,MEHS Program, 235 Voss-Kovach Hall,1305 OrdeanCourt,Duluth, Minnesota 55812-3042 Dr. Qiang Cheng, Ph.D. Assistant Professor,Computer Science Department Southern Illinois University CarbondaleFaner Hall, Room 2140-Mail Code 45111000 Faner Drive, Carbondale, IL 62901 Dr. Carlos Barrios, PhD Assistant Professor of Architecture,School of Architecture and Planning,The Catholic University of America Y. BenalYurtlu Assist. Prof. OndokuzMayis University Dr. Lucy M. Brown, Ph.D. Texas State University,601 University Drive,School of Journalism and Mass Communication,OM330B,San Marcos, TX 78666 Dr. Paul Koltun Senior Research ScientistLCA and Industrial Ecology Group,Metallic& Ceramic Materials CSIRO Process Science & Engineering
www.ijitce.co.uk
INTERNATIONAL JOURNAL OF INNOVATIVE TECHNOLOGY AND CREATIVE ENGINEERING (ISSN:2045-8711) VOL.12 NO.02 FEB 2022 Dr.Sumeer Gul Assistant Professor,Department of Library and Information Science,University of Kashmir,India Dr. ChutimaBoonthum-Denecke, Ph.D Department of Computer Science,Science& Technology Bldg., Rm 120,Hampton University,Hampton, VA 23688
Dr. Renato J. Orsato Professor at FGV-EAESP,Getulio Vargas Foundation,São Paulo Business School,RuaItapeva, 474 (8° andar)01332-000, São Paulo (SP), Brazil Dr. Wael M. G. Ibrahim Department Head-Electronics Engineering Technology Dept.School of Engineering Technology ECPI College of Technology 5501 Greenwich Road - Suite 100,Virginia Beach, VA 23462 Dr. Messaoud Jake Bahoura Associate Professor-Engineering Department and Center for Materials Research Norfolk State University,700 Park avenue,Norfolk, VA 23504 Dr. V. P. Eswaramurthy M.C.A., M.Phil., Ph.D., Assistant Professor of Computer Science, Government Arts College(Autonomous), Salem-636 007, India. Dr. P. Kamakkannan,M.C.A., Ph.D ., Assistant Professor of Computer Science, Government Arts College(Autonomous), Salem-636 007, India. Dr. V. Karthikeyani Ph.D., Assistant Professor of Computer Science, Government Arts College(Autonomous), Salem-636 008, India. Dr. K. Thangadurai Ph.D., Assistant Professor, Department of Computer Science, Government Arts College ( Autonomous ), Karur - 639 005,India. Dr. N. Maheswari Ph.D., Assistant Professor, Department of MCA, Faculty of Engineering and Technology, SRM University, Kattangulathur, Kanchipiram Dt - 603 203, India. Mr. Md. Musfique Anwar B.Sc(Engg.) Lecturer, Computer Science & Engineering Department, Jahangirnagar University, Savar, Dhaka, Bangladesh. Mrs. Smitha Ramachandran M.Sc(CS)., SAP Analyst, Akzonobel, Slough, United Kingdom. Dr. V. Vallimayil Ph.D., Director, Department of MCA, Vivekanandha Business School For Women, Elayampalayam, Tiruchengode - 637 205, India. Mr. M. Moorthi M.C.A., M.Phil., Assistant Professor, Department of computer Applications, Kongu Arts and Science College, India PremaSelvarajBsc,M.C.A,M.Phil Assistant Professor,Department of Computer Science,KSR College of Arts and Science, Tiruchengode Mr. G. Rajendran M.C.A., M.Phil., N.E.T., PGDBM., PGDBF., Assistant Professor, Department of Computer Science, Government Arts College, Salem, India. Dr. Pradeep H Pendse B.E.,M.M.S.,Ph.d Dean - IT,Welingkar Institute of Management Development and Research, Mumbai, India Muhammad Javed Centre for Next Generation Localisation, School of Computing, Dublin City University, Dublin 9, Ireland Dr. G. GOBI Assistant Professor-Department of Physics,Government Arts College,Salem - 636 007 Dr.S.Senthilkumar Post Doctoral Research Fellow, (Mathematics and Computer Science & Applications),UniversitiSainsMalaysia,School of Mathematical Sciences, Pulau Pinang-11800,[PENANG],MALAYSIA. Manoj Sharma Associate Professor Deptt. of ECE, PrannathParnami Institute of Management & Technology, Hissar, Haryana, India RAMKUMAR JAGANATHAN Asst-Professor,Dept of Computer Science, V.L.B Janakiammal college of Arts & Science, Coimbatore,Tamilnadu, India Dr. S. B. Warkad Assoc. Professor, Priyadarshini College of Engineering, Nagpur, Maharashtra State, India
www.ijitce.co.uk
INTERNATIONAL JOURNAL OF INNOVATIVE TECHNOLOGY AND CREATIVE ENGINEERING (ISSN:2045-8711) VOL.12 NO.02 FEB 2022 Dr. Saurabh Pal Associate Professor, UNS Institute of Engg. & Tech., VBS Purvanchal University, Jaunpur, India
Manimala Assistant Professor, Department of Applied Electronics and Instrumentation, St Joseph’s College of Engineering & Technology, Choondacherry Post, Kottayam Dt. Kerala -686579 Dr. Qazi S. M. Zia-ul-Haque Control Engineer Synchrotron-light for Experimental Sciences and Applications in the Middle East (SESAME),P. O. Box 7, Allan 19252, Jordan Dr. A. Subramani, M.C.A.,M.Phil.,Ph.D. Professor,Department of Computer Applications, K.S.R. College of Engineering, Tiruchengode - 637215 Dr. SeraphinChallyAbou Professor, Mechanical & Industrial Engineering Depart. MEHS Program, 235 Voss-Kovach Hall, 1305 Ordean Court Duluth, Minnesota 558123042 Dr. K. Kousalya Professor, Department of CSE,Kongu Engineering College,Perundurai-638 052 Dr. (Mrs.) R. Uma Rani Asso.Prof., Department of Computer Science, Sri Sarada College For Women, Salem-16, Tamil Nadu, India. MOHAMMAD YAZDANI-ASRAMI Electrical and Computer Engineering Department, Babol"Noshirvani" University of Technology, Iran. Dr. Kulasekharan, N, Ph.D Technical Lead - CFD,GE Appliances and Lighting, GE India,John F Welch Technology Center,Plot # 122, EPIP, Phase 2,Whitefield Road,Bangalore – 560066, India. Dr. Manjeet Bansal Dean (Post Graduate),Department of Civil Engineering,Punjab Technical University,GianiZail Singh Campus,Bathinda -151001 (Punjab),INDIA Dr. Oliver Jukić Vice Dean for education,Virovitica College,MatijeGupca 78,33000 Virovitica, Croatia Dr. Lori A. Wolff, Ph.D., J.D. Professor of Leadership and Counselor Education,The University of Mississippi,Department of Leadership and Counselor Education, 139 Guyton University, MS 38677
www.ijitce.co.uk
INTERNATIONAL JOURNAL OF INNOVATIVE TECHNOLOGY AND CREATIVE ENGINEERING (ISSN:2045-8711) VOL.12 NO.02 FEB 2022
Contents Arduino Support to Quorum Programming Language Through Cloud Computing ……...….…. [ 1081 ]
www.ijitce.co.uk
INTERNATIONAL JOURNAL OF INNOVATIVE TECHNOLOGY AND CREATIVE ENGINEERING (ISSN:2045-8711) VOL.12 NO.02 FEB 2022
Arduino Support to Quorum Programming Language Through Cloud Computing Karan Sandam #1, Sanjyot Satvi *2, Oren D’cunha#3 # Department
of Information Technology, St. Francis Institute of Technology, Mumbai India 1 sandamkaran3030@student.sfit.ac.in 2 sanjyot.satvi242@student.sfit.ac.in
Abstract—
Quorum
programming
entirely on cloud. Thus users can program
language started out as a project aimed
Arduino boards using Quorum right in their
towards simplifying syntax to reduce
browser.
complexity in writing codes. Over the years
Keywords: arduino; cloud transpiler; cloud
it has evolved and now it supports audio
compiler;
processing,
language; web-app
basic
game
development,
LEGO robotics and more. As a result, quorum can now be used to teach programming in high schools and colleges
I.
docker;
programming;
quorum
INTRODUCTION Quorum
is
an
evidence-based
like. The aim of this paper is to allow
programming language, mainly designed to be
students to program Arduino boards using
accessible by everyone, in particular to
this language along with learning the
visually-impaired students. It aims to simplify
fundamentals of programming. This would
syntax while writing codes. Its applications
result in adding a new application area to
include
quorum. Our system transpiles (converts)
development etc. Academic curriculum laid
user submitted quorum code into logically
out by Quo- rum can be used by teachers to
equivalent Arduino code. It incorporates a
teach programming concepts to students. [1]
total of three web services developed
[2] As such we believe that the simplicity of
using NodeJS and Tornado, deployed
quorum
separately as containerized applications
technologies in collabo- ration while learning
over Heroku. Apart from this, MongoDB
the language itself. This encouraged us to
and Firebase Cloud Storage are used for
think about various possible areas which can
storing user details and files respectively.
be benefited from quorum.
This
design
asynchronous
allows and
us scalable
with
audio
can
processing,
be
used
to
basic
teach
game
other
an
system
1081
www.ijitce.co.uk
INTERNATIONAL JOURNAL OF INNOVATIVE TECHNOLOGY AND CREATIVE ENGINEERING (ISSN:2045-8711) VOL.12 NO.02 FEB 2022
Arduino boards are one of the most widely
Transpilation is a process of converting a
used microcontrollers in embedded systems.
code in one high level language to another
It offers inherent advantages like being
high level language. Eg. Converting a code
inexpensive,
platform
written in Python to Java. This process
operation, is open-source and has extensible
involves converting the original source code
software and hardware. All these advantages
into some intermediary data structure which
allow Arduino to be used extensively in
captures all the essential features of the input
personal and industrial projects. Hence,
code
Arduino support for the Quorum programming
intermediary data structure to target language.
language was decided upon.
Abstract Syntax Trees(AST) are widely used
supports
cross
followed
by
conversion
of
this
as intermediary data structures due to their Cloud computing generally means storing and accessing data or programs over the
small size and easier interpretation than parse trees. [8]
internet. More specifically delivering computer services can be called cloud computing.
In this paper we present a transpiler for
Recent years have seen availability of all
converting Quorum into Arduino that functions
different types of compilers that are deployed
within a browser. In section II we provide a
online. Such compilers are widely found in
detailed description of all the components that
online programming contests, recruitment
make up the system followed by section III
platforms
which depicts
and
learning
platforms
alike.
how these components are
Basically these compilers work by spawning a
related and work in cohesion. System
compile command in a certain sandboxed
implementation is elaborated in section IV.
environ- ment returning output to the user.
Section V reviews the performance of the
Different organizations have incorporated
system and finally we conclude the paper
different architectures for their needs keeping
along with possible technical implementations
in mind the number of users that will be using
for increasing the performance and features.
the compiler, available resources, response
of section headings, document margins,
time and many other factors. Deploying
column width, column spacing and other
compilers over cloud increases the range of
features.
devices through which people can write programs while reducing the overhead of compiler maintenance. [10] [4]
1082
www.ijitce.co.uk
INTERNATIONAL JOURNAL OF INNOVATIVE TECHNOLOGY AND CREATIVE ENGINEERING (ISSN:2045-8711) VOL.12 NO.02 FEB 2022 II.
SYSTEM DESCRIPTION
combining values of the nodes with a predefined template of statements. Detailed
Quorum Compiler
A.
The Quorum compiler is packed as a jar file that needs to be invoked every time to compile
explanation of the transpilation is provided below.
a Quorum file. Just like other programming language
files,
quorum
files
end
with
extension .quorum. Apart from the compiler’s jar file, path to the standard library along with the user file and custom sensor libraries need to be passed in order to compile a quorum file. Thus the command to compile looks like: java
-jar
Quorum.jar
path/to/standard/libraries
-
-library compile
userfile.quorum LED.quorum IRED.quorum
Fig. 1. Working of Lexer and Parser The job of lexer is to identify words in the input stream and assign appropriate Tokens to
Quorum files after userfile.quorum are all
them. After assigning tokens, the parser reads
sensor based libraries written to help quorum
this sequence of tokens and generates a
identify new functions and classes added to
parse tree containing all the information of the
support arduino.
input line of code.
B.
Quorum to Arduino Transpiler The quorum to Arduino transpiler consists of
4 main files viz. lexer, parser, listener and actual transpiler itself with additional handler file to facilitate the process of transpilation. The lexer reads the quorum files and generates a stream of tokens which the parser reads to generate a parse tree. Listener contains functions that are invoked when traversing the parse tree. These functions are modified so as to generate another tree that stores all the minimal information needed for transpilation. The transpiler file then reads this newly generated tree and converts them by
1083
Tokens and parser rules are specified in the grammar file. ANTLR4 reads this file and generates lexer, Parser and other necessary files. Another important file that is generated is the listener. It is used to traverse the parse tree. While traversing the parse tree, a new tree is generated which serves as an intermediate
data
structure
for
code
conversion. This new tree captures only essential information and is more compact than a parse tree.
www.ijitce.co.uk
INTERNATIONAL JOURNAL OF INNOVATIVE TECHNOLOGY AND CREATIVE ENGINEERING (ISSN:2045-8711) VOL.12 NO.02 FEB 2022
followed by copying of all the required source files while building the image.
Heroku
D.
Heroku is a Platform-as-a-Service(PaaS) cloud service provider. With support for Fig. 2. Conversion of Parse Tree into
multiple languages, a wide range of add-ons,
Transpiled code
ease in deploying and scaling are some of the features that make Heroku a top choice
For each of the syntax, keywords and
among
organizations
and
individual
possible statements of quorum, corresponding
developers. Its free tier provides all the
mapping is written in Arduino. The transpiler
necessary requirements for deploying all our
looks up these mappings while reading the
apps viz. Ui handler, compiler and transpiler.
new tree and applies appropriate substitution
The UI handler is deployed simply as a
to all the nodes to generate the converted
webapp while the other two are containerized. To ease the process of development and
code.
deployment, both transpiler and compiler are C.
part
Docker Container Containers can be thought of as a package
which contains the app itself bundled with all its
dependencies
and
its
execution
environment. This allows greater portability, as these containers can be executed on any machine with a Docker engine. Containers are
of
the
Corresponding
same
production
github
pipeline.
repositories
are
attached to them and environment variables are configured separately. Each app runs on a standard web dyno. III.
SYSTEM ARCHITECTURE
The
system
follows
the
Client-Server
lightweight as compared to traditional virtual
architecture and is heavily inspired by the
machines and are more secure than VMs due
designs presented in papers[4] and [5]. Login,
to tighter and more sandboxed environments.
UI and file storing functionalities are handled
Our docker containers for both compiler and
by the NodeJS server. For Signup and Login,
transpiler are derived from base ubuntu
user data is updated and fetched from the
image. With the help of Dockerfile Python,
MongoDB database. Post signup/login user is
Java and other dependencies are installed
presented with a text-editor with certain other features that aid him in writing code. After
1084
www.ijitce.co.uk
INTERNATIONAL JOURNAL OF INNOVATIVE TECHNOLOGY AND CREATIVE ENGINEERING (ISSN:2045-8711) VOL.12 NO.02 FEB 2022
clicking on save, the file is saved to Firebase
result area which shows errors or converted
Cloud storage. Afterwards the user can click
code accordingly.
Compile. The NodeJS server then sends a
B.
request to the compiler server asking for the particular file to be compiled. The compile server downloads the file and compiles it. Results are sent back to the user. Similarly, after clicking Transpile, a request is made to the
transpile
server.
It
downloads and
proceeds to transpilation. Errors if any or converted code are then sent back to calling NodeJS server. Both the compile and transpile
Quorum Compiler For each compile request a new subprocess
is spawned. The terminal output of this process is checked and formatted to be sent back to the user. Sensitive information if any is removed from the response. If the compilation process is successful the compiler outputs Build Successful, else a list of errors along with line number and description is displayed.
servers delete the file on completion of the request. All the communication between the servers takes place in JSON.
C.
Quorum Transpiler Unlike the compiler, the transpiler is
designed to only send results. If any errors are encountered they are simply ignored. This may lead to erroneous output. But the possibilities
of
errors
arising
during
transpilation are quite low, since the compiler has already checked the files. All the quorum files need to follow the below structure
Fig. 3. System Diagram
for
successful
and
correct
compilation. ● Names of sensor libraries that will be
IV. IMPLEMENTATION A.
used followed by class declaration ● Inside
User Interface User interface consists of a general purpose
text editor. An option to upload files is also provided. Before saving it is mandatory that the user sets the name of the file without any extension. Finally at the bottom there is a
1085
the
class
begins
with
instantiation of libraries that will be used . ● Proceed
with
action
Main()
and
configure pins using respective sensor methods.
www.ijitce.co.uk
INTERNATIONAL JOURNAL OF INNOVATIVE TECHNOLOGY AND CREATIVE ENGINEERING (ISSN:2045-8711) VOL.12 NO.02 FEB 2022
● End
the
method
and
class
with
keyboard “end”
● Tree that holds all constant values ● Tree that holds setup part ● Tree that holds loop part The Constant tree has one node, which
Consider the below code snippet as an
means in the input code one variable was
example.
identified which could be made a constant in arduino code. That variable has a value of 12
Use BUTTON
and its name is “btn”.
class MyClass .
In the Setup tree there is a node which
BUTTON btn
makes use of the library “Button”. Instance
action Main()
associated with it is “btn” and serves as an
btn : pinBTN(12) integer
a
=
“input” to the arduino. btn
:
STATE()
Similarly in the Loop tree there are 2 important nodes. The last two nodes represent
output a
end keyword mark end of Main function and
end
class respectively. The first node is named as
end
“dNa” which in code means Declaration and Assignment. Furthermore this node tells that
It uses the custom Button library. An
there is a variable named “a” of integer
instance of button is connected at pin 12, and
datatype who is assigned a value which is
its value is read into integer a.
returned from a function named STATE,
For the above provided quorum code, the
associated with instance btn. Second node
transpiler generates the following Intermediate
has its name set to output which tells it to print
Tree:
out a value. Variable that needs to be printed is a. Internally, different types of node names are assigned as per various syntax available in quorum. Each line is represented as a node and different nodes hold different properties as per their needs. These nodename properties assigned
Fig. 4. Intermediate Tree Data Structure
to
nodes
help
in
identifying
appropriate Quorum-to-Arduino statements. The statements are like templates in which the
Above figure has three different trees
1086
www.ijitce.co.uk
INTERNATIONAL JOURNAL OF INNOVATIVE TECHNOLOGY AND CREATIVE ENGINEERING (ISSN:2045-8711) VOL.12 NO.02 FEB 2022
transpiler finds and fills values from input
complexity
code.
syntaxes which the transpiler is able to convert
For the mentioned quorum code, the transpiler produced following output:
involved
all
types
of
were used as input. The graphs have file number on
const int btn = 12
which
x-axis and time
taken for
compilation/transpilation of that file on y-axis.
void setup ( ) {
Dyno provided by Heroku for both these
\tpin Mode( btn , INPUT ) ;
apps is Free type and is allocated a total of
\tSerial.begin( 9600 ) ;
512MB of RAM and CPU share of 1x each.
}void
The Dyno sleeps after 30 minutes of inactivity.
loop ( ) {
\tint a = digitalRead ( btn ) ;
Time taken to restart the dyno after it has been
\ t Serial.println( a ) ;
asleep is not considered here.
} TABLE I The transpiler prepends tabs according to
SUMMARY OF INPUT FILES
the level of blocks. When using conditionals, the block level is increased by one, hence the number of tabs are incremented by 1 as
File Lines
If..else
Libraries
blocks Used
Instan Level tiated
compared to the previous line. When moving
1
8
1
0
0
Basic
out of conditionals the block level is decreased
2
9
0
1
1
Basic
and the number of tabs decremented by one.
3
9
0
1
1
Basic
For- matting code on transpiler side, reduces
4
10
0
1
1
Basic
overhead on UI side. Hence the result can be
5
9
0
1
1
Basic
displayed directly.
6
11
1
0
0
Medium
7
17
2
2
2
Medium
8
13
1
1
1
Medium
9
19
1
1
2
Medium
10
17
1
2
2
Medium
11
31
2
3
4
Advanced
12
30
2
3
4
Advanced
For measuring the performance of the
13
30
2
2
4
Advanced
system the compilation and transpilation time
14
36
3
3
5
Advanced
were measured on a local computer and
15
42
4
3
5
Advanced
V.
RESULTS AND ANALYSIS
system after it was deployed completely on cloud.
Fifteen
different
files
of
varying
1087
www.ijitce.co.uk
INTERNATIONAL JOURNAL OF INNOVATIVE TECHNOLOGY AND CREATIVE ENGINEERING (ISSN:2045-8711) VOL.12 NO.02 FEB 2022
Table 1 gives a summary of the input files used for benchmarking the system, followed by plots. Each of the files was processed 5 times and corresponding times were noted. Average of these 5 times was taken and plotted. The graphs for average of local and online compile time look similar in nature but differ in scale. While on the local computer, all files were compiled in less than 1 second, the same files took more than 6 seconds online. There
Fig. 5. Average Local Compile Time(in seconds)
seems to be no clear relation between time for compilation and complexity of lines but the resources allocated during compilation seem to
be
the
factor
determining
time
for
compilation. Similar to the compilation case, the nature of graphs for transpilation on local and online seem to close. Interestingly the time difference between them is also not huge. Thing to note is that as the number of lines, libraries and
Fig. 6. Average Online Compile Time(in
complexity of the code increases the time
seconds)
taken to transpile increases, which is evident from both the graphs. So, alinear relation between transpilation time and complexity of code exists.
Fig.7. Average Local Transpile Time(in seconds)
1088
www.ijitce.co.uk
INTERNATIONAL JOURNAL OF INNOVATIVE TECHNOLOGY AND CREATIVE ENGINEERING (ISSN:2045-8711) VOL.12 NO.02 FEB 2022
by allowing students to program Arduino boards. Deploying it over cloud allows everyone to access it and can be easily incorporated
in
teaching
methodologies.
Modular separation of storage, UI handler and actual compiler/transpiler allows a system that is easily scalable as per requirements. It also increases system reliability as any failures in Fig. 8. Average Online Transpile Time(in seconds)
that module only. The limited flexibility in the quorum syntax that we have implemented can
The difference in scales of graphs and linear relation between transpile time and complexity suggests
the system are localized and contained within
that
there
are
rooms
for
improvement of the system. Following things can be further incorporated to do so: ● Upgrading to better Dyno type on Heroku ● Switching to another Cloud Service Provider that provides more resources ● Making grammar rules more efficient to remove redundancies and eliminating rules that will never be used ● Writing the transpiler in some other
be increased to support more data types and control structures. At the same time transpiler efficiency can be increased and libraries to handle
other
sensors
can
be
added.
Responsiveness of the system in case of multiple users can be decreased by following a more asynchronous approach in which multiple operations like file fetching and formatting,
compiling,
etc
belonging
to
different requests can be processed parallely. Finally cloud security services can be placed throughout the system to prevent cloud software abuse.
language faster than python ● Modifying
the
way
in
which
the
transpiler is deployed over cloud. Other methods of deployment can be studied and implemented. VI.
CONCLUSION AND FUTURE WORK
We developed the system with an aim to bridge the gap between quorum and Arduino
1089
www.ijitce.co.uk
INTERNATIONAL JOURNAL OF INNOVATIVE TECHNOLOGY AND CREATIVE ENGINEERING (ISSN:2045-8711) VOL.12 NO.02 FEB 2022
REFERENCES
15th
[1] Programming Languages and Learning –
Information Technol- ogy Based Higher
Quorum
Program-
ming
International
Education
Language,
and
Conference Training
Quorum Language. [Online]. Available:
2016,Available:
https://quorumlanguage.com/evidence.ht
10.1109/ithet.2016.7760742
[2] Andreas Stefik, Susanna Siebert, Melissa Kim
Slattery,
(ITHET),
[7] M. Varma Nandimandalam and E. Choi,
ml. [Accessed:10- Jan- 2020]. Stefik,
on
”An
Empirical
”Comparison
of
Open-Source
Architectural
Components”,
PAAS
Computer
Comparison of the Accuracy Rates of
Science & Information Technology ( CS &
Novices using the Quorum, Perl, and
IT
Randomo
10.5121/csit.2016.60206
Programming
Languages”,
Online ISSN: ”Arduino - Introduction,”
),
2016,Available:
[8] J. Kim and Y. Lee, ”A Study on Abstract
Arduino.cc.
Syntax Tree for Develop- ment of a
[Online]Available:https:https://www.arduin
JavaScript
o.cc/en/Main/FAQ#toc1
Journal of Grid and Distributed Computing
[3] ”Arduino
-
Introduction,”
http://dx.doi.org/
Available:
https:https://www.arduino.cc/en/Main/FA
International
, vol. 11, no. 6, pp. 37-48, 2018. Available:
Arduino.cc.
[Online]
Compiler”,
[9]
M. Hossain, R. Rahman, M. Islam and M. Azam, ”A Study on Language Processing
Q#toc1 [4] Ketan Kardile, Pradnya Punde, Kritika
Policies in Compiler Design”, American
Pareek, ”A Survey on Online Cloud based
Journal of Engineering Research (AJER) ,
Compiler”,
vol. 8, no. 12, 20
International
Journal
of
Innovative Research in Computer and Communication
Engineering,
Online
ISSN: 2320-9801, 15 MAY 2017 [5] Taher Ahmed Ghaleb, ”Toward opensource
compilers
environment:
the
challenges”,
Open
in
a
need
cloud-based and
Source
current Software
Computing (OSSCOM) 2015 International Conference,pp. 1-6, 2015. [6] T. Mohammed and M. Hamada, ”A cloudbased Java compiler for smart devices”,
1090
www.ijitce.co.uk
INTERNATIONAL JOURNAL OF INNOVATIVE TECHNOLOGY AND CREATIVE ENGINEERING (ISSN:2045-8711) VOL.12 NO.02 FEB 2022
1091
www.ijitce.co.uk