scispace - formally typeset
Search or ask a question

Showing papers presented at "Central and Eastern European Software Engineering Conference in Russia in 2014"


Proceedings ArticleDOI
23 Oct 2014
TL;DR: The discussion paper provides a clarified vision onto the smart spaces terminology and considers P2P-based service formalism, on the top of which several architectural abstractions provide means for designing smart space applications.
Abstract: Despite of the elegance of smart spaces paradigm and its clear advantages, this area of development of "smart" software for Internet of Things (IoT) still has very limited systematization and formal concept notation. The discussion paper provides a clarified vision onto the smart spaces terminology. The reference case is the M3 architecture, based on which we sequentially elaborate the notions of smart space, smart environment of knowledge sharing, smart space application, its services and its architecture. We consider P2P-based service formalism, on the top of which several architectural abstractions are presented. They provide means for designing smart space applications.

20 citations


Proceedings ArticleDOI
23 Oct 2014
TL;DR: IP Fast Hopping is introduced, effective network layer software solution against DDoS attacks that hides real IP address of a server behind a large pool of IP addresses belongs to a number of routers in different networks.
Abstract: Denial-of-Service attacks are the largest threat to Internet and the Internet of Things despite the fact that a large number of defense approaches has been proposed by the research community. In this paper we introduce IP Fast Hopping, effective network layer software solution against DDoS attacks. Our technology hides real IP address of a server behind a large pool of IP addresses belongs to a number of routers in different networks. Our method provides a network layer approach to prevent unauthorized access to a server that sometimes is important for the Internet of Things. Our approach implies real-time changing of server's IP address according to a schedule which is available only for authorized clients (so, our method is not applicable for publicly available Internet resources). This schedule is unique for each client connection and each entry in this schedule is being calculated dynamically on both edges of secured connection independently using a special pseudo-random function. To implement this requirement, during connection establishing between a new authorized client and the server, the client receives initial server's IP (which will be used for high level protocols on client side), pool of IP addresses (unordered set of IP address related to a set of "edge" routers) and unique session ID. The special network layer software installed on client's terminal changes destination IP address of the packet on an address from the IP pool according to value of a special pseudo-random function with the following arguments: session unique ID and time of packet's creation (value of timestamp field into TCP header). After that, this packet is being traversed to one of "edge" routers according to common switching protocols. The router checks (using the same pseudo-random function) that destination address is correct and, if yes, redirects this packet to real server IP or, otherwise, drops the packet. The same procedure is applied for server's responses to clients.After applying of our technology, for an external observer of client's traffic there are several independent data streams (without an internal per-stream logic correlation) between the client and a number of terminals in the Internet instead of a single data stream between the client and the server. So, our method prevents processing of intercepted client's traffic and prevents identification of a destination of this traffic. Also, a botnet have to attack all addresses from the pool of IP addresses to prevent legitimate using of the protected server.

12 citations


Proceedings ArticleDOI
23 Oct 2014
TL;DR: An integral part of JUNIPER - a modeling approach, which helps abstracting the data processing stages and wrap the communication between them is presented, which is also applied to specify the timing constraints.
Abstract: Big Data is a modern phenomenon that promises to bring unprecedented economical benefits. Hadoop-like MapReduce implementations has gained a well deserved popularity by providing an open-source data management solution running on commodity PC clusters and with a potential of Big Data scale. Nevertheless, there are many critical problems, for which solutions based on HPCs, FPGA-enabled nodes and providing real-time guaranties may offer a cost-efficient solution for data processing. JUNIPER is a European research projects that is carried out by an international consortium aiming at developing a Big Data analysis platform. In this article, we present an integral part of JUNIPER - a modeling approach, which helps abstracting the data processing stages and wrap the communication between them. This approach is also applied to specify the timing constraints. We illustrate our approach on a real-life application of credit card transaction processing developed by petaFuel.

7 citations


Proceedings ArticleDOI
23 Oct 2014
TL;DR: The paper discusses the received computation results of the proposed modeling approach and their application to assessing the performance of the cloud systems.
Abstract: For cloud systems a set of stochastic models taking account of system context actualization is proposed. These models are based on queueing theory and extend its applications by studying the multichannel systems with warm-up and hyperexponential phase-type approximation of non-Markovian processes. Transition diagrams and matrices for the microstates of a sample cloud system are described and a scheme for computing the stationary probability distributions for requests number and waiting time is developed. The paper discusses the received computation results of the proposed modeling approach and their application to assessing the performance of the cloud systems.

