Content uploaded by Evgeny Nikulchev
Author content
All content in this area was uploaded by Evgeny Nikulchev on Jul 03, 2018
Content may be subject to copyright.
Content uploaded by Evgeny Nikulchev
Author content
All content in this area was uploaded by Evgeny Nikulchev on Mar 22, 2018
Content may be subject to copyright.
Computing Conference 2018
10-12 July 2018 | London, UK
370 | Page
Selection of Architectural Concept and Development
Technologies for the Implementation of a Web-Based
Platform for Psychology Research
Evgeny Nikulchev, Pavel
Kolyasnikov, Dmitry Ilin
Moscow Technological Institute
Moscow, Russia
nikulchev@mail.ru,
pavelkolyasnikov@gmail.com,
i@dmitryilin.com
Sergey Kasatonov, Dmitry
Biryukov
Moscow Technological University
MIREA
Moscow, Russia
kasatonovsergey@yandex.ru,
xbidmalx@gmail.com
Ilya Zakharov
Psychological Institute of Russian
Academy of Education
Moscow, Russia
iliazaharov@gmail.com
Abstract—This paper considers the design and development
of a web-based platform for conducting psychological online
research. As a result, a scalable multicomponent platform
architecture is formed, implying the separation into a public and
private Intranet parts. To organize communication between
components, it is intended to use the REST API. The basic unit of
data transmission for experiments is a package that allows
ensuring the autonomy of the online tool in conditions of poor
Internet connection. A technological stack is selected, which
includes the use of JavaScript and AngularJS 1 for the client
part, Node.JS and Loopback for the server.
Keywords—Psychology research; web-based platform; software
architecture; requirement analysis; web framework evaluation
I. INTRODUCTION
Currently, psychological research is increasingly using
computer technology and automated tools for data collection
and analysis, including the gradual transition from research
laboratories to the Internet [1]-[6]. Computer methods are used
in a number of areas, such as behavioral genetics [7]-[9],
neuropsychology [10], [11], developmental psychology [12],
[13], cross-cultural studies [14]-[16], etc.
However, the standard pen-and-paper approach is still
relevant for research, for example, in some clinical groups, and
when there is no access to the Internet or the computer as a
whole [17]-[19].
Computer technologies provide a more convenient way of
organizing the collection, storage and processing of research
data. The use of web technologies for conducting
psychological research provides a number of advantages for
psychologists [4]-[6]:
Easy access to ongoing research through the Internet.
Expansion of training samples through the use of the
Internet, which will lead to more reliable results.
Radical increase in the number of people who can
participate in the study through the use of the Internet
(for example, from other regions).
Individualization of research results.
Feedback from participants in the study.
Allows the introduction of machine learning and
algorithms of artificial intelligence by increasing the
amount of data coming in electronic form.
Representation of the means of centralized
administration.
Convenient automated presentation of research results.
The developed web platform for conducting psychological
research is a tool for psychological, psycho-physiological and
cognitive evaluation. The web platform should provide
opportunities for conducting online research using automated
sets of tests. The tool will include a wide range of generally
accepted psychological methods, and, in connection with rapid
development, the opportunity to include new ones offered by
independent researchers.
The main goal of the work is to describe and consider
architectural solutions within the developed web platform for
conducting psychological research, the components of which it
consists, a description of the method of transferring the
experimental data, the rationale for selecting the technological
stack for the client and server parts, a description of the
problems encountered at the time of the design and their
solutions.
Thus, the following issues will be considered in the work:
What architectural solutions should be used to organize
the operation of a multi-component web platform for
psychological research?
What technologies are most applicable to the
implementation of the architecture in conditions of
limited resources?
The paper consists of five sections including introduction.
The problem statement section defines key issues and
priorities. The third section describes the methods taken to
formulate the architectural approach and to analyse best suited
Computing Conference 2018
10-12 July 2018 | London, UK
371 | Page
technologies. The fourth section contains description of the
platform components, provides details on the main approach to
store and transfer the tests, as well as on the selected
technologies for the client and server sides of the platform. The
conclusion section summarizes results and provides insight on
the future work.
II. PROBLEM STATEMENT
The architecture of the application is central to the
organization of the application and the structure of the system
as a whole, which includes a description of the approaches to
development, environment, system components and their
relationship [20]-[22]. In addition, the description of the system
architecture includes answers to various questions that arose
during the design of the system.
The main priority is the online survey tool, since it covers
most of the possible uses. Cognitive and psychophysiological
assessments make more demands on the environment for their
evaluation, and in this connection it is also necessary to
develop an autonomous instrument [3].
Thus, within the scope of the present work, it is necessary
to consider in more detail the architectural approaches to the
development of the platform, what components it will consist
of and how they will be linked, what they are responsible for
and how data is transferred between them.
The platform under development is web-oriented and will
consist of a server and client parts. In this regard, one of the
main tasks is the choice of programming languages and
technologies suitable for the development of these components.
The platform for psychological research should work in
most browsers, including mobile ones without installing
additional plug-ins and extensions. Therefore, one needs to
choose a solution that does not impose any specific restrictions
or require the user to install additional plug-ins and libraries,
except for the presence of the browser itself.
The requirements for server components are less stringent.
Nevertheless, it is necessary to take into account the
peculiarities of certain technological solutions in relation to the
learning curve and the complexity of supporting the resulting
software product.
Since the task is to reduce the cost of studying a large
number of technologies, it is reasonable to consider options for
minimizing the total number of programming languages that
will be involved in the development of the web platform.
III. RESEARCH METHODS
For the formation of an adequate architectural solution, a
number of methods have been applied. The initial phase
included the architectural requirement analysis [23], [24], in
order to identify the main uses, functional and non-functional
requirements for the platform. In addition, to clarify the
requirements, unstructured interviews of the pedagogical staff
were used to reveal the degree of variation in the technical
characteristics of software and hardware in schools.
Based on the information received, an architectural
synthesis [25] was carried out with the aim of identifying a set
of loosely coupled components of the system, their
connections, the most effective methods of data exchange.
To select the programming languages and technologies
suitable for the development of the platform, their research and
comparison were conducted. It was carried out in the context of
the formed architecture, requirements and constraints.
For the analysis of languages and technologies, reports and
materials of such services as StackOverflow and GitHub [26],
[27], which are the most authoritative in the software
development environment, were studied.
With regard to programming languages for browser
applications, application delivery capabilities are evaluated
without the need for additional software.
Frameworks are considered for their active application in
projects, the size of the community of developers, the
relevance of the task and the time on the market.
It should be noted that direct comparison of frameworks for
development will not yield results, since each of them will
allow reaching the final result. Nevertheless, a number of them
should be considered more suitable due to better scalability,
less training costs and more existing modules.
IV. ARCHITECTURE OF THE PSYCHOLOGICAL PLATFORM
A. Description of Platform Components
The architecture of the developed platform for
psychological research was chosen to be multicomponent,
which provides more flexibility than monolithic [3].
Monolithic architectures have a number of disadvantages:
The larger the system, the more difficult it is to
maintain it and make changes.
With a large system, changing a small portion of the
code can cause errors throughout the system.
After each code change, one has to test the entire
system for errors.
Unlike monolithic, the use of multi-component architecture
gives the following advantages:
Write and maintain smaller parts easier than a single
large one.
It is easier to distribute the developers to write a
specific part of the system.
The system can be heterogeneous, because for each
component developers can use the most suitable
programming languages and technologies, depending
on the task.
Easier to update, as fewer components are affected.
The system becomes more fault-tolerant, since in the
event of failure of one of the components, others may
still be working.
Thus, according to the authors, the choice in favor of a
multicomponent architecture is justified due to a number of
Computing Conference 2018
10-12 July 2018 | London, UK
372 | Page
advantages over monolithic, and the most suitable taking into
account the requirements for the developed platform.
Fig. 1 shows the diagram of the platform architecture for
psychological research. The architecture is divided into
separate components that can work independently and
communicate with each other using the REST API [28]-[30].
Fig. 1. Multi-component platform architecture.
"API Server" is the main core of the system, which is a
REST API server and is responsible for working with the data
store, as well as for performing various service functions.
"Online web services" are components that must be
accessible from the Internet. They are the main online part of
the platform being developed, among which are the online test
player, the online test designer, the researcher's personal area
and the personal area of the examinee.
"External applications" are separate applications, such as
desktop and mobile. Unlike the online version of the test
player, the feature of the applications is that the process of
passing these tests should work without connecting to the
Internet. In this regard, the data for the tests must be loaded in
advance, and after passing the tests the answers are uploaded
back to the server.
"Private web services (intranet)" are separate services,
including the Platform Administration Panel and the
Population Data Analysis Panel. The peculiarity of these
services is that they must be isolated from direct access from
the Internet for a greater security guarantee. It is also worth
noting that these services communicate with their own REST
API, which includes administrative methods, which should not
be accessible from the Internet as well.
B. Batch Approach to Storage and Transfer of Tests
To carry out psychological research, a set of tests is used,
which can consist of several different tests and include the
necessary materials, for example, images or files.
Thus, for storage and transmission of tests, a batch
approach is relevant, which will allow storing and transferring
data in one file. The use of the package is also important for
transferring data to the client part of the application, where it
cannot always be guaranteed access to the Internet. It includes
an online application and a desktop application that will be
used in schools, as well as an application for mobile devices.
Packages will be used for sending psychological tests to the
application, for obtaining test results and sending them to the
server.
Using a package to transfer data to online applications in
the client browser is justified for the following reasons:
One request to the server is used, instead of several,
which minimizes the load on creating an HTTP
connection.
The client part does not depend on the server at the time
of passing the test.
In the case of a disconnected Internet connection from
the user, they will not be in a situation where the
passage of the research cannot be completed.
Logging time on the client side minimizes recording
errors.
It is easier to track the degree of workload of the
package and inform the user about it.
Fig. 2 shows a diagram of the package structure for storing
the tests. It shows that the package is complete, includes
information and description of this package, as well as the tests
themselves. There must be at least one test in the package. The
test includes data on its description, as well as images and files,
if they are needed.
Fig. 2. Structure of the package for storing and transferring tests.
The test itself should be described using a special JSON
Schema standard [31], [32], whose structure is approved in
advance. Based on this structure, the test will be validated.
Using JSON Schema standard avoids a number of
problems and has the following advantages [31], [32]:
Computing Conference 2018
10-12 July 2018 | London, UK
373 | Page
No need to manually check the contents of documents.
No need to not create task specific validators with a
variety of configurations and support these solutions.
With a single standard, the process of integration and
support of validation in various components of the
platform, such as the online test player and desktop
applications, is simplified.
Changing the schema does not require the replacement
of the validator code.
One can describe the psychological test manually
without the help of additional tools, which will be a
plus at the early stage of development, when the test
designer is not yet available.
There are many implementations for different
programming languages and platforms.
C. The Choice of Technological Solutions for the
Development of the Client Part of the Application
As a result of the consideration of JavaScript, Java applets
and the Adobe Flash platform from the point of view of
applicability for code execution in the browser, it was found
that only JavaScript can be considered applicable.
This is due not only to the fact that JavaScript is used in
many areas: client browsers, server part, mobile platforms, as
well as the desktop applications. Java applet technology, like
Adobe Flash technology, requires the installation of additional
components in the user’s system [33], [34]. Moreover,
depending on the operating system and the browser, the
installation and configuration process may vary. Due to the
great variability of the hardware and software in schools, the
use of these two technologies is not advisable, since this can
complicate the process of conducting mass research. It should
be noted that in browsers on mobile devices Adobe Flash and
Java applets are not supported [34]. It is also worth noting that
Adobe Flash becomes obsolete, while HTML5 gives similar
ability to work with multimedia (video and audio) [35], [36].
Thus, the choice in favor of JavaScript for the development
of the client part becomes obvious and there is no alternative
solution under the given conditions at the current moment.
JavaScript is supported by all common browsers and is
included in them by default.
Developing large Single-Page Applications (SPA) based on
pure JavaScript on the client side is a difficult and inefficient
process, so one needs to use frameworks that define the
application structure and have a basic set of components.
It should be noted that almost all modern frameworks have
similar functionality and are able to solve this task. Thus, the
choice should first of all be based not on the functionality of
the framework, but on the requirements and objectives within
the framework of a particular project.
The most famous and popular frameworks were selected
for consideration, among them Backbone.js, AngularJS 1,
AngularJS 2, React, Ember.js, Vue.js and Polymer. Table I
shows the advantages and disadvantages of these frameworks,
taking into account the applicability to the developed platform.
TABLE I. ADVANTAGES AND DISADVANTAGES OF FRONT-END
FRAMEWORKS
Framework Advantages Disadvantages
Backbone.js
- Compact
- Simple structure
- Low barriers to entry
- Good documentation
- Supports REST
- Does not support two-
way data binding
- Requires additional
components to
implement complex
functionality
- Not suitable for large
projects
AngularJS 1
- High popularity
- Low barriers to entry
- Rich documentation
- Wide community
- Many existing solutions
- It is part of the MEAN
stack (MongoDB,
Express.JS, AngularJS,
NodeJS)
- Supports REST
- High speed development
- Supports two-way data
binding
- It is believed to be
outdated, since there is
an AngularJS 2
- Not compatible with
AngularJS 2
- Performance decreases
with a sufficiently large
amount of data
AngularJS 2
- Rich documentation
- Wide community
- Has a large number of
functions
- Supports REST
- There are Angular
Universal for solving
problems of search engine
optimization (rendering of
pages on the server)
- Supports two-way data
binding
- Uses TypeScript to
compile in JavaScript
- More complex barriers
to entry compared to
AngularJS 1
- It is necessary to take
many actions to provide
even small functionality
React
- Compact
- High performance
- Rich documentation
- Suitable for large and
complex projects with a
high degree of load
- Requires an additional
implementation on the
server to work with data
(for example, Flux or
Redux)
- Does not support REST
- Not compatible with
libraries that modify the
DOM
- High barriers to entry
- Complex approach to
development
Ember.js
- Rich documentation
- Large ecosystem
- Suitable for complex and
large applications
- Supports REST
- Supports two-way data
binding
- It is considered to be
monolithic in
comparison with other
frameworks
- There is no reuse of
components at the
controller level
- High barriers to entry
- Heavy structure
- Too big for small
projects
Vue.js
- Very rapidly growing
popularity
- Low barriers to entry
- Few dependencies
- High performance
- Rich documentation
- Good ecosystem
- Supports two-way data
binding
- A fairly new
framework
- Developed mainly by
one person
- Not many projects
were done
- Does not support REST
by default (there is an
Axios library)
Polymer
- New and promising
technology
- Web Components
- Relatively new solution
- Great risks when using
- Few ready solutions
Computing Conference 2018
10-12 July 2018 | London, UK
374 | Page
Framework Advantages Disadvantages
- High performance and examples
- High barriers to entry
Backbone.js is ill-suited for developing large projects, as
there are no necessary components for implementing complex
functionality. Thus, according to the authors of the article, the
use of this framework is inexpedient in view of the fact that it
does not have sufficient functionality, and there are also
alternative solutions.
Polymer is a library that is based on a fairly new Web
Components technology. The W3C specification for this
technology is not yet complete. There may be problems with
browser support, problems in stability, and also high barriers to
entry for developers. In this regard, the use of this framework
was decided to be abandoned due to possible risks.
React, unlike others, is a library and does not allow to
create a web application, since it is designed to create a View
part and must work with data on the server, for example, in
conjunction with Flux or Redux. Therefore React is difficult to
understand, has an uncommon structure, which complicates the
understanding of the application as a whole, and also has high
barriers to entry for junior developers. According to the
authors, React is more difficult to make a quick prototype and
support the solution than on another framework.
AngularJS 1, AngularJS 2, Ember.js and Vue.js have two-
way data binding, the ability to build large systems, good
documentation and community. The main choice will be made
between these frameworks.
Ember.js has a complex project structure and high barriers
to entry for junior developers, and in case of going beyond the
standard use is cumbersome and not flexible. In addition, the
framework is less popular than AngularJS and Vue.js [26],
[27].
Vue.js version 2 is currently the fastest growing popular
framework; it took the best solutions from Ember.js, React and
AngularJS, and also has good performance. Another important
factor is that Vue.js does not support REST and requires an
additional Axios library for this. In addition, the framework is
relatively new and is developed mostly by one person [27], so
its use can lead to greater risks.
As a result, the most appropriate for developing a platform
for psychological research is AngularJS 1 and AngularJS 2.
AngularJS 1 is a fairly simple framework for mastering and
understanding has low barriers to entry with a rich set of
functions. AngularJS 2 is a parallel project with AngularJS 1
and is developed separately. AngularJS 2 is greatly
complicated: to write the simplest application it requires much
more action. In addition, it is written in TypeScript, which will
require additional knowledge from the developers.
Taking into account what was written above, as well as the
fact that the platform for psychological research has a
limitation in resources and involves junior developers, the most
appropriate solution for the current moment, according to the
authors of the article, is AngularJS 1. In addition, AngularJS 1
has more popularity than other frameworks, according to
GitHub [27].
D. Selection of Technological Solutions for the Development
of the Server Part of the Application
The development of the server part of the platform allows
one to choose from a fairly wide range of technologies, in
comparison with the client part. This is primarily due to the
fact that server technologies depend on the preferences of
developers, equipment and requirements for the project, while
client technologies are severely limited. The choice of
technological solutions for the development of server
components is better to start not with programming languages,
but with consideration of frameworks because they set the
basic structure for the development of the application, as it was
written above. Table II presents the features, advantages and
disadvantages of the most suitable, in the authors’ opinion,
frameworks for the development of the server part of the
platform.
TABLE II. ADVANTAGES AND DISADVANTAGES OF SERVER-SIDE
FRAMEWORKS
Framework Advantages Disadvantages
Laravel,
Symfony
(PHP)
- Low barriers to entry
- A large number of PHP
developers
- Blocking I/O calls
- PHP interpreter has
low performance
- No paid support
Django
(Python)
- Low barriers to entry
- Generating the
administration panel for
relational databases
- Blocking I/O calls
- Does not support
NoSQL solutions out of
the box
Ruby on Rails
(Ruby) - Low barriers to entry
- In the development
community, there are
references to scaling
problems under
increasing load
- Blocking I/O calls
Express.js
(JavaScript /
Node.js)
- Not blocking by default
(asynchronous)
- Steep learning curve
- Long-term support of
the project has
difficulties (complexity
of refactoring)
- Development in large
groups can be difficult
Loopback
(JavaScript /
Node.js)
- Not blocking by default
(asynchronous)
- Generating the Preview
Panel and Working with
the REST API
- Declarative approach to
the generation of the
REST API
- The generated API
does not contain
methods for mass update
of related entities
Play (Scala /
Java)
- Not blocking by default
(asynchronous)
- Well scaled even with
blocking code
- Strict typing simplifies
refactoring
- Slow compilation
- New versions of the
framework require
improvements in the
final software
Vaadin (Java)
- Contains the library of
pre-made UI elements
- Front-end code is
generated based on the
server
- Strict typing simplifies
refactoring
- Blocking by default
- Slow compilation
- High barriers to entry
- The development of
new UI elements is time-
consuming
- There is no full control
over the front-end code
ASP .NET
MVC (C#)
- Strict typing simplifies
refactoring
- Locked in to the
Windows platform
- Need to purchase
Windows Server licenses
for deployment
Computing Conference 2018
10-12 July 2018 | London, UK
375 | Page
Since it was determined that a high degree of project
scalability is required, attention should be paid to non-blocking
I/O frameworks [37]. In this regard, it is necessary to exclude
Laravel, Symfony, Django and Ruby on Rails from
consideration. Also, due to the complexities of implementing
non-blocking I/O and custom interfaces, the Vaadin framework
is not suitable for the project.
ASP .NET MVC imposes additional restrictions on the
infrastructure in the absence of significant advantages, so the
framework should be excluded from further consideration.
Thus, the main choice will be made between the Express.js,
Loopback and Play frameworks.
An important factor is the programming language on which
the framework is written. Express.js and Loopback are written
using Node.js (JavaScript), while Play uses Java and Scala. In
the case of JavaScript, a single syntax will be used for both
client and server parts. This will increase the effectiveness of
the development of the platform, since the developer will need
to know not two, but only one programming language, which is
an advantage in the conditions of a small number of
developers. In addition, it allows combining parts of the
learning process and reduces the overall barriers to entry,
which will decrease the time of training of new professionals
who will participate in the development of the platform. It’s
also worth noting, that JavaScript is the most popular language
in the world according to the statistics of such large services as
GitHub and StackOverflow [26], [27]. In this regard, according
to the authors of the article, it is more expedient to use
Express.js and Loopback frameworks rather than Play.
Of the remaining two frameworks, the choice in favor of
Loopback is more appealing for a number of reasons:
Loopback offers a number of patterns that will help
maintain the proper level of support for the code base as
it increases.
The framework is based on Express.js, which will
enable all its functional components.
Loopback offers functionality for simplified API
generation, which greatly reduces the amount of labor
involved in development.
Listed above, according to the authors of the article, is
more significant than the steep learning curve. Thus, the choice
is Loopback framework.
V. CONCLUSION
At present, modern computer technologies can act as a
promising research tool and influence positively on the future
development in the field of psychological research. In this
connection, it is very important for Russian psychologists to
have their own tool.
The main architectural aspects of the work were
formulated, namely the application of the scalable multi-
component platform architecture, which is divided into the
server (main), public and private Intranet parts, as well as
external applications (desktop and mobile). To organize
communication between components and transfer data, it is
intended to use the REST API. As the basic unit for the transfer
of experiments, a package was chosen that allows ensuring the
autonomy of the online tool in conditions of a poor Internet
connection.
To implement the architectural aspects, the most
appropriate technologies were selected in the given task:
JavaScript language that will be used to implement most of the
software components, AngularJS 1 framework for the client
part of the online application, Loopback (Node.js) framework
for implementing the API server, it provides a single access
point for all other components of the platform. It is worth
noting that the use of one basic JavaScript language simplifies
the process of development and support of the platform, which
is an advantage in the conditions of a small number of
developers.
The future work will be dedicated to the problems of the
design and development of the psychological platform
components. In addition to it, there are plans to research
various methods of horizontal scaling to support the growing
amount of incoming data, which includes performing of stress
tests on the resulting web platform.
ACKNOWLEDGMENT
This research is supported by the RFBR grant no. 17-29-
02198.
REFERENCES
[1] T. Buchanan and J. L. Smith, "Using the Internet for psychological
research: Personality testing on the World Wide Web," British Journal
of Psychology, vol. 90, no. 1, pp. 125-144, 1999.
[2] J. A. Naglieri, F. Drasgow, M. Schmit, L. Handler, A. Prifitera, A.
Margolis and R. Velasquez, "Psychological testing on the Internet: new
problems, old issues," American Psychologist, vol. 59, no. 3, pp. 150-
162, 2004.
[3] I. Zakharov, E. Nikulchev, D. Ilin and V. Ismatullina, "Web-based
Platform for Psychology Research," ITM Web of Conferences, vol. 10,
2017.
[4] M. H. Birnbaum, "Human Research and Data Collection via the
Internet," Annual Review of Psychology, vol. 55, pp. 803-832, 2004.
[5] S. D. Gosling, S. Vazire, S. Srivastava and O. P. John, "Should We
Trust Web-Based Studies? A Comparative Analysis of Six
Preconceptions About Internet Questionnaires," American Psychologist,
vol. 59, no. 2, pp. 93-104, 2004.
[6] R. Kraut, J. Olson, M. Banaji, A. Bruckman, J. Cohen and M. Couper,
"Psychological Research Online: Report of Board of Scientific Affairs'
Advisory Group on the Conduct of Research on the Internet," American
Psychologist, vol. 59, no. 2, pp. 105-117, 2004.
[7] V. Ismatullina, I. Zakharov, E. Nikulchev and S. Malykh,
"Computerized tools in psychology: cross cultural and genetically
informative studies of memory," ITM Web of Conferences, vol. 6, 2016.
[8] K. Rimfeld, N. Shakeshaft, M. Malanchini, M. Rodic, S. Selzam, K.
Schofield, P. Dale, Y. Kovas and R. Plomin, "Phenotypic and genetic
evidence for a unifactorial structure of spatial abilities," Proceedings of
the National Academy of Sciences, vol. 114, no. 10, pp. 2777-2782,
2017.
[9] M. Kuppermann, M. E. Norton, E. Gates, S. E. Gregorich, L. A.
Learman, S. Nakagawa, Sanae, V. A. Feldstein, J. Lewis, A. E.
Washington and R. F. Nease, "Computerized Prenatal Genetic Testing
Decision-Assisting Tool: A Randomized Controlled Trial," Obstetrics &
Gynecology, vol. 113, no. 1, pp. 53-63, 2009.
[10] M. Luciana, "Practitioner Review: Computerized assessment of
neuropsychological function in children: clinical and research
applications of the Cambridge Neuropsychological Testing Automated
Battery (CANTAB)," Journal of Child Psychology and Psychiatry, vol.
44, no. 5, pp. 649-663, 2003.
Computing Conference 2018
10-12 July 2018 | London, UK
376 | Page
[11] A. Coutrot, R. Silva, E. Manley, W. de Cothi, S. Sami, V. Bohbot, J.
Wiener, C. Hölscher, R. C. Dalton, M. Hornberger and H. Spiers,
"Global determinants of navigation ability," bioRxiv, 2017.
[12] E. P. MacKenzie and J. M. Hilgedick, "The Computer-Assisted
Parenting Program (CAPP): The Use of a Computerized Behavioral
Parent Training Program as an Educational Tool," Child & Family
Behavior Therapy, vol. 21, no. 4, pp. 23-43, 2000.
[13] T. L. Dawson and M. Wilson, "The LAAS: A Computerized Scoring
System for Small- and Large-Scale Developmental Assessments,"
Educational Assessment, vol. 9, no. 3-4, pp. 153-191, 2004.
[14] H. A. Elfenbein, M. K. Mandal, N. Ambady, S. Harizuka and S. Kumar,
"Cross-cultural patterns in emotion recognition: Highlighting design and
analytical techniques," Emotion, vol. 2, no. 1, pp. 75-84, 2002.
[15] F. J. R. Van de Vijver and Y. H. Poortinga, "Towards an integrated
analysis of bias in cross-cultural assessment," European Journal of
Psychological Assessment, vol. 13, no. 1, pp. 29-37, 1997.
[16] D. Matsumoto and F. J. R. Van de Vijver, Cross-cultural research
methods in psychology, Cambridge University Press, 2010.
[17] C. E. Naquin, T. R. Kurtzberg and L. Y. Belkin, "The finer points of
lying online: E-mail versus pen and paper," Journal of Applied
Psychology, vol. 95, no. 2, pp. 387-394, 2010.
[18] G. L. P. Weerakoon, "The role of computer-aided assessment in health
professional education: a comparison of student performance in
computer-based and paper-and-pen multiple-choice tests," Medical
teacher, vol. 23, no. 2, pp. 152-157, 2001.
[19] P. A. Mueller and D. M. Oppenheimer, "The Pen Is Mightier Than the
Keyboard: Advantages of Longhand Over Laptop Note Taking,"
Psychological Science, vol. 25, no. 6, pp. 1159-1168, 2014.
[20] M. W. Maier, D. Emery and R. Hilliard, "Software architecture:
Introducing IEEE standard 1471," Computer, vol. 34, no. 4, pp. 107-
109, 2001.
[21] D. Emery and R. Hilliard, "Updating IEEE 1471: Architecture
Frameworks and Other Topics," WICSA 2008. Seventh Working
IEEE/IFIP Conference on Software Architecture, 2008.
[22] H. Mei, F. Chen, Y. D. Feng and J. Yang, "ABC: An Architecture
Based, Component Oriented Approach to Software Development,"
Journal of Software, 2003.
[23] H. Wang, W. He and F. K. Wang, "Enterprise cloud service
architectures," Information Technology and Management, vol. 13, no. 4,
pp. 445-454, 2012.
[24] D. T. Ross and K. E. Schoman, "Structured Analysis for Requirements
Definition," IEEE Transactions on Software Engineering, Vols. SE-3,
no. 1, pp. 6-15, 1977.
[25] Z. Li, P. Liang and P. Avgeriou, "Application of knowledge-based
approaches in software architecture: A systematic mapping study,"
Information and Software Technology, vol. 55, no. 5, pp. 777-794, 2013.
[26] "Stack Overflow Developer Survey 2017," Stack Exchange Inc, 2017.
[Online]. Available: https://insights.stackoverflow.com/survey/2017.
[Accessed 12 09 2017].
[27] "GitHub Octoverse 2016," GitHub Inc, 2016. [Online]. Available:
https://octoverse.github.com/. [Accessed 12 09 2017].
[28] L. Li, W. Chou, W. Zhou and M. Luo, "Design Patterns and
Extensibility of REST API for Networking Applications," IEEE
Transactions on Network and Service Management, vol. 13, no. 1, pp.
154-167, 2016.
[29] C. Pautasso, "RESTful Web Services: Principles, Patterns, Emerging
Technologies," Web Services Foundations, pp. 31-51, 2014.
[30] F. Belqasmi, J. Singh, S. Y. B. Melhem and R. H. Glitho, "SOAP-Based
vs. RESTful Web Services: A Case Study for Multimedia
Conferencing," IEEE Internet Computing, vol. 16, no. 4, pp. 54-63,
2012.
[31] F. Pezoa, J. L. Reutter, F. Suarez, M. Ugarte and D. Vrgoс,
"Foundations of JSON Schema," Proceedings of the 25th International
Conference on World Wide Web, pp. 263-273, 2016.
[32] "JSON Schema," 2017. [Online]. Available: http://json-schema.org/.
[Accessed 14 09 2017].
[33] J. Garcia-Zubia, P. Ordua, D. Lopez-de-Ipia, U. Hernndez and I. Trueba,
"Remote laboratories from the software engineering point of view,"
Advances on Remote Laboratories and E-Learning Experiences, pp.
131-149, 2007.
[34] J. Garcia-Zubia, P. Orduna, D. Lopez-de-Ipina and G. R. Alves,
"Addressing Software Impact in the Design of Remote Laboratories,"
IEEE Transactions on Industrial Electronics, vol. 56, no. 12, pp. 4757-
4767, 2009.
[35] S. J. Vaughan-Nichols, "Will HTML 5 Restandardize the Web?,"
Computer, vol. 43, no. 4, pp. 13-15, 2010.
[36] J. D. Prince, "HTML5: Not Just a Substitute for Flash," Journal of
Electronic Resources in Medical Libraries, vol. 10, no. 2, pp. 108-112,
2013.
[37] K. Lei, Y. Ma and Z. Tan, "Performance Comparison and Evaluation of
Web Development Technologies in PHP, Python, and Node.js," 2014
IEEE 17th International Conference on Computational Science and
Engineering (CSE), pp. 19-21, 2014.
ISBN (IEEE XPLORE): 978-1-5386-1350-4
ISBN (USB): 978-1-5386-1349-8
TECHNICAL SPONSORORGANIZED BY
PROCEEDINGS OF
computing
conference 2018
COMPUTING
CONFERENCE 2018
10-12 JULY 2018 | LONDON, UNITED KINGDOM
Computing Conference 2018
10-12 July 2018 | London, UK
2 | P a g e
PROCEEDINGS OF THE 2018 COMPUTING CONFERENCE
Copyright © The Science and Information (SAI) Organization
Copyright and Reprint Permissions:
Permission to make digital or hard copies of portions of this work for personal or classroom use is granted without
fee provided that the copies are not made or distributed for profit or commercial advantage and that copies bear
this notice and the full citation on the first page in print or the first screen in digital media. Abstracting with credit
is permitted.
For other copying, reprint, or republication permission, write to SAI Conferences at conference@thesai.org. All
rights reserved.
Computing Conference 2018
10-12 July 2018 | London, UK
3 | P a g e
About the Conference
IEEE Technically Sponsored Computing Conference (formerly called Science and Information Conference) is a research conference held
in London, UK since 2013. The conference series has featured keynote talks, special sessions, poster presentation, tutorials, workshops,
and contributed papers each year.
The goal of the conference is to be a premier venue for researchers and industry practitioners to share new ideas, research results and
development experiences in the areas of Computer Science, Electronics and Communication.
2018 Computing Conference is held at Holiday Inn London - Regent's Park.
Holiday Inn London - Regent's Park has great meeting rooms with new designs. We chose it for the conference because it has got
plenty of space, serves great food and is 100% accessible. In the heart of London, located in Marylebone, this modern hotel is just 0.8
km from Oxford Street’s shops, various theatres and Madame Tussauds. It is also 2.1 km away from London Zoo. The venue is
10-minute walk from Bond Street boutiques and 20 minutes from the Buckingham Palace and cruises on the River Thames.
Venue Name: Holiday Inn London - Regent's Park
Carburton St, Fitzrovia
London W1W 5EE, United Kingdom
Tel: +44 871 942 9111