Українська   Русский
DonNTU   Masters' portal

"Development of Web-based module-aided distribution system of digital devices"

Content

Introduction

Constant development of computer technology requires high requires to developed devices [1]. While requirements of devices are increasing the duration and the complexity of their synthesis is increasing also. These requirements require creating software to automate the synthesis of digital devices. Since design of digital devices is taking more CPU time from year to year, there is a need of using supercomputer calculations. This requires additional knowledge from experts in this field. This work is devoted to development of the application architecture for the automated synthesis of digital devices using supercomputer NeClus. The aim is to develop a scalable, reliable and flexible server architecture with a rich interface.

1 Selecting the base architecture

Java language was selected as main programming languge because JavaEE technology stack provides construction of scalable, reliable and flexible server architecture. At first servlet technology was a single API was available in Java for development of web-server applications. Servlets had a lot of advantages over CGI scripts, that previously was the dominant technology. Nonetheless, servlets have one major drawback. Since HTML code which is presenting in a browser window has to be integrated into Java code, that most of the servlet code was very difficult to maintain [2]. This code was not very easy to maintain.

Model-View-Controller pattern is the most common way to solve this problem. It provides a clear separation of concerns that separates project on three levels of presentation: model, view, controller [3]. The basic concept of the MVC model is shown in pic. 1.

The basic concept of the MVC model

Picture 1 – The basic concept of the MVC model

(animation: 2 frames, loop cycles, delay-time benween frames 0.2 с., 12.3 КB)

It should be noted that view and controller depend on the model. However model doesn't depend on the presentation and controller. Such an approach allows us to build a model, regardless of the visual presentation, and also to create multiple views for the same model.

There are two main modification model MVC [10]:

  1. Passive model – model has no way affect the performance or controller. It is used as a data source to display. This model is often used in structured programming.
  2. Active model – model notifies the view that there has been a changes.

In this work was selected active MVC model.

2 Development of controller's level

As the controller has been selected Spring MVC framework. It supports template MVC and as well as other means (registration themes, internationalization, validation, type conversion, formatting, etc.). The main feature of it is Inversion of сontrol(IoC). IoC is configuration and management tools for Java objects using reflection. IoC is responsible for managing the lifecycle of the object such as objects creationing, calling initialization methods, and configuring objects by linking them together. Spring Framework provides solutions to many problems faced by Java developers and organizations that want to create an information system based on the Java platform. Spring Framework is not fully connected to the platform Java Enterprise, despite its large-scale integration with it, which is an important reason for its popularity.

On the basis of this framework is developed a general structure of the application that shown in pic. 2.

General structure of the application

Picture 2 – General structure of the application

3 Development of view's level

View level is critical in wep-applacations and has a significant impact on the degree of acceptance of the application users. View level is "front door" to the application. It allows users to perform business functions, submitted an application, and provides a visual representation of information, which controls the application. The effectiveness of the user interface contributes significantly to the success of the application [5]. Below are some factors that should be taken into account during the development of web-applications.

Applications based on such concepts were became known as RIA - Rich Internet application. This web-application is available via the Internet, rich functionality of traditional desktop applications that provide unique specificity or browser plug-in or through, or by the "sandbox" (virtual machine).

Typically, an RIA application:

  1. sends a necessary part of the user interface to web client, leavs most of the data (resources programs, data, etc.) on the server;
  2. runs in the browser and does not require additional software installation;
  3. runs locally in the security environment, called "sandbox".

Disadvantages of RIA:

  1. "Sandbox". have limited access to system resources
  2. As a rule, for RIA requires JavaScript, or other scripting languages.
  3. The processing speed of the client.
  4. Script's load time.
  5. Loss of integrity.
  6. Loss of visibility to search engines.
  7. Dependence on Internet connectivity.
  8. Complexity scalability.

Vaadin framework has been selected among the mass of RIA platforms. It offers a server-based architecture. Using JEE allows us to run the main part of the application logic on the server side, while the AJAX used on the browser side, allow you to interact with the user. Vaadin uses the Google Web Toolkit [6].

On the basis of integration frameworks and Spring MVC Vaadin was made main structure web-applications, was shown in pic. 3.

The Integration framework based on Spring MVC and Hibernate's structure was developed advanced web-applications

Picture 3 – The main structure of web-applications

4 Development of model's level