7 citations


Proceedings ArticleDOI
23 Oct 2014
TL;DR: An approach to building low latency shared network storage based on multi-layered unification and results of testing a prototype of this type of storage are described.
Abstract: In this paper we describe an approach to building low latency shared network storage based on multi-layered unification and results of testing a prototype of this type of storage.

6 citations


Proceedings ArticleDOI
23 Oct 2014
TL;DR: An experience of design and deployment of the reactive programming library for robotics is presented and application of .NET, F#, C#, and Rx (Reactive Extensions) library in robotics development is described.
Abstract: All that computing power of modern controllers has made possible the use of modern programming languages, different paradigms, and libraries even for embedded systems development. This also provides new capabilities for modern trends of software development in the area of robotics. These can entirely change the whole robotics programming, including education scope. Nowadays robotics is widely accepted in schools and universities for STEM education, but use of modern programming paradigms and frameworks expands application of educational robotics to variety software engineering courses.An experience of design and deployment of the reactive programming library for robotics is presented. Application of .NET, F#, C#, and Rx (Reactive Extensions) library in robotics development is described.

5 citations


Proceedings ArticleDOI
23 Oct 2014
TL;DR: In the following article I will address issues concerning problems that elderly people might experience while mastering computer technology as most part of their lives they have spent in the different technological environment.
Abstract: Inequality is present in technological device already at the earliest stage of prototyping. Developers usually transmit values and norms of certain groups while marginalizing other users by turning a blind eye at gender, disability, age and other different user groups' characteristics. In the following article I will address issues concerning problems that elderly people might experience while mastering computer technology as most part of their lives they have spent in the different technological environment.

4 citations


Proceedings ArticleDOI
23 Oct 2014
TL;DR: New high level abstractions to manage the whole network at once: "names", "groups", "paths" instead of low level traditional IPs, subnets, routes are presented.
Abstract: This paper presents new high level abstractions to manage the whole network at once: "names", "groups", "paths" instead of low level traditional IPs, subnets, routes. We called this approach as semantic network management where administrators simply say what they want from the network but not how and a SDN/OpenFlow controller will automatically program the network elements. All low level details are hidden from administrators (e.g., choosing IP addressing scheme). We implemented the proposed approach in a new SDN/OpenFlow-based network management system for enterprise networks called EasyWay.

3 citations


Proceedings ArticleDOI
18 Mar 2014
TL;DR: QReal:Robots tool is presented a development environment for programming Lego Mindstorms NXT 2.0 and TRIK robotic constructors, that are used to teach computer science and robotics in schools.
Abstract: QReal:Robots tool is presented - a development environment for programming Lego Mindstorms NXT 2.0 and TRIK robotic constructors, that are used to teach computer science and robotics in schools. Differences between QReal:Robots and existing tools are discussed, TRIK robotic construction set is presented, QReal:Robots functionality for TRIK is described.

3 citations


Proceedings ArticleDOI
23 Oct 2014
TL;DR: This article describes the Mjolnirr platform, providing deployment of private cloud PaaS systems, based on the component-oriented approach, and considers a problem of workflows scheduling, approaches to simulation of cloud platforms by means of the private cloudPaaS-systems simulation system.
Abstract: The use of a component-oriented approach to the development of distributed applications can significantly extend the scalability of the software systems. In this article we describe the Mjolnirr platform, providing deployment of private cloud PaaS systems, based on the component-oriented approach. Any library or Java application can be implemented on the basis of the Mjolnirr platform as a service. From a developer perspective, an application on the basis of the Mjolnirr platform is a set of independent components, which communicate through a message passing interface. We will discuss an architecture and basic aspects of the implementation of the Mjolnirr platform, consider a problem of workflows scheduling, approaches to simulation of cloud platforms by means of the private cloud PaaS-systems simulation system. Also, we will discuss the results of tests of the platform.

3 citations


Proceedings ArticleDOI
23 Oct 2014
TL;DR: One way of application porting and parallelization is discussed showing how it was implemented with the Boundary Elements modeling of poroelastic dynamic application and distributed memory systems.
Abstract: High-Performance Computing systems usage for research problems growing up significantly. Adoption and porting to HPC systems is required for the existing software to use these systems effectively. This task is not trivial as far as the transition to the different Operating System required in some cases, and it is also necessary to care and keep correct numerical results at the same time. One way of application porting and parallelization is discussed showing how it was implemented with the Boundary Elements modeling of poroelastic dynamic application and distributed memory systems.

