
In our previous papers we have focused on problems of model and/or information system evolution. We have dealt with popular technologies and languages for data storage and data management, such as XML, SQL, XPath, REST, BPMN, etc. In this paper we sum up our contributions and present a complex example of evolution process of an information system. We model complex situations that, starting from a single point, influence the whole system. Our solution, however, brings benefits not only for a typical system with the well-known architecture "presentation layer -- business layer -- database layer", but also for the micro-service architecture that becomes more and more popular these days. In this paradigm every service is specialized, it manages a specific logical part of the system, and it communicates with other services mainly via HTTP or (web) sockets. This architecture brings many advantages especially to system scalability, performance, and resource management. On the other hand, separation of the system to micro-services brings drawbacks, such as more demanding change management and version compatibility. For example, a change of the message structure in one part of the system can influence all related services, integration tests are more complex and must detect more edge cases that in case of monolithic systems, etc. A mechanism that can analyze the changes, propagate them, and/or at least inform the developer about possible inconsistency can reduce time needed for updates and troubleshooting.
The trend of unifying communication by deploying TCP/IP also influenced the domain of tactical networks. Commonly used narrowband waveform tactical radios offer only the low bandwidth data transfer. Because of very restricted resources available in these systems running the unmodified TCP/IP protocol stack is problematic if not impossible. This paper presents a simulation-based approach to a systematic analysis of TCP/IP communication in the narrowband tactical radio networks. The aim is to provide a framework able to analysis the source of problems that avoid deploying TCP/IP in tactical radio communication. The proposed method is demonstrated by providing an analysis of a few Internet protocols and evaluation of the suggested simple improvement to address resolution protocol that reduces the number of the required broadcast messages.
The congestion control avoidance of TCP (Transport Control Protocol), the most used protocol in Internet, is based on critical RTT (Round Trip Time) forecasting process. Currently, several delay predictors are proposed in literature; but practical implementations have not been yet evaluated. In this paper, a comparison of on-line predictors is presented. We used Altera Cyclone IV GX FPGA (Field-Programmable Gate Array) for evaluation; the criteria included performance time, power, and number of logic elements. For comparison purposes, we considered the most used predictor as reference and concluded which one is more suitable for implementation in next generation devices.
As of today, model-based testing is considered as a leading-edge technology in the IT industry. In model-based testing, an implementation under test is tested for compliance with a model that describes the required behaviour of the implementation. UPPAAL TRON is a popular tool for online model-based conformance testing of real-time systems; it uses the UPPAAL verification engine to generate and convert on-the-fly timed symbolic traces into concrete test sequences. Among the advantages of online testing is the reduction of the symbolic state space needed for computing traces, better addressing non-determinism, as well as the possibility to execute longer-lasting test runs. However, analysing and debugging long test runs can be tedious and time-consuming especially when analysing root causes of failed tests. In game theory, backward-induction is a process to reason backwards in time, from the end of a problem or situation, in order to determine a sequence of optimal actions. In this paper, we propose an approach to reconstruct symbolic traces from test sequences generated by UPPAAL TRON using backward-induction. The resulting symbolic traces can be imported in the UPPAAL tool and visualised in the UPPAAL simulator. The evaluation of the implementation of the approach shows that it has the potential to satisfy the needs of industrial level testing.
This work presents the design and implementation of a beam steering transceiver prototype targeting narrowband IoT communications. The proposed architecture, integrating an open-source 8051 processor IP-core and a revised 4-channel DDS-PLL phase shifter, has been validated using an FPGA evaluation board, a custom PCB with four PLLs centered at 2.453-GHz and a custom frontend board for signal up- and down-conversion as well as actual transmission and reception through antennas.
Use case driven modularization improves code comprehension and maintenance and provides another view on software alongside object-oriented modularization. However, approaches enabling use case driven modularization require to modularize code manually. In this paper, we propose an approach to employing issues and commits for in-code sentence based use case identification and remodularization. The approach aims at providing use case based perspective on the existing code. The sentences of use case steps are compared to sentences of issue descriptions, while the sentences generated from the source code of issue commits are compared to sentences generated from the corresponding methods in source code in order to quantify the similarity between use case steps and methods in source code using different similarity calculation algorithms. The resulting level of similarity is used to remodularize source code according to use cases. We conducted a study on the OpenCart open source e-shop employing 16 use cases. The approach achieved the recall of 3.37% and precision of 75%. The success of the approach strongly depends on issues and commits assigned to them. The results would be better especially for the code that natively employs use case driven modularization.
This research article presents an extension of the most suitable business process modeling formalism BPMN 2.0 for including and implementing the knowledge dimension in Sensitive Business Processes (SBPs). This extension is semantically rich and well-based on core domain ontologies. We aim at enriching the graphical representation of SBPs in order to improve the localization and the identification of crucial knowledge mobilized and created by these processes. Besides, we evaluate the relevance of the evolved extension through a real medical SBP scenario.
Model driven security (MDS) is a well known approach in the access control domain. It proposes a security-by-design approach intended to link the encoded policy to the security policy modeling. However, this technique does not tie in the specificity and heterogeneity of web applications and hence the proposed model-to-code transformation doesn't fit the needs of web architects. Consequently, web applications are mainly hand-coded, or correspond to legacy code developed before the implementation of security mechanisms. Security concerns are mixed with the application code and hence it is difficult to understand the policy in order to maintain, correct, or evolve it. This work deals with access control mechanisms following the RBAC pattern. Our work proposes a toolset dedicated to modeling and deployment of an acces control engine for a web application assuming that the functional part of the application is developed following a classical process. Our technique tries to reconcile modeling, validation and implementation of role-based security policies, and favours model driven security in the context of web applications. The toolset allows developers to graphically model an MVC web application by making links to its requirements and then generates a security filter from the web application's model. This technique guaranties that the deployed access control policy is conformant to its specification and associated validation activities.
A selection of the optimal placements of the access points and sensors constitutes one of the fundamental challenges in the monitoring of spatial phenomena in wireless sensor networks (WSNs). Access points should occupy the best locations in order to obtain a sufficient degree of coverage with a low communication cost. Finding an optimal placement is an NP-hard problem that is further complicated by the real-world conditions such as obstacles, radiation interference etc. In this paper, we propose a compound method to select the best near-optimal placement of SMAPs with the goal to maximize the monitoring coverage and to minimize the communication cost. Our approach combines a parallel implementation of the Imperialist Competitive Algorithm (ICA) with a greedy method. The benchmarking of the proposed approach demonstrates its clear advantages in solving and optimizing the placement problem.
The expressiveness of constraints has a potential to define network behavior and defend against complex network intrusions. This potential can be an integral part of an Intrusion Detection System (IDS) for defending networks against various attacks. The existing approaches of constraint logic programming have limitations when it comes to solving the network constraints in the presence of the continuous, constantly changing stream of network data. In this paper, we propose two variations of a tree-based constraint satisfaction technique to evaluate network constraints on continuous network data. A Domain Specific Language (DSL) is developed so that the IDS users can specify different intrusions related to their networks. We also present a prototype implementation of these techniques. We evaluate the performance and effectiveness of our approach against the network traffic data generated from an experimental network.
The paper deals with the modern concepts of distributed and hierarchical storage systems. Because of the high capacity of modern storage devices, the increasing number of files stored in such systems and the new client access patterns of mobile devices, the architecture of storage systems needs improvement to perform efficiently and respond to the current needs. Our model covers the traditional hierarchical and distributed approaches; as well as algorithms to efficiently organize the inner storage behavior. We evaluate the typical scenarios in the resulting model and show its advantages.
Connected vehicles utilize various communication types that take place between different entities such as vehicle, infrastructure, cloud, and mobile. Connected vehicles have sensors and Electronic Control Units (ECUs) that perform in-vehicle communications, and they communicate with the other entities using cellular, vehicular, and wireless networks. These communications may be compromised through different attacks including Man-In-The-Middle (MITM) and Man-At-The-End (MATE) attacks. Existing security solutions are not suitable for this complex integration between different technologies. In this paper, we provide a taxonomy of connected vehicle attacks that can be classified into four main categories. We identify the relations between these attacks and connected vehicle attributes and security requirements. We also present a trust model that contains various countermeasures to secure connected vehicles against different attacks. This trust model consists of four components: integrity, access control, availability, and privacy. The proposed trust model will ensure the achievement of the security requirements against common MITM and MATE attacks.
Cloud computing enables cloud providers to offer computing infrastructure as a service (IaaS) in the form of virtual machines (VMs). Cloud management platforms automate the allocation of VMs to physical machines (PMs). An adaptive VM allocation policy is required to handle changes in the cloud environment and utilize the PMs efficiently In the literature, adaptive VM allocation is typically performed using either reservation-based or demand-based allocation. In this work, we have developed a parameter-based VM consolidation solution that aims to mitigate the issues with the reservation-based and demand-based solutions. This parameter-based VM consolidation exploits the range between demand-based and reservation-based finding VM to PM allocations that strike a delicate balance according to cloud providers' goals. Experiments conducted using CloudSim show how the proposed parameter-based solution gives a cloud provider the flexibility to manage the trade-off between utilization and other requirements.
The potential of the adaptive morphogenesis methods proposed by architect Christopher Alexander is yet to be fully realised in enterprise data analysis context. These could be customised to provide a suitable metaphor for organising analyses and to introduce novel analysis techniques. We propose a related framework and demonstrate its usage on a prototype. Our particular focus has been on identifying fundamental structural properties similar to those Alexander found present in living structures elsewhere. In addition to giving a justified structure to analyses and wholistically organising their artifacts, the framework might be useful in assessing existing analyses and analysis patterns
Parallel programming platforms are heterogeneous and incompatible; a common approach is needed to free programmers from platforms' technical intricacies, allowing flexible execution in which sequential and parallel executions produce identical results. The execution and programming model of an embedded flexible language (EFL), which implement this common approach, are presented. EFL allows embedding of deterministic parallel code blocks into a sequential program, written in any host language. EFL programming model constructs are presented. An EFL implementation of the Reduce Parallel Design Pattern is presented. With EFL we aim to implement safe and efficient parallel execution, in software, hardware, or both. Consequences of Rice's theorem regarding parallel computation are discussed. These consequences severely restrict what can be checked at compile time. An approach is proposed for circumventing these restrictions.
This paper presents a realtime, collision-free motion coordination and navigation system for an Unmanned Aerial Vehicle (UAV) fleet. The proposed system uses geographical locations of the UAVs and of the successfully detected, static and moving obstacles to predict and avoid: (1) UAV-to-UAV collisions, (2) UAV-to-static-obstacle collisions, and (3) UAV-to-moving-obstacle collisions. Our collision prediction approach leverages efficient runtime monitoring and Complex Event Processing (CEP) to make timely predictions. A distinctive feature of the proposed system is its ability to foresee a risk of a collision in realtime and proactively find best ways to avoid the predicted collisions in order to ensure safety of the entire fleet. We also present a simulation-based implementation of the proposed system along with an experimental evaluation involving a series of experiments. The results demonstrate that the proposed system successfully predicts and avoids all three kinds of collisions in realtime. Moreover, it generates efficient UAV routes, has an excellent runtime performance, efficiently scales to large-sized problem instances involving dozens of UAVs and obstacles, and is suitable for some densely populated, cluttered flying zones.
Today more than ever, energy and power distribution on heterogeneous multicore platforms have immense influence on hardware and software architectures because of general tendencies towards energy efficient solutions. This paper provides an insight into the overall energy and power distribution on an ultra-low power heterogeneous multicore platform designed for hearing aids, especially focusing on energy dissipation that is caused by instructions execution. This research has been conducted in order to provide instruction set energy profile that could be used during instructions selection for both developer and compiler. Also, information about instructions energy consumption could be used for power profiling of entire firmware solutions, therefore providing valuable feedback to developers. Experiments have been conducted using customized Eclipse based Integrated Development Environment (IDE), the toolchain (Compiler, Assembler, Linker) developed for that particular target platform, and true RMS multimeter used for measurements. The outcome of the experiments has unequivocally confirmed that the obtained instruction set energy profile provides reliable information that could be used in various ways.
Situational Method Engineering (SME) approaches help construct bespoke software development processes according to the specifications of the project at hand, but they are time-consuming and costly. A Software Process Line (SPrL) tackles this problem by allowing software processes to be constructed for specific project situations through reusing core process assets. Model-Driven Development (MDD) has been used for automating SPrL Engineering (SPrLE); however, existing model-driven SPrLE methods are deficient as to their coverage of key MDD features. We propose a novel model-driven SPrLE approach that aims to address these shortcomings; it can be regarded as a framework that specifies the model chain and the core model-driven SPrLE activities that should be applied. The approach is yet to be refined and evolved through application to a real-world project; however, a preliminary criteria-based evaluation has shown that the shortcomings of existing SPrLE methods have indeed been addressed by the proposed approach.
Motivated by airborne intruder detection and defence systems, we examine sparse random graphs with linear number of connections. We establish theoretical bounds on domination number and our analysis gives a partial solution of the problem posed in [6]. Our computer simulations are based on the integer linear programming optimization method. The experimental results verify our analytical estimations and suggest a direction for the future research.
Decision guidance models are a means for design space exploration and documentation. In this paper, we present decision guidance models for microservice monitoring. The selection of a monitoring system is an essential part of each microservice architecture due to the high level of dynamic structure and behavior of such a system. We present decision guidance models for generation of monitoring data, data management, processing monitoring data, and for disseminating and presenting monitoring information to stakeholders. The presented models have been derived from literature, our previous work on monitoring for distributed systems and microservice-based systems, and by analyzing existing monitoring systems. The developed models have been used for discussing monitoring requirements for a microservice-based system with a company in the process automation domain. They are part of a larger effort for developing decision guidance models for microservice architecture in general.