Level constancy provides data and methods of work with data. This level should respond to requests and change his state. Should not contain information about how the data necessary to visualize. It should be noted that the view and model depend on controller. However, the model does not depend on the presentation or from the controller. Thereby achieving the purpose of this division: it allows you to build the model, regardless of the visual presentation, and create several different views for the same model.

Relational database will be used as a model level. Hibernate library was selected as ORM library that allows light in use framework for mapping object-oriented data model to relational databases model [8]. Hibernate not only solves the problem of communication of Java classes to database tables but also provides a means for automatically generating and updating a set of tables, querying and data processing and can substantially reduce development time. Hibernate automates the generation of SQL-queries, and relieves the developer from the result set processing and data conversion. Hibernate provides transparent support for data integrity for POJO classes. Usually vollection of data objects are stored as collections of Java-objects such as set and list. Also it supports generics. Was developed main web-applicationss structure that shown at pic. 4.

Structure of the model level

Picture 4 – Structure of the model level

5 Service for designing digital devices

Will be developed software module (service) for designing of digital devices that will implement an optimal algorithm computations on a supercomputer. Need to use SSH protocol to remotely connect to the cluster. JSCH library will be used for it. Developed module creates VHDL-model control device by the description of the algorithm, The user must describe the algorithm which must be synthesized scheme of control device. XML language or block diagrams graphics editor will be used as way of algorithm describing. The module contains some information about the created GSA: number of WLC, number of logical conditions, number of sets of microoperations, number of operator vertices. Correctness of synthesis VHDL-model can be checked at the modeling stage where you can traced the model reaction with specifying different combinations of input signals and compare the observed response to a reference response. Modelling allows to trace signal values within each of the functional blocks at any point in modelling time and also see the sequence of the formation of internal variables and external functions of the machine. The synthesis process logic device will be run in CAD Xilinx ISE WebPack. Input data files are VHDL-model CMCU and also chip parameters (family, type, housing, etc.). Synthesis report will be result of logic synthesis that contains information about the amount of resources and time parameters of the chip synthesized circuit of control unit.

Module structure design of digital devices is presented in pic. 5.

Module structure design of digital devices

Picture 5 – Module structure design of digital devices

Conclusion

Completed development of a high-level scalable, reliable and flexible server architecture with a rich interface based on modern frameworks and libraries To solve the main problem - computer-aided design of digital devices. So, for this application, you must have one server to deploy Spring-MVC application with a dedicated real IP and a separate account for SSH access to the cluster NeClus. Database can be placed on the same server with the web-application than reducing hardware cost.

In writing this essay master's work is not yet completed. Final completion: December 2014. Full text of the work and materials on the topic can be obtained from the author or his manager after that date.

Sources

  1. Методы синтеза композиционных микропрограммных устройств управления с модификацией системы адресации микрокоманд. : дис. на соискание науч. степени канд. техн. наук : спец. 05.13.05 "Компьютерные системы и компоненты" / Мирошкин А.Н. ; ДонНТУ. –Донецк – 2013 г. – 152 с.
  2. Java ЕЕ 6 и сервер приложений GlassFish 3. Дэвид Хеффельфингер - М.: ДМК Пресс, 2013. - 416 с.: ил.
  3. Разработка приложений Java ЕЕ 6 в NetBeans 7. Дэвид Хеффельфингер - М.: ДМК Пресс, 2013. - 330 с.: ил.
  4. Spring в действии. Уоллс К. – М.: ДМК Пресс, 2013. – 752 с.: ил.
  5. Spring 3 для профессионалов. Роб Харроп, Кларенс Хо. – М.: Вильямс, 2012. – 880с.:ил.
  6. Vaadin. Материал из Википедии – свободной энциклопедии. Электронный ресурс. Режим доступа: http://ru.wikipedia.org/wiki/Vaadin
  7. ORM. Материал из Википедии – свободной энциклопедии. Электронный ресурс. Режим доступа: http://ru.wikipedia.org/wiki/ORM
  8. Hibernate. Материал из Википедии – свободной энциклопедии. Электронный ресурс. Режим доступа: http://ru.wikipedia.org/wiki/Hibernate
  9. Приемы объектно-ориентированного проектирования. Паттерны проектирования. Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж. - СПб: Питер, 2001. — 368 с.: ил.
  10. Pro Spring MVC (The Expert`s Voice in Spring). – M. Deinum, K. Serneels, C. Yates – M.: Apress,2012. – 590c.:ил.