Proceedings ArticleDOI
23 Oct 2014
TL;DR: A platform allowing to create tools for string-embedded languages processing easily is presented, and it is compared with other similar tools like IntelliLang to demonstrate a plug-in for ReSharper created by using the platform.
Abstract: Most general-purpose programming languages allow to use string literals as source code in other languages (they are named string-embedded languages). Such strings can be executed or interpreted by dedicated runtime component. This way host program can communicate with DBMS or web browser. The most common example of string-embedded language is Dynamic SQL or SQL embedded into C#, C++, Java or other general-purpose programming languages. Standard Integrated Development Environment functionality such as syntax highlighting or static error checking in embedded languages can help developers who use such technique, but it is necessary to process string literals as a code to provide these features. We present a platform allowing to create tools for string-embedded languages processing easily, and compare it with other similar tools like IntelliLang. We also demonstrate a plug-in for ReSharper created by using the platform. The plug-in provides code highlighting and static error checking for string-embedded T-SQL in C#.

Proceedings ArticleDOI
23 Oct 2014
TL;DR: This paper proposes an approach, based on program trace analysis and vizualization, which allows building program trace logs using code instrumentation and supports 3 visualization types and proves that proposed approch is effective and applicable to wide spectrum of software systems.
Abstract: Modern software systems are developed as very complex, heavily parallelized programs. Communication between multiple processes and threads inevitably leads to exponential growth of program state space and nondetermined program behaviour. These facts make standard error detection techniques, such as testing or static analysis, ineffective when applied to parallel programs. One way to solve the error detection problem is dynamic software visualization. In this paper we propose an approach, based on program trace analysis and vizualization. Our prototype allows building program trace logs using code instrumentation and supports 3 visualization types. Experimental results prove that proposed approch is effective and applicable to wide spectrum of software systems.

Proceedings ArticleDOI
23 Oct 2014
TL;DR: The paper examines peculiarities of software algorithms and suggests a method for processing experimental data provided by computational systems and a two-step method of problem solution using linear and non-linear machine learning algorithms.
Abstract: This paper formulates the program runtime prediction problem subject to algorithm parameters and characteristics of a computational system to be used to run the algorithm. It is suggested to build a model representing runtime as a function of algorithm parameters and computational system characteristics. This is followed by determination of features to be used for functional dependence recovery. A two-step method of problem solution using linear and non-linear machine learning algorithms is proposed. The paper examines peculiarities of software algorithms and suggests a method for processing experimental data provided by computational systems. It also features a comparative analysis of runtime prediction results for solution of several linear algebra problems on 84 personal computers and servers using a number of machine learning algorithms. Use of a random forest combined with the linear least square method shows an error of less than 15% for most computational systems of similar architecture.

Proceedings ArticleDOI
23 Oct 2014
TL;DR: The research shows that scientific mobility of successful authors can be not only unidirectional, but can take form of a complex go-and-return pattern, the claim which relativizes the "brain drain" paradigm in the analysis of migration of highly qualified specialists from the former URSS.
Abstract: In the present paper, we develop a new method of longitudinal analysis of bibliographic data in order to explore international mobility of researchers from the former USSR through their publication activity.Firstly, by means of name recognition algorithm using machine learning, we extracted from Web of Science a dataset of publications of more than three thousand of the most active computer scientists from the former Soviet Union. Then, the information on individuals' scientific production is presented in the form of a sequence of states which summarizes the affiliation location for all articles published by a certain author in a given period.We use Optimal Matching algorithm to measure the degree of difference (which, in the sequence analysis, is called distance) between the sequences of individual researchers' activity. The distance between sequences is analyzed by means of hierarchical clustering, which permits us to group computer scientists from the former USSR in several classes according to publication activity patterns.Not surprisingly, ex-soviet researchers having permanent affiliation in their home country are cited less than those who have permanent foreign affiliation. However, those who switch affiliations from former USSR to foreign or the other way round and publish in internationalized groups have one of the highest levels of citation per article among newcomers in discipline.Our research shows that scientific mobility of successful authors can be not only unidirectional, but can take form of a complex go-and-return pattern, the claim which relativizes the "brain drain" paradigm in the analysis of migration of highly qualified specialists from the former URSS. On the methodological level, we propose a new method for analyzing scientific activity which takes into account its longitudinal dynamics. This method can be used for research questions going far beyond the scope of migration studies.

