Model-Based Verification of Dynamic System Behavior against Requirements : Method, Language, and Tool
نویسنده
چکیده
Modeling and simulation of complex systems is at the heart of any modern engineering activity. Engineers strive to predict the behavior of the system under development in order to get answers to particular questions long before physical prototypes or the actual system are built and can be tested in real life. An important question is whether a particular system design fulfills or violates requirements that are imposed on the system under development. When developing complex systems, such as spacecraft, aircraft, cars, power plants, or any subsystem of such a system, this question becomes hard to answer simply because the systems are too complex for engineers to be able to create mental models of them. Nowadays it is common to use computer-supported modeling languages to describe complex physical and cyber-physical systems. The situation is different when it comes to describing requirements. Requirements are typically written in natural language. Unfortunately, natural languages fail at being unambiguous, in terms of both syntax and semantics. Automated processing of natural-language requirements is a challenging task which still is too difficult to accomplish via computer for this approach to be of significant use in requirements engineering or verification. This dissertation proposes a new approach to design verification using simulation models that include formalized requirements. The main contributions are a new method that is supported by a new language and tool, along with case studies. The method enables verification of system dynamic behavior designs against requirements using simulation models. In particular, it shows how naturallanguage requirements and scenarios are formalized. Moreover, it presents a framework for automating the composition of simulation models that are used for design verification, evaluation of verification results, and sharing of new knowledge inferred in verification sessions. A new language called ModelicaML was developed to support the new method. It enables requirement formalization and integrates UML and Modelica. The language and the developed algorithms for automation are implemented in a prototype that is based on Eclipse Papyrus UML, Acceleo, and Xtext for modeling, and OpenModelica tools for simulation. The prototype is used to illustrate the applicability of the new method to examples from industry. The case studies presented start with sets of natural-language requirements and show how they are translated into models. Then, designs and verification scenarios are modeled, and simulation models are composed and simulated automatically. The simulation results produced are then used to draw conclusions on requirement violations; this knowledge is shared using semantic web technology. This approach supports the development and dynamic verification of cyberphysical systems, including both hardware and software components. ModelicaML facilitates a holistic view of the system by enabling engineers to model and verify multi-domain system behavior using mathematical models and state-of-the-art simulation capabilities. Using this approach, requirement inconsistencies, incorrectness, or infeasibilities, as well as design errors, can be detected and avoided early on in system development. The artifacts created can be reused for product verification in later development stages. This work has been supported by EADS Innovation Works, the German Federal Ministry of Education and Research (BMBF), and the Swedish Governmental Agency for Innovation Systems (Vinnova) in the ITEA2 OPENPROD and MODRIO projects, and by SSF and ELLIIT. Populärvetenskaplig sammanfattning Modellering och simulering är idag centrala inslag i modern produktutveckling. Man kan göra modeller av en produkt i datorn redan innan den är tillverkad och simulera dess beteende. På så sätt kan man tidigt eliminera felaktigheter på designstadiet och öka kvaliteten. En viktig frågeställning är om en viss design kan verifieras, dvs om den uppfyller ställda krav på produkten. Detta är vanligen svårt att svara på för komplexa produkter som exempelvis bilar, flygplan och kraftverk. Anledningen är att det är svårt för en person att skapa sig en mental modell av alla aspekter för en så komplex produkt. Idag är det vanligt att använda datorstödda modelleringsspråk för att beskriva komplexa produkter och system. Situationen är dock en annan för produktkraven. De skrivs typiskt i ett vanligt naturligt språk som svenska eller engelska. Detta är problematiskt eftersom naturliga språk är flertydiga och inte tillräckligt exakta för att krav skrivna i sådana språk entydigt ska kunna tolkas och verifieras av en dator. För att lösa dessa problem presenterar denna avhandling en ny metod för att verifiera krav med användning av simuleringsmodeller som innehåller formaliserade krav, dvs krav uttryckta i ett exakt formaliserat datorspråk. Avhandlingens forskningsbidrag omfattar en ny metod, ett nytt verktyg med ett nytt modelleringsspråk, samt fallstudier med metoden och verktyget tillämpade på mindre industriella problemställningar. Denna metod möjliggör automatisk verifiering av krav. Man får reda på om den tänkta produkten, beskriven som en simuleringsmodell, uppfyller kraven för de användningsfall som man modellerat. Dessutom visas hur krav och användningsfall uttryckta i naturligt språk kan skrivas om i modelleringsspråket för att bli formella och exakta. Vidare ingår ett ramverk för att automatisera sammansättning av simuleringsmodeller för designverifiering, utvärdering av verifieringsresultat, och genererande av rapporter med kunskap som erhållits under verifieringsprocessen. Det nya språket, kallat ModelicaML, utvecklades under avhandlingsarbetet för att stödja den nya metoden. Det möjliggör exakt formell beskrivning av krav och baseras på modelleringsspråken UML, känt för mjukvarumodellering, och Modelica, mest känt för hårdvarumodellering. Därmed kan ModelicaML göra cyberfysikalisk modellering, dvs uttrycka modeller och krav för produkter som innehåller både programvara och hårdvara. Själva simuleringen utförs t.ex. med OpenModelica som är en öppen källkodsimplementation av utvecklingsverktyg för Modelicaspråket. Sammanfattningsvis ger den nya metoden och verktyget en helhetsyn för utveckling av komplexa produktsystem innehållande både hårdvara och mjukvara. Metoden ger stöd till utvecklingsingenjörer som behöver modellera och verifiera komplexa produktmodeller på ett matematiskt exakt sätt. Med denna metod kan fel och motsägelser i kraven samt rena designfel upptäckas och åtgärdas tidigt under produktutvecklingen. Detta arbete har stötts av EADS Innovation Works och Vinnova samt Tyska undervisnings och forskningsdepartementet (BMBF) inom ITEA2 OPENPROD och MODRIO projekten, samt av SSF och ELLIIT.
منابع مشابه
Compositional Verification of an Object-Based Model for Reactive Systems
Reactive systems have an ongoing interaction with their environment, accepting requests and producing responses. Correct and reliable construction of reactive systems is particularly important and challenging. So, using a formal method to establish mathematical proof of correctness of such systems is necessary. A formal method consists of three major components: a model for describing the behav...
متن کاملOptimization of Spindle loading and Tool Wear for CNC Turning Machine by Using Intelligent System
Intelligent knowledge based system (IKBS) is developed for optimizing dry CNC turning process using Taguchi method, CNC Machine, EN19 steel as the work piece material, andCutting Insert. Tool wear and spindle loading which are the machining parameters, spindle speed, feed rate, and depth of cut, areoptimized through the intelligent knowledge based system (IKBS). The experimental CNC turning mac...
متن کاملDesign and formal verification of DZMBE+
In this paper, a new broadcast encryption scheme is presented based on threshold secret sharing and secure multiparty computation. This scheme is maintained to be dynamic in that a broadcaster can broadcast a message to any of the dynamic groups of users in the system and it is also fair in the sense that no cheater is able to gain an unfair advantage over other users. Another important feature...
متن کاملOptimization of Spindle loading and Tool Wear for CNC Turning Machine by Using Intelligent System
Intelligent knowledge based system (IKBS) is developed for optimizing dry CNC turning process using Taguchi method, CNC Machine, EN19 steel as the work piece material, andCutting Insert. Tool wear and spindle loading which are the machining parameters, spindle speed, feed rate, and depth of cut, areoptimized through the intelligent knowledge based system (IKBS). The experimental CNC turning mac...
متن کاملAn automatic test case generator for evaluating implementation of access control policies
One of the main requirements for providing software security is the enforcement of access control policies which aim to protect resources of the system against unauthorized accesses. Any error in the implementation of such policies may lead to undesirable outcomes. For testing the implementation of access control policies, it is preferred to use automated methods which are faster and more relia...
متن کاملTowards the Analysis and Verification of EAST-ADL Models using UPPAAL PORT
A system’s architecture influence on the functions and other properties of embedded systems makes its highlevel analysis and verification very desirable. EAST-ADL is an architecture description language dedicated to automotive embedded system design with focus on structural and functional modeling. The behavioral description is not integrated within the execution semantics, which makes it harde...
متن کامل