230 results on '"Specification language"'
Search Results
2. Development of Monitoring Systems for Anomaly Detection Using ASTD Specifications
- Author
-
Chaymae, El Jabri, Marc, Frappier, Thibaud, Ecarot, Pierre-Martin, Tardif, Goos, Gerhard, Founding Editor, Hartmanis, Juris, Founding Editor, Bertino, Elisa, Editorial Board Member, Gao, Wen, Editorial Board Member, Steffen, Bernhard, Editorial Board Member, Yung, Moti, Editorial Board Member, Aït-Ameur, Yamine, editor, and Crăciun, Florin, editor
- Published
- 2022
- Full Text
- View/download PDF
3. CDRGen: A Clinical Data Registry Generator (Formal and/or Technical Paper)
- Author
-
Alves, Pedro, Fonseca, Manuel J., Pereira, João D., Galhardas, Helena, Goos, Gerhard, Founding Editor, Hartmanis, Juris, Founding Editor, Bertino, Elisa, Editorial Board Member, Gao, Wen, Editorial Board Member, Steffen, Bernhard, Editorial Board Member, Woeginger, Gerhard, Editorial Board Member, Yung, Moti, Editorial Board Member, Gadepally, Vijay, editor, Mattson, Timothy, editor, Stonebraker, Michael, editor, Kraska, Tim, editor, Wang, Fusheng, editor, Luo, Gang, editor, Kong, Jun, editor, and Dubovitskaya, Alevtina, editor
- Published
- 2021
- Full Text
- View/download PDF
4. Benchmarking Implementations of Term Rewriting and Pattern Matching in Algebraic, Functional, and Object-Oriented Languages : The 4th Rewrite Engines Competition
- Author
-
Garavel, Hubert, Tabikh, Mohammad-Ali, Arrada, Imad-Seddik, Hutchison, David, Series Editor, Kanade, Takeo, Series Editor, Kittler, Josef, Series Editor, Kleinberg, Jon M., Series Editor, Mattern, Friedemann, Series Editor, Mitchell, John C., Series Editor, Naor, Moni, Series Editor, Pandu Rangan, C., Series Editor, Steffen, Bernhard, Series Editor, Terzopoulos, Demetri, Series Editor, Tygar, Doug, Series Editor, Weikum, Gerhard, Series Editor, and Rusu, Vlad, editor
- Published
- 2018
- Full Text
- View/download PDF
5. From LOTOS to LNT
- Author
-
Garavel, Hubert, Lang, Frédéric, Serwe, Wendelin, Hutchison, David, Series editor, Kanade, Takeo, Series editor, Kittler, Josef, Series editor, Kleinberg, Jon M., Series editor, Mattern, Friedemann, Series editor, Mitchell, John C., Series editor, Naor, Moni, Series editor, Pandu Rangan, C., Series editor, Steffen, Bernhard, Series editor, Terzopoulos, Demetri, Series editor, Tygar, Doug, Series editor, Weikum, Gerhard, Series editor, Katoen, Joost-Pieter, editor, Langerak, Rom, editor, and Rensink, Arend, editor
- Published
- 2017
- Full Text
- View/download PDF
6. A Specification Language for Performance and Economical Analysis of Short Term Data Intensive Energy Management Services
- Author
-
Merino, Alberto, Tolosana-Calasanz, Rafael, Bañares, José Ángel, Colom, José-Manuel, Hutchison, David, Series editor, Kanade, Takeo, Series editor, Kittler, Josef, Series editor, Kleinberg, Jon M., Series editor, Mattern, Friedemann, Series editor, Mitchell, John C., Series editor, Naor, Moni, Series editor, Pandu Rangan, C., Series editor, Steffen, Bernhard, Series editor, Terzopoulos, Demetri, Series editor, Tygar, Doug, Series editor, Weikum, Gerhard, Series editor, Altmann, Jörn, editor, Silaghi, Gheorghe Cosmin, editor, and Rana, Omer F., editor
- Published
- 2016
- Full Text
- View/download PDF
7. On Implementing Real-Time Specification Patterns Using Observers
- Author
-
Backes, John D., Whalen, Michael W., Gacek, Andrew, Komp, John, Hutchison, David, Series editor, Kanade, Takeo, Series editor, Kittler, Josef, Series editor, Kleinberg, Jon M., Series editor, Mattern, Friedemann, Series editor, Mitchell, John C., Series editor, Naor, Moni, Series editor, Pandu Rangan, C., Series editor, Steffen, Bernhard, Series editor, Terzopoulos, Demetri, Series editor, Tygar, Doug, Series editor, Weikum, Gerhard, Series editor, Rayadurgam, Sanjai, editor, and Tkachuk, Oksana, editor
- Published
- 2016
- Full Text
- View/download PDF
8. Algebraic Foundations for Specification Refinements
- Author
-
Castro, Pablo F., Aguirre, Nazareno, Hutchison, David, Series editor, Kanade, Takeo, Series editor, Kittler, Josef, Series editor, Kleinberg, Jon M., Series editor, Mattern, Friedemann, Series editor, Mitchell, John C., Series editor, Naor, Moni, Series editor, Pandu Rangan, C., Series editor, Steffen, Bernhard, Series editor, Terzopoulos, Demetri, Series editor, Tygar, Doug, Series editor, Weikum, Gerhard, Series editor, Ribeiro, Leila, editor, and Lecomte, Thierry, editor
- Published
- 2016
- Full Text
- View/download PDF
9. Towards a Unified View of Modeling and Programming
- Author
-
Broy, Manfred, Havelund, Klaus, Kumar, Rahul, Hutchison, David, Series editor, Kanade, Takeo, Series editor, Kittler, Josef, Series editor, Kleinberg, Jon M., Series editor, Mattern, Friedemann, Series editor, Mitchell, John C., Series editor, Naor, Moni, Series editor, Pandu Rangan, C., Series editor, Steffen, Bernhard, Series editor, Terzopoulos, Demetri, Series editor, Tygar, Doug, Series editor, Weikum, Gerhard, Series editor, and Margaria, Tiziana, editor
- Published
- 2016
- Full Text
- View/download PDF
10. Third International Competition on Runtime Verification : CRV 2016
- Author
-
Reger, Giles, Hallé, Sylvain, Falcone, Yliès, Hutchison, David, Series editor, Kanade, Takeo, Series editor, Kittler, Josef, Series editor, Kleinberg, Jon M., Series editor, Mattern, Friedemann, Series editor, Mitchell, John C., Series editor, Naor, Moni, Series editor, Pandu Rangan, C., Series editor, Steffen, Bernhard, Series editor, Terzopoulos, Demetri, Series editor, Tygar, Doug, Series editor, Weikum, Gerhard, Series editor, Falcone, Yliès, editor, and Sánchez, César, editor
- Published
- 2016
- Full Text
- View/download PDF
11. Model Implementation
- Author
-
Saleh, Iman, Blake, M. Brian, Series editor, and Saleh, Iman
- Published
- 2015
- Full Text
- View/download PDF
12. Supervisory Control of Discrete-Event Systems
- Author
-
Komenda, Jan, Masopust, Tomáš, Thoma, Manfred, Series editor, Allgöwer, Frank, Series editor, Morari, Manfred, Series editor, van Schuppen, Jan H., editor, and Villa, Tiziano, editor
- Published
- 2015
- Full Text
- View/download PDF
13. Monitoring and Measuring Hybrid Behaviors : A Tutorial
- Author
-
Ničković, Dejan, Hutchison, David, Series editor, Kanade, Takeo, Series editor, Kittler, Josef, Series editor, Kleinberg, Jon M., Series editor, Mattern, Friedemann, Series editor, Mitchell, John C., Series editor, Naor, Moni, Series editor, Pandu Rangan, C., Series editor, Steffen, Bernhard, Series editor, Terzopoulos, Demetri, Series editor, Tygar, Doug, Series editor, Weikum, Gerhard, Series editor, Bartocci, Ezio, editor, and Majumdar, Rupak, editor
- Published
- 2015
- Full Text
- View/download PDF
14. Second International Competition on Runtime Verification : CRV 2015
- Author
-
Falcone, Yliès, Ničković, Dejan, Reger, Giles, Thoma, Daniel, Hutchison, David, Series editor, Kanade, Takeo, Series editor, Kittler, Josef, Series editor, Kleinberg, Jon M., Series editor, Mattern, Friedemann, Series editor, Mitchell, John C., Series editor, Naor, Moni, Series editor, Pandu Rangan, C., Series editor, Steffen, Bernhard, Series editor, Terzopoulos, Demetri, Series editor, Tygar, Doug, Series editor, Weikum, Gerhard, Series editor, Bartocci, Ezio, editor, and Majumdar, Rupak, editor
- Published
- 2015
- Full Text
- View/download PDF
15. From First-order Temporal Logic to Parametric Trace Slicing
- Author
-
Reger, Giles, Rydeheard, David, Hutchison, David, Series editor, Kanade, Takeo, Series editor, Kittler, Josef, Series editor, Kleinberg, Jon M., Series editor, Mattern, Friedemann, Series editor, Mitchell, John C., Series editor, Naor, Moni, Series editor, Pandu Rangan, C., Series editor, Steffen, Bernhard, Series editor, Terzopoulos, Demetri, Series editor, Tygar, Doug, Series editor, Weikum, Gerhard, Series editor, Bartocci, Ezio, editor, and Majumdar, Rupak, editor
- Published
- 2015
- Full Text
- View/download PDF
16. Computer Algorithms for Processing Large Information Volumes to Make Decision on Countermeasures for Multiple Emergencies Occurring Simultaneously
- Author
-
Samokhina, A. S., Trahtengerts, E. A., Beilina, Larisa, editor, and Shestopalov, Yury V., editor
- Published
- 2013
- Full Text
- View/download PDF
17. Safe Operation Monitoring for Specific Category Unmanned Aircraft
- Author
-
Schirmer, Sebastian and Torens, Christoph
- Subjects
Focus (computing) ,Monitoring ,Computer science ,Formal methods ,ComputerApplications_COMPUTERSINOTHERSYSTEMS ,Specification language ,Unmanned aircraft system ,Geofencing ,Limit (category theory) ,Risk-buffer ,Safe operation ,Formal specification ,Systems engineering ,Simulation ,Working environment ,Verification and validation - Abstract
Future unmanned aircraft systems are allowed to incorporate operational aspects for flight approval due to the new EASA “specific” category. Incorporating operational aspects offer new possibilities for the verification and validation of complex functions used especially in highly automated vehicles. For these functions, verification and validation can focus on predefined operational aspects prior to flight. In-flight, limits of the operation are monitored to assure the correct working environment for these functions resulting in a safe operation. In this paper, we present the notion of safe operation monitoring and depict operational limits to be supervised. One prominent example for such an operational limit is geofencing. Geofencing prevents an unmanned aircraft from entering a forbidden airspace by using virtual fences. Specifically, in this paper, we present an algorithm and describe parameters for the buffer distance used for the geofence boundary values. The algorithm can be highly parallelized which is important when considering realistic geofences of future operations. Further, we highlight the use of a formal specification language and simulation results which support the verification and validation of geofencing, respectively. The chosen specification language is not limited to geofencing, other operational limits can be expressed and monitored in-flight to assure the safe operation.
- Published
- 2021
18. Runtime Verification of Generalized Test Tables
- Author
-
Mattias Ulbrich, Shmuel S. Tyszberowicz, Jonas Klamroth, and Alexander Weigl
- Subjects
Computer science ,business.industry ,Programming language ,Runtime verification ,Specification language ,computer.software_genre ,Set (abstract data type) ,Software ,Workflow ,Formal specification ,Table (database) ,business ,Reactive system ,computer - Abstract
Runtime verification allows validation of systems during their operation by monitoring crucial system properties. It is common to generate monitors from temporal specifications formulated in languages like MTL or LTL. However, writing formal specifications might be an obstacle for practitioners. In this paper we present an approach and a tool for generating software monitors for reactive systems from a set of Generalized Test Tables (GTTs)—a table-based, user-friendly specification language specially designed for engineers. The tool is a valuable addition to the already existing static verifier for GTTs since assumptions made in specifications can thus be validated at runtime. Moreover, it makes software and specifications amenable for formal validation that cannot be verified statically. Moreover, the approach is particularly well-suited for the specification of workflows as a collection of tables since it supports dynamic, trigger-based spawning of monitors. The tool produces monitor code in C++ for tables provided in an existing table definition format. We show the usefulness of our approach using characteristic examples.
- Published
- 2021
19. A Framework for Generating Diverse Haskell-I/O Exercise Tasks
- Author
-
Oliver Westphal
- Subjects
Informatik ,Domain-specific language ,Documentation ,Computer science ,Human–computer interaction ,Process (engineering) ,Realization (linguistics) ,Job design ,Haskell ,Specification language ,computer ,Task (project management) ,computer.programming_language - Abstract
We present the design of a framework to describe parametrized exercise tasks on Haskell-I/O programming. Parametrized tasks can be instantiated randomly to quickly generate different instances of a task. Such automatic task generation is useful in many different ways. Manual task creation can be a time-consuming process, so formulating a task design once and then automatically generating different variations can save valuable time for the educator. The descriptions of tasks also serve as easy to understand documentation and can be reused in new task designs. On the student’s side automatic task generation, together with an automated assessment system, enables practicing on as many fresh exercise tasks as needed. Students can also each be given a slightly different version of tasks, reducing issues regarding plagiarism arising naturally in an e-learning environment. Our task generation is centered around a specification language for I/O behavior we developed in earlier work. The task generation framework, an embedded domain specific language in Haskell, provides powerful primitives for the creation of various artifacts from specifications, including program code. We do not go into detail on the technical realization of these primitives. Our focus is on showcasing how such artifacts can be used as an alternative to the verbal description of requirements for different types of programming exercise tasks. By doing so, we are able to automatically generate a diverse range of task designs.
- Published
- 2021
20. Partial Specifications of Libraries: Applications in Software Engineering
- Author
-
Vladimir Itsykson
- Subjects
Interface (Java) ,Computer science ,business.industry ,Formalism (philosophy) ,media_common.quotation_subject ,Extended finite-state machine ,Specification language ,Set (abstract data type) ,Debugging ,Component (UML) ,Programmer ,Software engineering ,business ,media_common - Abstract
The article presents a comprehensive approach to solving a number of problems that arise during the design, development, debugging and maintenance of multicomponent applications. The approach is based on a created formalism that allows specifying the structure and visible behavior of the component external to the application. At the same time, the mathematical approach used in the formalism is based on the system of extended finite state machine, which allows analyzing specifications in an acceptable time. For a programmer to set formal descriptions of the components, the LibSL specification language is developed. It allows the programmer to describe the specification of a component or a library in the form that is understandable to the programmer, without going into the mathematical basics of formalism. In this case, the interface of the library and its behavior, which is visible from the outside, are set. The implementation details are not included in the specification.
- Published
- 2021
21. Evolving the DEMO Specification Language
- Author
-
Henderik A. Proper and Mark A. T. Mulder
- Subjects
business.industry ,Computer science ,Principal (computer security) ,State (computer science) ,Specification language ,Enterprise engineering ,Software engineering ,business - Abstract
This paper reports on the current state of the DEMO Specification Language (DEMOSL). The Design and Engineering Methodology for Organisations (DEMO) is a principal methodology in Enterprise Engineering (EE), while the DEMOSL defines the accompanying integrated modelling landscape.
- Published
- 2021
22. Properties of Graphs Specified by a Regular Language
- Author
-
Volker Diekert, Petra Wolf, and Henning Fernau
- Subjects
Discrete mathematics ,Property (philosophy) ,Regular language ,Computer science ,Existential quantification ,Formal language ,Syntactic monoid ,Specification language ,Graph algorithms ,Graph property ,MathematicsofComputing_DISCRETEMATHEMATICS - Abstract
Traditionally, graph algorithms get a single graph as input, and then they should decide if this graph satisfies a certain property \(\varPhi \). What happens if this question is modified in a way that we get a possibly infinite family of graphs as an input, and the question is if there exists one graph satisfying \(\varPhi \)? We approach this question by using formal languages for specifying families of graphs. In particular, we show that certain graph properties can be decided by studying the syntactic monoid of the specification language.
- Published
- 2021
23. Testing in ASP: Revisited Language and Programming Environment
- Author
-
Francesco Ricca, Giovanni Amendola, and Tobias Berei
- Subjects
Unit testing ,Computer science ,Programming language ,Best practice ,0102 computer and information sciences ,02 engineering and technology ,Specification language ,computer.software_genre ,Test-driven development ,01 natural sciences ,Software development process ,Annotation ,Answer set programming ,010201 computation theory & mathematics ,0202 electrical engineering, electronic engineering, information engineering ,Feature (machine learning) ,020201 artificial intelligence & image processing ,computer - Abstract
Unit testing frameworks are nowadays considered a best practice, foregone in almost all modern software development processes, to achieve rapid development of correct specifications. The first unit testing specification language for Answer Set Programming (ASP) was proposed in 2011 as a feature of the ASPIDE development environment. Later, a more portable unit testing language was included in the LANA annotation language. In this paper we propose a revisited unit testing specification language that allows one to inline tests within ASP program and an ASP-based test execution mechanism. Moreover, we present a programming environment supporting test driven development (TDD) of ASP programs with our language.
- Published
- 2021
24. The Combined Use of the Web Ontology Language (OWL) and Abstract State Machines (ASM) for the Definition of a Specification Language for Business Processes
- Author
-
Matthes Elstermann, Christian Stary, André Wolski, Stephan Borgert, and Albert Fleischmann
- Subjects
World Wide Web ,Business process management ,Modeling language ,Business process ,business.industry ,Computer science ,Formal specification ,Abstract state machines ,System requirements specification ,Specification language ,Ontology language ,business - Abstract
The domain of Subject-oriented Business Process Management (S-BPM) is somewhat outstanding due to its embracing of Subject Orientation. However, at the same time, it is also a classic BPM domain concerned with typical aspects like creation and exchange of diagrammatic process models, elicitation of domain knowledge, and implementing process (models) into organisations and IT systems. Nevertheless, the Abstract State Machine (ASM) concept, a formal and abstract specification means for algorithms, has been and is fundamental and an important cornerstone for the S-BPM community. The first formal specifications for S-BPM has been developed by Egon Borger using ASM means—namely a specification for an interpreter engine for the subject-oriented modeling language PASS, the Parallel Activity Specification Schema. However, for the sake of intuitive and comprehensive use, ASM can be enriched with defining the passive aspects of PASS, namely the (data) structure of process models and data object appearing in the processes. Here it is useful to complement ASM description means with concepts that are better suited for that tasks. This work analyzes how the S-BPM research community has combined ASM with the Web Ontology Language (OWL) to generate a precise, while comprehensible, system specification for the execution of formal, subject-oriented process models. Furthermore, it will be argued why this combination is worthwhile overcoming the weaknesses of both generic and technology independent specification approaches.
- Published
- 2021
25. CDRGen: A Clinical Data Registry Generator (Formal and/or Technical Paper)
- Author
-
Pedro Alves, Manuel J. Fonseca, Helena Galhardas, and João D. Pereira
- Subjects
030203 arthritis & rheumatology ,Structure (mathematical logic) ,business.industry ,Computer science ,Specification language ,Data type ,Metamodeling ,Metadata ,03 medical and health sciences ,0302 clinical medicine ,030228 respiratory system ,Software system ,User interface ,Software engineering ,business ,Generator (mathematics) - Abstract
In the health sector, data analysis is typically performed by specialty using clinical data stored in a Clinical Data Registry (CDR), specific to that medical specialty. Therefore, if we want to analyze data from a new specialty, it is necessary to create a new CDR, which is usually done from scratch. Although the data stored in CDRs depends on the medical specialty, typically data has a common structure and the operations over it are similar (e.g., entering and viewing patient data). These characteristics make the creation of new CDRs possible to automate. In this paper, we present a software system for automatic CDR generation, called CDRGen, that relies on a metadata specification language to describe the data to be collected and stored, and the types of supported users as well as their permissions for accessing data. CDRGen parses the input specification language and generates the code needed for a functional CDR. The specification language is defined on top of a metamodel that describes the metadata of a generic CDR. The metamodel was designed taking into account the analysis of eleven existing CDRs. The experimental assessment of the CDRGen indicates that: (i) developers can create new CDRs more efficiently (in less than 2% of the typical time), (ii) CDRGen creates the user interface functionalities to enter and access data and the database to store that data, and finally, (iii) its specification language has a high expressiveness enabling the inclusion of a large variety of data types. Our solution will help developers creating new CDRs for different specialties in a fast and easy way, without the need to create everything from scratch.
- Published
- 2021
26. Social Requirements Models for Services
- Author
-
Sepehr Sharifi, John Mylopoulos, Daniel Amyot, Alireza Parvizimosaed, and Luigi Logrippo
- Subjects
Service (business) ,Power (social and political) ,Process management ,Dependency (UML) ,Computer science ,Business process ,Semantics (computer science) ,Requirements modeling ,Specification language ,Obligation - Abstract
Social dependance relationships were used in the i* requirements modelling language to represent dependencies among social actors. We study the evolution of the notion of social dependency into that of commitment in the Azzurra specification language for business processes, and then into the notions of obligation and power in the Symboleo specification language for legal contracts. Our account focuses on the difference in the semantics of these relationships, the language used to talk about them, and how appropriate they are for capturing requirements for services.
- Published
- 2021
27. Refinable Record Structures in Formal Methods
- Author
-
Colin Snook, Michael Butler, Dana Dghaym, Asieh Salehi Fathabadi, and Thai Son Hoang
- Subjects
Inheritance (object-oriented programming) ,Syntax (programming languages) ,Computer science ,Programming language ,Formal specification ,Specification language ,Data structure ,computer.software_genre ,Formal methods ,computer ,Invariant (computer science) ,Progressive refinement - Abstract
State-based formal specifications benefit from data structuring mechanisms, which collate associated properties and efficiently declare complex types. For example, ‘record’ data structures, similar to those used in programming languages, can be built into the concrete syntax of a language as an enhancement over flat data relationships. While this is relatively simple to achieve for a single-level specification, it becomes significantly more involved when the specification language allows for progressive refinement of the data supporting the specification. Individual fields may be added to create sub-records within a refinement and replaced to create refined records during a refinement step. The impact on the ability to verify invariant and refinement proof obligations must be considered. Here we describe a record structuring syntax that includes notions of extension and inheritance that can be used in a refinement-based formal method. We illustrate the approach using extensions to the Event-B formal method.
- Published
- 2021
28. Formal Model Checking and Transformations of Models Represented in UML with Alloy
- Author
-
Meriem Kherbouche and Bálint Molnár
- Subjects
Model checking ,business.industry ,Computer science ,Semantics (computer science) ,Process (engineering) ,Specification language ,Activity diagram ,Unified Modeling Language ,Information system ,Software architecture ,Software engineering ,business ,computer ,computer.programming_language - Abstract
Nowadays, information systems (IS) are making considerable efforts to create, develop, and build new and more advanced models capable of modeling all (or the mainstream) development trends in IS. The progress in IS is mainly related to three main points: document-centered approaches, modern database management systems and their applications, and new flexible models, which are more complex than existing models in most cases. The challenges of the modeling process are mainly the presentation of both the static and dynamic sides of the developed IS. The latter is directly influenced by the change processes of the business environment. In this paper, we use the properties of the Activity Diagram, represented by Alloy - an operationalizable specification language for software architecture - together with the underlying mathematical model to simplify the semantics of the models and to facilitate their analysis, verification, and validation.
- Published
- 2021
29. Formal Verification of a JavaCard Virtual Machine with Frama-C
- Author
-
Adel Djoudi, Martin Hána, and Nikolai Kosmatov
- Subjects
Correctness ,business.industry ,Computer science ,Specification language ,computer.software_genre ,Virtual machine ,Formal specification ,Smart card ,Isolation (database systems) ,Java Card ,business ,Software engineering ,Formal verification ,computer - Abstract
Formal verification of real-life industrial software remains a challenging task. It provides strong guarantees of correctness, which are particularly important for security-critical products, such as smart cards. Security of a smart card strongly relies on the requirement that the underlying JavaCard virtual machine ensures necessary isolation properties. This case study paper presents a recent formal verification of a JavaCard Virtual Machine implementation performed by Thales using the Frama-C verification toolset. This is the first verification project for such a large-scale industrial smart card product where deductive verification is applied on the real-life C code. The target properties include common security properties such as integrity and confidentiality. The implementation contains over 7,000 lines of C code. After a formal specification in the ACSL specification language, over 52,000 verification conditions were generated and successfully proved. We present several issues identified during the project, illustrate them by representative examples and present solutions we used to solve them. Finally, we describe proof results, some lessons learned and desired tool improvements.
- Published
- 2021
30. ArchiMate as a Specification Language for Big Data Applications - DataBio Example
- Author
-
Andrey Sadovykh, Alessandra Bagnato, Ståle Walderhaug, and Arne J. Berre
- Subjects
Business context ,ArchiMate ,business.industry ,Computer science ,Big data ,Context (language use) ,Specification language ,Architecture ,Software engineering ,business ,Conjunction (grammar) - Abstract
In this paper we discuss our method on applying the ArchiMate modelling language for specification in the context of Big Data applications. The DataBio project [1] develops the pilot applications for bioeconomy industry by applying Big Data technologies. The project regroups 26 pilots from 17 different countries to be implemented and deployed with more than 40 components and services. The choice of ArchiMate [2] is motivated by the need to express the overall business context of each pilot in conjunction with the technical architecture for possible solutions from various perspectives. The ArchiMate bridges the gap between those perspectives and can serve as an input for the model-driven development of Big Data applications. The authors provide the essence of the method and illustrate it with an example.
- Published
- 2020
31. Verifying SGAC Access Control Policies: A Comparison of ProB, Alloy and Z3
- Author
-
Diego de Azevedo Oliveira and Marc Frappier
- Subjects
Inheritance (object-oriented programming) ,Resource (project management) ,business.industry ,Computer science ,Patient privacy ,Automatic translation ,Access control ,Specification language ,Software engineering ,business - Abstract
This paper describes the formalisation of SGAC access control policies using Z3 and then we compare the performance with ProB and Alloy. SGAC is an attribute-based, fine-grain access control model that uses acyclic subject and resource graphs to provide rule inheritance and streamline policy specification. To ensure patient privacy and safety, four types of properties are checked: accessibility, availability, contextuality and rule effectiveness. Automatic translation of SGAC policies into each specification language has been defined. ProB offers the best verification performances, by two orders of magnitude. The performances of Alloy and Z3 are similar.
- Published
- 2020
32. Platinum: Reusing Constraint Solutions in Bounded Analysis of Relational Logic
- Author
-
Gregg Rothermel, Hamid Bagheri, Guolong Zheng, and Jianghao Wang
- Subjects
050101 languages & linguistics ,Computer science ,business.industry ,05 social sciences ,chemistry.chemical_element ,02 engineering and technology ,Specification language ,Reuse ,Constraint (information theory) ,Alloy Analyzer ,Software ,Computer engineering ,chemistry ,Bounded function ,0202 electrical engineering, electronic engineering, information engineering ,020201 artificial intelligence & image processing ,0501 psychology and cognitive sciences ,Software system ,Platinum ,business - Abstract
Alloy is a lightweight specification language based on relational logic, with an analysis engine that relies on SAT solvers to automate bounded verification of specifications. In spite of its strengths, the reliance of the Alloy Analyzer on computationally heavy solvers means that it can take a significant amount of time to verify software properties, even within limited bounds. This challenge is exacerbated by the ever-evolving nature of complex software systems. This paper presents Platinum, a technique for efficient analysis of evolving Alloy specifications, that recognizes opportunities for constraint reduction and reuse of previously identified constraint solutions. The insight behind Platinum is that formula constraints recur often during the analysis of a single specification and across its revisions, and constraint solutions can be reused over sequences of analyses performed on evolving specifications. Our empirical results show that Platinum substantially reduces (by 66.4% on average) the analysis time required on specifications extracted from real-world software systems.
- Published
- 2020
33. The MU Theory: Understanding Models and Modelling
- Author
-
Jan L. G. Dietz and Hans B. F. Mulder
- Subjects
Model theory ,Cognitive science ,Computer science ,Schema (psychology) ,Formal language ,language ,Semiotics ,Universal language ,Domain of discourse ,Specification language ,language.human_language ,Conceptual schema - Abstract
The MU theory or EE model theory is a theory of models and modelling in general, and of conceptual modelling in particular. The foundations part starts with this definition of model: any subject using a system A to obtain knowledge of a system B is using A as a model of B. It conveys clearly the basic understanding of the concept of model as a role notion. Next, the model triangle is introduced, based on the semiotic triangle from the FI theory. It clarifies how complexes (systems and aggregates) of three major sorts (concrete, conceptual, and symbolic) can be used as models of each other. By adding two levels of abstraction (namely the schema level and the meta level), the General Conceptual Modelling Framework emerges. It clarifies the notions of conceptual complex, conceptual schema, and meta schema for any Universe of Discourse or system’s world. It is also made clear that these notions are logical constructs, and that consequently any expression of them (in a suitable language) is directly transformable to first-order logic. The elaborations part comprises the presentation and discussion of the General Ontology Specification Language (GOSL). GOSL is a universal language for specifying conceptual complexes, conceptual schemas, and meta schemas. The syntax of the language consists of graphical as well as textual symbols and constructs. The latter constitute an English-like formal language. The split between the two is a pragmatic one. Compared to common graphical languages for conceptual modelling, GOSL might be called minimal: it covers only the basic concepts and constructs. More complicated logical formulas can often be better expressed in textual constructs. The discussions part starts with a comparison of the GCMF with two other frameworks. Next, the influence of O-O thinking on conceptual modelling is discussed. It appears that O-O thinking causes the blurring of two crucial things in conceptual modelling: the type–instance relationship and the subtype–supertype relationship.
- Published
- 2020
34. Soft Subexponentials and Multiplexing
- Author
-
Max I. Kanovich, Vivek Nigam, Andre Scedrov, and Stepan L. Kuznetsov
- Subjects
Theoretical computer science ,Parsing ,Categorial grammar ,Computer science ,010102 general mathematics ,Sequent calculus ,0102 computer and information sciences ,Specification language ,computer.software_genre ,01 natural sciences ,Linear logic ,TheoryofComputation_MATHEMATICALLOGICANDFORMALLANGUAGES ,Rule-based machine translation ,010201 computation theory & mathematics ,0101 mathematics ,Contraction (operator theory) ,Turing ,computer ,computer.programming_language - Abstract
Linear logic and its refinements have been used as a specification language for a number of deductive systems. This has been accomplished by carefully studying the structural restrictions of linear logic modalities. Examples of such refinements are subexponentials, light linear logic, and soft linear logic. We bring together these refinements of linear logic in a non-commutative setting. We introduce a non-commutative substructural system with subexponential modalities controlled by a minimalistic set of rules. Namely, we disallow the contraction and weakening rules for the exponential modality and introduce two primitive subexponentials. One of the subexponentials allows the multiplexing rule in the style of soft linear logic and light linear logic. The second subexponential provides the exchange rule. For this system, we construct a sequent calculus, establish cut elimination, and also provide a complete focused proof system. We illustrate the expressive power of this system by simulating Turing computations and categorial grammar parsing for compound sentences. Using the former, we prove undecidability results. The new system employs Lambek’s non-emptiness restriction, which is incompatible with the standard (sub)exponential setting. Lambek’s restriction is crucial for applications in linguistics: without this restriction, categorial grammars incorrectly mark some ungrammatical phrases as being correct.
- Published
- 2020
35. The DEMO Methodology
- Author
-
Jan L. G. Dietz and Hans B. F. Mulder
- Subjects
Structure (mathematical logic) ,Computer science ,Process (engineering) ,business.industry ,Event (computing) ,Business rule ,State space ,Specification language ,Space (commercial competition) ,Software engineering ,business ,Scope (computer science) - Abstract
In this chapter DEMO (Design and Engineering Methodology for Organisations) is presented, in order to produce the essential model of an enterprise, or in general of a Scope of Interest (which may cover a part of one enterprise or of a network of enterprises). Like every proper methodology, DEMO comprises a Way of Thinking (WoT), a Way of Modelling (WoM), and a Way of Working (WoW). The WoT consists of the theories that are discussed in part B of this book. The WoM consists of an integrated whole of four aspect models: the Cooperation model (CM), the Action Model (AM), the Process Model (PM), and the Fact Model (FM). The CM of a Scope of Interest (SoI) is the ontological model of its construction, thus of the identified transactor roles and the coordination structures among them. Three structures are distinguished: the interaction structure, the interimpediment structure and the interstriction structure. The AM of an SoI is the ontological model of its operation. For every internal actor role, it provides the rules that guide the role fillers in doing their work. The guidelines for responding to coordination events are called action rules (similar to business rules), the ones for performing production acts are called work instructions. The PM of an SoI is the ontological model of the state space and the transition space of its coordination world. It contains the existence laws and occurrence laws for all internal and border transactor roles. The PM connects the CM and the AM of an SoI as far as coordination is concerned. The FM of an SoI is the ontological model of the state space and the transition space of its production world. It contains the existence laws and occurrence laws for all identified entity types, value types, property types, attribute types, and event types. The PM connects the CM and the AM of an SoI as far as production is concerned. All four sub-models are expressed in the DEMO Specification Language (DEMOSL), which comprises diagrams, tables, and formal textual descriptions. For producing essential models of enterprises, the WoW of DEMO offers the OER method (Organisational Essence Revealing). It consists of a number of steps in which the four aspect models are produced, preferably in a spiral way.
- Published
- 2020
36. Combining SLiVER with CADP to Analyze Multi-agent Systems
- Author
-
Frédéric Lang, Luca Di Stefano, Wendelin Serwe, Gran Sasso Science Institute (GSSI), Istituto Nazionale di Fisica Nucleare (INFN), Construction of verified concurrent systems (CONVECS ), Inria Grenoble - Rhône-Alpes, Institut National de Recherche en Informatique et en Automatique (Inria)-Institut National de Recherche en Informatique et en Automatique (Inria)-Laboratoire d'Informatique de Grenoble (LIG), Centre National de la Recherche Scientifique (CNRS)-Université Grenoble Alpes (UGA)-Institut polytechnique de Grenoble - Grenoble Institute of Technology (Grenoble INP ), Université Grenoble Alpes (UGA)-Centre National de la Recherche Scientifique (CNRS)-Université Grenoble Alpes (UGA)-Institut polytechnique de Grenoble - Grenoble Institute of Technology (Grenoble INP ), and Université Grenoble Alpes (UGA)
- Subjects
Syntax (programming languages) ,Property (programming) ,Computer science ,business.industry ,Programming language ,Multi-agent system ,020207 software engineering ,[INFO.INFO-SE]Computer Science [cs]/Software Engineering [cs.SE] ,02 engineering and technology ,Specification language ,computer.software_genre ,Article ,Toolbox ,Workflow ,Software ,[INFO.INFO-MA]Computer Science [cs]/Multiagent Systems [cs.MA] ,Encoding (memory) ,0202 electrical engineering, electronic engineering, information engineering ,020201 artificial intelligence & image processing ,business ,computer - Abstract
International audience; We present an automated workflow for the analysis of multi-agent systems described in a simple specification language. The procedure is based on a structural encoding of the input system and the property of interest into an LNT program, and relies on the CADP software toolbox to either verify the given property or simulate the encoded system. Counterexamples to properties under verification, as well as simulation traces, are translated into a syntax similar to that of the input language: therefore, no knowledge of CADP is required. The workflow is implemented as a module of the verification tool SLiVER. We present the input specification language, describe the analysis workflow, and show how to invoke SLiVER to verify or simulate two example systems. Then, we provide details on the LNT encoding and the verification procedure.
- Published
- 2020
37. Exploiting Anti-scenarios for the Non Realizability Problem
- Author
-
Fernando Asteasuain, Federico Calonge, and Pablo Gamboa
- Subjects
Theoretical computer science ,Action (philosophy) ,Exploit ,Control theory ,Computer science ,Realizability ,Modular programming ,Feature (machine learning) ,Specification language ,Behavioral synthesis - Abstract
Behavioral synthesis is a technique that automatically builds a controller for a system given its specification. This is achieved by obtaining a winning strategy in a game between the system and the environment. Behavioral synthesis has been successfully applied in modern modularization techniques such as Aspect Orientation to compose each particular view of the system in a single piece. When a controller can not be found the engineer faces the Non Realizability Problem. In this work we exploit FVS a distinguishable feature in the FVS specification language called anti-scenarios to address this problem. Several case studies are introduced to show our proposal in action. Additionally, a performance analysis is introduced to further validate our approach.
- Published
- 2020
38. Runtime Verification of Linux Kernel Security Module
- Author
-
Denis Efremov and Ilya V. Shchepetkov
- Subjects
050101 languages & linguistics ,Computer science ,Event (computing) ,Interface (Java) ,05 social sciences ,Runtime verification ,Linux kernel ,02 engineering and technology ,Specification language ,Tracing ,Security policy ,computer.software_genre ,Linux Security Modules ,System call ,0202 electrical engineering, electronic engineering, information engineering ,Operating system ,020201 artificial intelligence & image processing ,0501 psychology and cognitive sciences ,computer - Abstract
The Linux kernel is one of the most important Free/Libre Open Source Software (FLOSS) projects. It is installed on billions of devices all over the world, which process various sensitive, confidential or simply private data. It is crucial to establish and prove its security properties. This work-in-progress paper presents a method to verify the Linux kernel for conformance with an abstract security policy model written in the Event-B specification language. The method is based on system call tracing and aims at checking that the results of system call execution do not lead to accesses that violate security policy requirements. As a basis for it, we use an additional Event-B specification of the Linux system call interface that is formally proved to satisfy all the requirements of the security policy model. In order to perform the conformance checks we use it to reproduce intercepted system calls and verify accesses.
- Published
- 2020
39. A Flight Rule Checker for the LADEE Lunar Spacecraft
- Author
-
Elif Kurklu and Klaus Havelund
- Subjects
Spacecraft ,business.industry ,Computer science ,Scala ,Event (computing) ,Programming language ,Runtime verification ,ComputerApplications_COMPUTERSINOTHERSYSTEMS ,Context (language use) ,Specification language ,computer.software_genre ,Digital subscriber line ,Formal specification ,business ,computer ,computer.programming_language - Abstract
As part of the design of a space mission, an important part is the design of so-called flight rules. Flight rules express constraints on various parts and processes of the mission, that if followed, will reduce the risk of failure. One such set of flight rules constrain the format of command sequences regularly (e.g. daily) sent to the spacecraft to control its next near term behavior. We present a high-level view of the automated flight rule checker Frc for checking command sequences sent to NASA’s LADEE Lunar mission spacecraft, used throughout its entire mission. A command sequence is in this case essentially a program (a sequence of commands) with no loops or conditionals, and it can therefore be verified with a trace analysis tool. Frc is implemented using the TraceContract runtime verification tool, an internal Scala DSL for checking event sequences against “formal specifications”. The paper illustrates this untraditional use of runtime verification in a real context, with strong demands on the expressiveness and flexibility of the specification language, illustrating the advantages of an internal DSL.
- Published
- 2020
40. Role-Based Access Control Constraints and Object Constraint Language
- Author
-
Yanchun Zhang, Hua Wang, and Jinli Cao
- Subjects
business.industry ,Programming language ,Computer science ,Access control ,Specification language ,Object (computer science) ,computer.software_genre ,Cardinality ,Unified Modeling Language ,Role-based access control ,Class diagram ,business ,computer ,Object Constraint Language ,computer.programming_language - Abstract
Constraints are an important aspect of role-based access control management (RBAC). Constraints have to be satisfied in user—role assignment and permission—role assignment. The importance of constraints associated with user-role assignments and permission-role assignments in RBAC has been recognized but the modelling of these constraints has not received much attention. In this chapter we use a de facto constraints specification language in software engineering to analyze the constraints in user-role assignments and permission-role assignments. Object Constraints Language (OCL), a part of the Unified Modelling Language (UML) widely used in object-oriented analysis and design is applied to express various constraints in RBAC. We analyse elements, relationships, constraints and structure of RBAC adopting class diagram method in UML. Then the representations of role-based access constraints such as separation, prerequisite, cardinality and mobility constraints with OCL are identified. Finally, comparisons with other related work and our future work are presented.
- Published
- 2020
41. Runtime Verification
- Author
-
Bernd Finkbeiner, Maximilian Schwenger, Jan Baumeister, and Matthis Kruse
- Subjects
060201 languages & linguistics ,Exploit ,Sparse conditional constant propagation ,Programming language ,Computer science ,Formal semantics (linguistics) ,Optimizing compiler ,06 humanities and the arts ,02 engineering and technology ,Specification language ,Reuse ,Program optimization ,computer.software_genre ,0602 languages and literature ,0202 electrical engineering, electronic engineering, information engineering ,020201 artificial intelligence & image processing ,Common subexpression elimination ,computer - Abstract
Runtime monitors that are specified in a stream-based monitoring language tend to be easier to understand, maintain, and reuse than those written in a standard programming language. Because of their formal semantics, such specification languages are also a natural choice for safety-critical applications. Unlike for standard programming languages, there is, however, so far very little support for automatic code optimization. In this paper, we present the first collection of code transformations for the stream-based monitoring language RTLola. We show that classic compiler optimizations, such as Sparse Conditional Constant Propagation and Common Subexpression Elimination, can be adapted to monitoring specifications. We also develop new transformations -- Pacing Type Refinement and Filter Refinement -- which exploit the specific modular structure of RTLola as well as the implementation freedom afforded by a declarative specification language. We demonstrate the significant impact of the code transformations on benchmarks from the monitoring of unmanned aircraft systems (UAS).
- Published
- 2020
42. Abstracting Containerisation and Orchestration for Cloud-Native Applications
- Author
-
José Ghislain Quenum and Gervasius Ishuuwa
- Subjects
Domain-specific language ,Software portability ,Computer science ,business.industry ,Container (abstract data type) ,Business logic ,Cloud computing ,Specification language ,Orchestration (computing) ,Microservices ,Software engineering ,business - Abstract
Developing cloud-native applications demands a radical shift from the way we design and build traditional applications. Application designers usually divide their business logic into several business functions, each developed according to a microservices architectural style and packaged in containers. Throughout the stages of cloud-native application development (development, testing, staging and production), container orchestration helps coordinate the execution environment. Thanks to the increasing popularity of cloud-native applications, there has been a growing interest in container and orchestration technologies recently. However, despite their closeness, these two inter-related technologies are supported by different toolsets and specification formalisms, with minimal portability between them and usually a disregard for the best practices. This paper presents velo, a domain-specific language (DSL) that unifies containerisation and orchestration concepts. velo has two components: (1) a specification language that supports an abstract description of containerisation and orchestration for a complex application; and (2) a transpiler, a source-to-source compiler into concrete container manifest and orchestration description.
- Published
- 2020
43. Formal Development and Verification of Reusable Component in PAR Platform
- Author
-
Zhen You, Qimin Hu, Zhuo Cheng, Jinyun Xue, and Zhengkang Zuo
- Subjects
Predicate transformer semantics ,Loop invariant ,Correctness ,Programming language ,Modeling language ,Computer science ,TheoryofComputation_LOGICSANDMEANINGSOFPROGRAMS ,Component (UML) ,Proof assistant ,Specification language ,computer.software_genre ,Formal methods ,computer - Abstract
Formal method is an important approach to develop high trust software systems. Coq is an interactive proof assistant for the development of mathematical theories and formally certified software. Set, Bag, List, Tree, Graph are important reusable components in PAR platform. This paper tries to formally develop ‘Set’ components which have linear structure and verify the correctness of this component mechanically with Coq. The formal development of this component involves formalization of specification, the recurrence relation of problem-solving sequence and loop invariant. Specification language Radl of PAR platform was used to describe the specification, recurrence relation and loop invariants; Software modelling language Apla was used to describe the abstract model of those components. The Dijkstra’s Weakest Precondition method is used to verify abstract model by the interactive proof tool Coq. Finally, the abstract model denoted by Apla was transformed to concrete model written by executable language; such as C++, Java, VB and C#, etc., based on the program generating systems in PAR platform.
- Published
- 2020
44. On the Semantics of Polychronous Polytimed Specifications
- Author
-
Hai Nguyen Van, Chantal Keller, Benoît Valiron, Thibaut Balabonski, Frédéric Boulanger, Burkhart Wolff, Laboratoire de Recherche en Informatique (LRI), CentraleSupélec-Université Paris-Saclay-Centre National de la Recherche Scientifique (CNRS), and CentraleSupélec
- Subjects
Soundness ,050101 languages & linguistics ,Computer science ,Programming language ,Concurrency ,05 social sciences ,Proof assistant ,HOL ,[INFO.INFO-SE]Computer Science [cs]/Software Engineering [cs.SE] ,02 engineering and technology ,Specification language ,16. Peace & justice ,Mathematical proof ,computer.software_genre ,[INFO.INFO-MO]Computer Science [cs]/Modeling and Simulation ,Operational semantics ,Denotational semantics ,[INFO.INFO-FL]Computer Science [cs]/Formal Languages and Automata Theory [cs.FL] ,TheoryofComputation_LOGICSANDMEANINGSOFPROGRAMS ,0202 electrical engineering, electronic engineering, information engineering ,020201 artificial intelligence & image processing ,0501 psychology and cognitive sciences ,computer - Abstract
International audience; In this paper, we study the semantics of a specification language for the coordination of concurrent systems, which supports time at different levels: various time domains, polychrony, and mixed metric/logical time constraints. The language itself is defined by a denotational semantics. In order to be able to construct the possible timelines for verification purposes, we also define a symbolic operational semantics, which is the reference for an efficient implementation of a tool for runtime-testing of heterogeneous systems. This study presents a novel way to link these two semantics by taking advantage of a coinductive unfolding principle of these timelines. Furthermore, these semantics and their equivalence have been formalized in the Isabelle/HOL proof assistant, together with proofs for soundness, completeness and progress.
- Published
- 2020
45. RTLola Cleared for Take-Off: Monitoring Autonomous Aircraft
- Author
-
Christoph Torens, Bernd Finkbeiner, Jan Baumeister, Maximilian Schwenger, and Sebastian Schirmer
- Subjects
050101 languages & linguistics ,Computer science ,05 social sciences ,Runtime verification ,Testbed ,Intelligent decision support system ,Disaster recovery ,02 engineering and technology ,Specification language ,Range (aeronautics) ,Formal specification ,0202 electrical engineering, electronic engineering, information engineering ,Systems engineering ,020201 artificial intelligence & image processing ,0501 psychology and cognitive sciences ,Autonomous system (mathematics) - Abstract
The autonomous control of unmanned aircraft is a highly safety-critical domain with great economic potential in a wide range of application areas, including logistics, agriculture, civil engineering, and disaster recovery. We report on the development of a dynamic monitoring framework for the DLR ARTIS (Autonomous Rotorcraft Testbed for Intelligent Systems) family of unmanned aircraft based on the formal specification language RTLola. RTLola is a stream-based specification language for real-time properties. An RTLola specification of hazardous situations and system failures is statically analyzed in terms of consistency and resource usage and then automatically translated into an FPGA-based monitor. Our approach leads to highly efficient, parallelized monitors with formal guarantees on the noninterference of the monitor with the normal operation of the autonomous system.
- Published
- 2020
46. From Rigorous Requirements and User Interfaces Specifications into Software Business Applications
- Author
-
Alberto Rodrigues da Silva and Ivo Gamito
- Subjects
Requirements engineering ,Computer science ,business.industry ,Software requirements specification ,020207 software engineering ,02 engineering and technology ,Specification language ,language.human_language ,Software ,Controlled natural language ,0202 electrical engineering, electronic engineering, information engineering ,language ,020201 artificial intelligence & image processing ,Software business ,Model-driven architecture ,User interface ,Software engineering ,business ,computer ,computer.programming_language - Abstract
Software applications have been developed with multiple programming languages (specific software libraries and frameworks) and deployed on various software and hardware infrastructures. This paper introduces and discusses- the ASL language (short for “Application Specification Language”) that combines constructs from two previous languages: ITLingo RSL and IFML. ASL specifications are strict and rigorous sentences that allow us to define both requirements and user interfaces aspects of software applications in a consistent and integrated way. Alike RSL, and differently from IFML, ASL is a controlled natural language with a textual concrete syntax. Furthermore, the proposed approach includes model-to-model and model-to-code transformations that may considerably improve the quality and productivity of both the requirements specification and the development of software applications.
- Published
- 2020
47. Signal Temporal Logic Meets Reachability: Connections and Applications
- Author
-
Mo Chen, Qizhan Tam, Scott C. Livingston, and Marco Pavone
- Subjects
0209 industrial biotechnology ,Sequence ,Theoretical computer science ,Computer science ,02 engineering and technology ,Specification language ,Set (abstract data type) ,System requirements ,020901 industrial engineering & automation ,Reachability ,Control theory ,Computer Science::Logic in Computer Science ,0202 electrical engineering, electronic engineering, information engineering ,Set operations ,020201 artificial intelligence & image processing ,State (computer science) - Abstract
Signal temporal logic (STL) and reachability analysis are effective mathematical tools for formally analyzing the behavior of robotic systems. STL is a specification language that uses logic and temporal operators to precisely express real-valued and time-dependent requirements on system behaviors. While recursively defined STL specifications are extremely expressive and controller synthesis methods exist, there has not been work that quantifies the set of states from which STL formulas can be satisfied. Reachability analysis, on the other hand, involves computing the reachable set – the set of states from which a system is able to reach a goal while satisfying state and control constraints. While reasoning about system requirements through sets of states is useful for predetermining the possibility of satisfying desired system properties and obtaining state feedback controllers, so far the application of reachability has been limited to reach-avoid specifications. In this paper, we merge STL and time-varying reachability into a single framework that combines the key advantage of both methods – expressiveness of specifications and set quantification. To do this, we establish a correspondence between temporal and reachability operators, and use the idea of least-restrictive feasible controller sets (LRFCSs) to break down controller synthesis for complex STL formulas into a sequence of reachability and elementary set operations. LRFCSs are crucial for avoiding controller conflicts among different reachability operations. In addition, the synthesized state feedback controllers are guaranteed to satisfy STL specifications if determined to be possible by our framework, and violate specifications minimally if not. For simplicity, Hamilton-Jacobi reachability will be used in this paper, although our method is agnostic to the time-varying reachability method. We demonstrate our method through numerical simulations and robotic experiments.
- Published
- 2020
48. The Correctness of a Code Generator for a Functional Language
- Author
-
Antoine Séré, Nathanaël Courant, and Natarajan Shankar
- Subjects
Bisimulation ,050101 languages & linguistics ,Functional programming ,Correctness ,Generator (computer programming) ,Computer science ,Programming language ,05 social sciences ,02 engineering and technology ,Specification language ,computer.file_format ,computer.software_genre ,Imperative programming ,0202 electrical engineering, electronic engineering, information engineering ,020201 artificial intelligence & image processing ,0501 psychology and cognitive sciences ,Code generation ,Executable ,computer - Abstract
Code generation is gaining popularity as a technique to bridge the gap between high-level models and executable code. We describe the theory underlying the PVS2C code generator that translates functional programs written using the PVS specification language to standalone, efficiently executable C code. We outline a correctness argument for the code generator. The techniques used are quite generic and can be applied to transform programs written in functional languages into imperative code. We use a formal model of reference counting to capture memory management and safe destructive updates for a simple first-order functional language with arrays. We exhibit a bisimulation between the functional execution and the imperative execution. This bisimulation shows that the generated imperative program returns the same result as the functional program.
- Published
- 2020
49. Possible Models Computation and Revision – A Practical Approach
- Author
-
Peter Baumgartner
- Subjects
Situation awareness ,Computer science ,Programming language ,Scala ,0102 computer and information sciences ,02 engineering and technology ,Specification language ,computer.software_genre ,Data structure ,01 natural sciences ,TheoryofComputation_MATHEMATICALLOGICANDFORMALLANGUAGES ,Negation ,010201 computation theory & mathematics ,0202 electrical engineering, electronic engineering, information engineering ,Embedding ,020201 artificial intelligence & image processing ,Logical data model ,Automated reasoning ,computer ,computer.programming_language - Abstract
This paper describes a method of computing plausible states of a system as a logical model. The problem of analyzing state-based systems as they evolve over time has been studied widely in the automated reasoning community (and others). This paper proposes a specific approach, one that is tailored to situational awareness applications. The main contribution is a calculus for a novel specification language that is built around disjunctive logic programming under a possible models semantics, stratification in terms of event times, default negation, and a model revision operator for dealing with incomplete or erroneous events – a typical problem in realistic applications. The paper proves the calculus correct wrt. a formal semantics of the specification language and it describes the calculus’ implementation via embedding in Scala. This enables immediate access to rich data structures and external systems, which is important in practice.
- Published
- 2020
50. Translation of Cryptographic Protocols Description from Alice-Bob Format to CAS+ Specification Language
- Author
-
Liudmila Babenko and Ilya Pisarev
- Subjects
Security analysis ,Computer science ,business.industry ,Programming language ,Specification language ,Cryptographic protocol ,computer.software_genre ,Task (project management) ,Alice (programming language) ,business ,computer ,Protocol (object-oriented programming) ,computer.programming_language ,Graphical user interface ,Data transmission - Abstract
Cryptographic protocols are an important part of any protected system. Verifying their security is an important task to ensure the security of such systems. To enable security analysis, various verifiers are used. To do this, it is necessary to describe the protocol in specific specification languages, specify the verification objectives, and then directly conduct a security analysis. The paper presents a general approach for translating the presentation of the protocol from the Alice-Bob form to any specification language. The main elements allocated for the protocol when describing it in the specification language are given. Roles, data transmission channels, initial knowledge of roles, model of an attacker, initial knowledge of an attacker, message transfer are highlighted. A description of the CAS+ specification language for use in the Avispa verifier is provided. The algorithm for translating the Alice-Bob view to the CAS+ specification is given. An algorithm is presented for both automated verification of the protocol originally described in the Alice-Bob format and partially automated using the Avispa graphical interface. An example of the operation of the translation algorithm and automated verification is shown.
- Published
- 2020
Catalog
Discovery Service for Jio Institute Digital Library
For full access to our library's resources, please sign in.