Proceedings ArticleDOI
23 Oct 2014
TL;DR: It is demonstrated how nicely reactive functional programming can be implemented on multiple platforms using F# programming language, and how streams of events can span boundaries of an isolated system in distributed environment.
Abstract: In this paper, we consider using reactive functional programming techniques in F#. We share our experience of using those techniques in developing natural user interface based on Kinect and Leap Motion sensors, and in controlling TRIK robotics toolset, and describe the project of a robotics platform, remotely controlled by gestures. We demonstrate how nicely reactive functional programming can be implemented on multiple platforms using F# programming language, and how streams of events can span boundaries of an isolated system in distributed environment. We also describe Kinect-based physical activity tracker project that uses reactive functional programming approach.

Proceedings ArticleDOI
23 Oct 2014
TL;DR: The article discusses the executive models use for embedded avionics software complex debug to reduce the design life cycle and using the Domain Engineering approaches allowed expanding the usual practice over the limits of stand-alone debug.
Abstract: The article discusses the executive models use for embedded avionics software complex debug to reduce the design life cycle. Using the Domain Engineering approaches allowed expanding the usual practice over the limits of stand-alone debug.The goal system model architecture and instruments to support the model buildup in scale of products line are described.

Proceedings ArticleDOI
23 Oct 2014
TL;DR: The paper presents the classification method based on three statistical parameters (length, type, time) of I/O requests to storage system, using methods of data mining to provide the necessary priorities and guaranteed bandwidth to multimedia applications in real time.
Abstract: The paper presents the classification method for multimedia applications, based on three statistical parameters (length, type, time) of I/O requests to storage system, using methods of data mining. The aim of this classification is to provide the necessary priorities and guaranteed bandwidth to multimedia applications in real time.

Proceedings Article
23 Oct 2014
TL;DR: The conference was initially positioned as a Russian event; however, it attracted speakers and attendees from many other countries, so in 2009 the conference was repositioned as a CEE event.
Abstract: Organized since 2005, CEE-SECR is the key annual software event in Central and Eastern Europe. It is regularly attended by 800 participants from the local industry. Thanks to online and media coverage the total reach is over 1 million people from CEE region. The conference was initially positioned as a Russian event; however, it attracted speakers and attendees from many other countries, so in 2009 the conference was repositioned as a CEE event.

Proceedings ArticleDOI
23 Oct 2014
TL;DR: The ABF development and build system is presented which can be used to build packages for RPM- and Deb-based distributions of any hardware architecture and able to build package for x86, x86-64 and different ARM platforms.
Abstract: In this paper, we describe an approach to automation of developing and building Linux software able to be installed and run in large variety of Linux distributions We present the ABF development and build system which implements this approach and can be used to build packages for RPM- and Deb-based distributions of any hardware architecture ABF is currently used to develop ROSA, OpenMandriva and Conectiva distributions and able to build package for x86, x86-64 and different ARM platforms

Proceedings ArticleDOI
23 Oct 2014
TL;DR: In this paper, the authors describe SE master training plans and suggestions for a recent Russian startup, the ambitious Innopolis project, and discuss ways of context-specific adjustment of the CMU MSE courses to meet the new Russian university objectives.
Abstract: The paper describes SE master training plans and suggestions for a recent Russian startup, the ambitious Innopolis project. Building the Innovation City is a challenge due to the differences in the objectives and goals of the participating sides: governmental, industry, academic, and research organizations. The new city is being built from scratch next to Kazan', the capital of Tatarstan Republic - this is also a challenge by itself. The idea is to use the synergy of IT academicians, researchers and practitioners in a single location. The Innovation City will incorporate a kindergarten, a STEM training school, a university and an IT park. Of these, the university will act as the brain for the entire project. The primary focus of the university curricula is software engineering. Currently, Innoplois faculty training is underway at Carnegie Mellon University (CMU), the birthplace of the software engineering, and the top ranked university in the field. Research and project practice are tightly coupled within the CMU SE master's program, the CMU course sequence is well justified, while each individual course is thoroughly planned. However, direct curricula copying from CMU to Innopolis would be too obvious solution to be correct. The paper discusses ways of context-specific adjustment of the CMU MSE courses to meet the new Russian university objectives. These curricula tailoring suggestions are based on the takeaways from the author's recent CMU visiting faculty experience, the primary focus of which has been SE training to be applied at Innopolis shortly.

