In the paper, we analyze problems of reliability and security in the world practice and in Russia. We consider aspects of modeling software/hardware systems from service resources and ready-made reuses with ensuring reliability and security. We present the formed basic and theoretical foundations of the modeling problem, the experience of using modern service tools SOA, SCA, SOAP in software/hardware systems and Web systems to ensure their reliability and security on the Internet. We note that software/hardware systems and Web systems are created by the assembly build method in modern environments: IBM WSDK + WebSphere, Apache Axis + Tomcat; Microsoft .Net + IIS, etc. Verification and testing of systems should be conducted for searching of errors that occur in exceptional cases (cyber-attacks, forbidden access to the database, etc.). We describe methods for analyzing such situations and applying reliability and security methods to ensure stable and trouble-free operation of software/hardware systems service components in the Internet information environment.
At first, the paper introduces the main methods for ensuring and assessing the reliability and safety of software and hardware systems in the processes of their life cycle, as well as collecting information about errors that occur in systems, defects and failures for subsequent changes. Then we consider a standard reliability model and provide a characteristic of basic indicators that include a reliability indicator; functionality and safety form the basis for measuring reliability. After this, the paper demonstrates the classification of reliability models, and shows the characteristics of the evaluation types used in the verification of reliability indicators of components of software and hardware systems. Next, we discuss the experimental results of applying the estimated reliability models to different sizes of software components of software and hardware systems as well as the results of measuring the reliability indicator on these components taking into account the density of defects, failure rates, and recovery. Finally, we note the importance of ensuring the reliability and safety (dependability and safety) of systems in the framework of the new standards of intelligent systems and the Internet of things.
In the paper, we suggest new approach to schedulability problem for strict periodic tasks (a periodic task is strict if it must be started in equal intervals of time – task’s period). Given permissible tasks’ periods, our approach allows to obtain quickly all schedulable sets of tasks with such periods and to build immediately a conflict-free schedule for each obtained set. The approach is based on mathematical methods of graph theory and number theory. We illustrate the approach by a number of examples and present current practical results.
The analysis of models and methods of reliability evaluation of hardware and software is carried out. The basic concepts of reliability and safety methods of such systems and situations leading to errors, defects and failures are defined. The definition of reliability and safety of technical systems and software systems is given. The classification of reliability models: predictive, measuring and evaluation types. Evaluation models that are used more in practice are described. The standard of Software life cycle (ISO 15288:2002) is defined, focused on the development and control of system components for errors, starting with the system requirements. The results of application of reliability models (Moussa, Goel-Okomoto, etc.) to small, medium and large projects are presented and their comparative assessment is given. The technological module (TM) of reliability evaluation of complex software systems VPK (1989) is described. The quality model of the standard ISO 9126 (1-4): 2002-2004 with indicators of functionality, reliability, efficiency, etc., which are used in determining the maturity and certificate of the product is shown.
Hardware-software systems are widely used now and must be safe and reliable. Manual analysis of risks for structural complex systems is very expensive, so formal automated methods are required. The most important aspect here is the possibility to describe safety requirements in terms used in safety theory, such as Markov chains or logic-probabilistic functions, since for the decades of development of the theory, a large number of very useful results have been accumulated. Different approaches to assessing safety of systems do not compete, but complement each other, so having some universality in describing safety requirements is a very valuable quality. In this article, we demonstrate the advisability of using the AADL modeling language and its extension Error Model Annex to describe safety requirements of a system under design. First, we describe a mathematical model of safety requirements expressible in AADL Error Model Annex. Next, we present algorithms to perform the following automated risk analysis on the base of AADL models: Fault Tree Analysis (including calculation of minimal cut sets and ranking of primary events with respect to different relevant importance measures), Failure Mode and Effects Analysis, and Markovian Analysis. At last, we consider an example of a real avionic system. We present an architecture of an AADL model of the system under design and describe how to develop Error Model Annex specifications for the model. With the help of risk analysis, we show how one can identify, localize and fix a bug in the architecture of the system on the design stage of the system development. All presented algorithms are implemented in MASIW framework for design of modern avionics systems.
A new look at the problem of constructing a scheduler in the case of a group of strictly periodic tasks is proposed. The structure of the system of periods is represented in terms of graph theory. A criterion for the existence of a conflict-free schedule based on this representation is obtained, and generic schemes of algorithms for constructing such a schedule are described. The proposed approach is illustrated by building schedules for a number of strictly periodic tasks.
Growth of modern avionics systems makes design of such systems impossible without involvement of automation. Nowadays an area of such tools is represented by both the proprietary tools developed by the major aircraft manufacturers like Boeing and Airbus, and a number of open or partially open international projects varying in maturity, availability of source code and documentation. The paper presents a toolset for design of modern avionics systems developed by ISPRAS in collaboration with GosNIIAS. The toolset provides both a generic platform for design and analysis of architecture models and a specialized solution for the particular domain of avionics systems.
Applications for processing great volumes of data is a very widely used kind of software. In enterprise integration there are tasks of data integration. When solving these tasks, special tools supporting development and execution of applications implementing extract, transformation and load pattern are often used. From the point of view of functional testing, such applications have a specific peculiarity related to a huge number of combinations of input data. Existing approaches and tools solving the problem of test data generation for database application build large arrays of input data based on database scheme or on SQL queries of application under tests. To ensure covering functionality of an application under test using these approaches and tools, a brute force of all available combinations is needed. In the paper, we prpose a method allowing less excessive data generation for covering functionality of database applications. It allows achieving functionality coverage with acceptable amount of test data close to optimal one (one test per one functionality branch) in acceptable generation time.
The very important subsystem in a real-time system is a task scheduler. Classical algorithms for periodic tasks scheduling imply that release points of each task may vary inside different periods of the task. However, nowadays, some systems require a scheduler that can build schedules where release points of each task form an arithmetic progression. Such an additional requirement does not allow using classical scheduling algorithms. In this paper, we present a scheduling algorithm that takes into account this additional requirement and builds a schedule close to optimal (in the sense of minimization of total number of tasks interruptions) in acceptable time.
In this paper we consider Markov analysis of models of complex software and hardware systems. A Markov analysis tool can be used during verification processes of models of avionics systems. In the introduction we enumerate main advantages and disadvantages of Markov analysis. For example, with Markov analysis, unlike other approaches, such as fault tree analysis and dependency diagram analysis, it is possible to analyze models of systems that are able to recovery. The main drawback of this approach is an exponential growth of models size with number of components in analyzed system. It makes Markov analysis barely used in practice. The other important problem is to develop a new algorithm for translating a model of a system to a model suitable for Markov analysis (Markov chain), since the existing solutions have significant limitations on the architecture of analyzed systems. Next we give a brief description of the context - AADL modeling language with Error Model Annex library, MASIW framework, and also give an explanation of Markov analysis method. In a main section we suggest an algorithm for translating a system model into a Markov chain, partially solving the problem of exponential growth of Markov chain. Then follows a description of further steps, and some heuristics that allow to extremely reduce running time of the algorithm. In this paper we also consider other Markov analysis tools and their features. As a result, we suggest a Markov analysis tool that can be effectively use in practice.
In the paper, we describe a metamodel to represent dynamics of AADL-models. The metamodel allows to visualize step-by-step a process of models' behavioral aspects analysis. In particular, it essentially helps to debug behavioral specifications. In the paper, we consider examples of the metamodel usage to represent dynamics for the following two aspects of AADL-models: 1) simulation of a modelled system on the basis of a Behavior Annex specification; 2) failure modes and effects analysis on the basis of an Error Model Annex specification. We also present a stepwise visualization tool (engine and applications for both mentioned examples) that is implemented in MASIW framework for design of modern avionics systems.
В критических системах выполнение жестких требований по времени взаимодействия между задачами обеспечивается строгой периодичностью запуска задач, когда каждая задача стартует через равные промежутки времени. При планировании строго периодических задач с прерываниями наиболее трудным этапом является выбор начальных стартовых точек задач. В настоящей работе предлагается новый подход к анализу расписаний, основанный на изучении раскрасок графов периодов задач и на решении систем линейных сравнений. Основным результатом является критерий существования бесконфликтного расписания для произвольного количества строго периодических задач с прерываниями на одном процессоре. Критерий позволяет либо направленно найти стартовые точки, либо быстро установить, что расписание построить невозможно.
Applications that process large datasets are a widely used type of software. Particularly, these applications address data integration problems in the field of enterprise application integration. These problems are solved using special tool environments supporting the development, implementation, and monitoring of applications that implement the Extract, Transform, and Load (ETL) model. The specific feature of functional testing of such applications is that there are many possible combinations of input data. The approaches implemented in the data generation tools for functional testing of applications on databases, in the best case, are based on database and SQL-query schemes that are used in applications to be tested. These approaches ensure the coverage of functionality of an application under testing only by conducting an exhaustive search of possible combinations of input data. The approach to data generation proposed in this paper makes it possible to find a coverage of application functionality with a nearly optimal amount of data (one dataset for one functional branch of the application).
В статье представлен метод SemaTESK автоматической генерации множеств тестов для фронт-эндов в трансляторах. Метод ориентирован на тестирование анализаторов статической семантики. Наиболее известные методы генерации семантических тестов работают путем фильтрации предварительно сгенерированных более или менее случайным образом синтаксических тестов. В отличие от этих методов, SemaTESK позволяет непосредственно генерировать тесты для контекстных условий. Это очень ощутимо сокращает время генерации и позволяет достигать сформулированные в статье критерии полноты. Предложенный метод специфицирования статической семантики позволяет формализовать неформальные требования, содержащиеся в нормативных документах (например, в стандартах). Метод включает в себя язык SRL для компактного формального специфицирования контекстных условий, а также инструмент STG для эффективной генерации множеств тестов из SRL-спецификаций. Метод SemaTESK был успешно применен в ряде проектов, в том числе по тестированию анализаторов статической семантики языков C и Java.
An approach to the automatic generation of test data having a complex structure (such as XML documents, programs in various programming languages. and the like) is presented. It is based on abstract models that represent various views of the structure of the desired data. The approach enables one to generate small sets of test data for testing the functionality of the target system. The use of abstract models makes configuration of the generation procedure easy and clear: it also facilitates the maintenance and reuse of existing configurations of the test data generator. The approach was implemented in the test data generator called Pinery. which was successfully used in a number of projects including testing commercial C+/C++ compilers.
Victor V. Kuliamin合作论文数Institute for System Programming, Russain Academy of Sciences2