Proceedings ArticleDOI
23 Oct 2014
TL;DR: The first results of the first comprehensive study of a population that has drawn attention over the past few years, Russian computer scientists (CS) and IT specialists are presented.
Abstract: In this paper we present the first results of the first comprehensive study of a population that has drawn attention over the past few years, Russian computer scientists (CS) and IT specialists. We collected data from digital platforms were CS and IT leave either signatures or digital traces. The difference between signatures and traces is the difference between intentional scientific claims (an article or a vitae) and by-products of activities that take place on the web. Digital signatures are a digital mode of existence of objects that exist otherwise; digital traces only exist on digital platforms.

Proceedings ArticleDOI
23 Oct 2014
TL;DR: A Java framework for creating accessible applications for blind and visually impaired people as part of a proposed general conception based on the maximum use of objects filled with text data only is offered.
Abstract: This paper offers a Java framework for creating accessible applications for blind and visually impaired people as part of a proposed general conception based on the maximum use of objects filled with text data only. It offers new types of applications more easily recognizable by disabled persons, helping them to do their work faster and more comfortably. Strong and weak points are analyzed. The published prototype of the proposed platform is described as well as the conclusions of the performed experiments. The prototype is implemented on Java SE and wrapped by a GNU/Linux environment as a bootable ISO-image.

Proceedings ArticleDOI
18 Mar 2014
TL;DR: Implementation and introducing of lock manager to hosting management product as an aspect of scalability the product from single server to multi-server environment and a review of existing solutions are presented.
Abstract: This paper describes implementation and introducing of lock manager to hosting management product as an aspect of scalability the product from single server to multi-server environment. Main goal of the lock manager is controll on access to shared resources. There are also presented a review of existing solutions, which are analyzed by several criteria and major features. This paper also includes results of performance tests of lock manager implementation, description of architecture and prototype of an application based on the lock manager, which demonstrates main usage scenarios.

Proceedings ArticleDOI
23 Oct 2014
TL;DR: This problem of compilation, which increase energy-efficiency of programs through use of techniques, implemented in the compiler is analyzed as a multiple criteria optimization problem, with constraints on compile time increase and performance decrease.
Abstract: Annotation --- In this paper we analyze a problem of compilation, which increase energy-efficiency of programs through use of techniques, implemented in the compiler. This problem is formulated as a multiple criteria optimization problem, with constraints on compile time increase and performance decrease. Non - linearity of performance decrease and energy consumption decrease at given frequency decrease is explained. Short description of software capabilities of controlling system-on-chip frequency and voltage is provided. Genetic algorithm for solving this problem is provided. Result of application of this algorithm are measured and provided. Up to 13.5% energy-efficiency increase in archived on tests from SPEC2000 testsuite.

Proceedings ArticleDOI
23 Oct 2014
TL;DR: The authors constructed a target motion analysis (TMA) algorithms framework, which dynamically creates objects that implement the wide class of algorithms according to a standardized description.
Abstract: The paper presents an approach to designing a data processing algorithms framework adapted to appearance of new algorithms that require comparison with previously implemented. The approach is based on the non-strict notion of mathematical "concept" -- a set of mathematical ideas, expressed by algebraically equivalent formulas. Using this notion and patterns of object-oriented programming, the authors constructed a target motion analysis (TMA) algorithms framework, which dynamically creates objects that implement the wide class of algorithms according to a standardized description.

Proceedings ArticleDOI
23 Oct 2014
TL;DR: A garbage collector for C++ implemented as a user-level library, which does not require a cooperative compiler but makes use of a custom garbage-collection-friendly heap implementation, which is capable to precisely identify all pointers to all managed objects.
Abstract: We describe a garbage collector for C++ implemented as a user-level library, which does not require a cooperative compiler but makes use of a custom garbage-collection-friendly heap implementation. We claim our garbage collector to be precise, i.e. capable to precisely identify all pointers to all managed objects, tolerant to the conventional C++ manual memory management, and safe in the sense that it does not affect the semantics of the program as long as a simple conventions, encouraged by library interface, are followed. We also discuss a performance penalties imposed by the usage of our library on an end-user program.