{"title":"A Provably Correct Compilation of Functional Languages into Scripting Languages","authors":"P. Giannini, A. Shaqiri","doi":"10.7561/SACS.2017.1.19","DOIUrl":"https://doi.org/10.7561/SACS.2017.1.19","url":null,"abstract":"In this paper we consider the problem of translating core F#, a typed functional language including mutable variables, into scripting languages such as JavaScript or Python. In previous work, we abstracted the most significant characteristics of scripting languages in an intermediate language (IL for short), which is an imperative language with definition of names (variables and functions) done in blocks and where a definition of a name does not have to statically precede its use. We define a big-step operational semantics for core F# and for IL and formalise the translation of F# expressions into IL. The main contribution of the paper is the proof of correctness of the given translation, which is done by showing that the evaluation of a well-typed F# program converges to a primitive value if and only if the evaluation of its translation into IL converges to the same value. For this proof is crucial the type soundness of core F# which is proved by giving a coinductive formalization of the divergence predicate and proving that well-typed expressions either converge to a value or diverge and so they are never stuck.","PeriodicalId":394919,"journal":{"name":"Sci. Ann. Comput. Sci.","volume":"11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134155729","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
P. Drábik, A. Maggiolo-Schettini, P. Milazzo, G. Pardini
{"title":"Modular Verification of Qualitative Pathway Models with Fairness","authors":"P. Drábik, A. Maggiolo-Schettini, P. Milazzo, G. Pardini","doi":"10.7561/SACS.2013.1.75","DOIUrl":"https://doi.org/10.7561/SACS.2013.1.75","url":null,"abstract":"Modular verification is a technique used to face the state explosion problem often encountered in the verification of properties of complex systems such as concurrent interactive systems. The modular approach is based on the observation that properties of interest often concern a rather small portion of the system. As a consequence, reduced models can be constructed which approximate the overall system behaviour thus allowing more efficient verification. Biochemical pathways can be seen as complex concurrent interactive systems. Consequently, verification of their properties is often computationally very expensive and could take advantage of the modular approach. In this paper we develop a modular verification framework for biochemical pathways. We view biochemical pathways as concurrent systems of reactions competing for molecular resources. A modular verification technique could be based on reduced models containing only reactions involving molecular resources of interest. For a proper description of the system behaviour we argue that it is essential to consider a suitable notion of fairness, which is a well-established notion in concurrency theory but novel in the field of pathway modelling. The fairness notion we consider forbids starvation of reactions, namely it ensures that a reaction that is enabled infinitely often cannot always occur to the detriment of another infinitely often enabled reaction causing the latter to never occur. We prove the correctness of the approach and demonstrate it on the model of the EGF receptor-induced MAP kinase cascade by Schoeberl et al.","PeriodicalId":394919,"journal":{"name":"Sci. Ann. Comput. Sci.","volume":"52 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129985741","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"A Logic for Complex Computing Systems: Properties Preservation Along Integration and Abstraction","authors":"M. Aiguier, B. Kanso","doi":"10.7561/SACS.2014.1.1","DOIUrl":"https://doi.org/10.7561/SACS.2014.1.1","url":null,"abstract":"In a previous paper [1], we defined both a unified formal framework based on L.-S. Barbosa’s components for modeling complex software systems, and a generic formalization of integration rules to combine their behavior. In the present paper, we propose to continue this work by proposing a variant of first-order fixed point modal logic to express both components and systems requirements. We establish the important property for this logic to be adequate with respect to bisimulation. We then study the conditions to be imposed to our logic (characterization of sub-families of formulæ) to preserve properties along integration operators, and finally show correctness by construction results. The complexity of computing systems results in the definition of formal means to manage their size. To deal with this issue, we propose an abstraction (resp. simulation) of components by components. This enables us to build systems and check their correctness in an incremental way.","PeriodicalId":394919,"journal":{"name":"Sci. Ann. Comput. Sci.","volume":"24 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130698674","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Rely-Guarantee Based Reasoning for Message-Passing Programs","authors":"Jinjiang Lei, Z. Qiu","doi":"10.7561/SACS.2014.2.217","DOIUrl":"https://doi.org/10.7561/SACS.2014.2.217","url":null,"abstract":"The difficulties of verifying concurrent programs lie in their inherent non-determinism and interferences. Rely-Guarantee reasoning is one useful approach to solve this problem for its capability in formally specifying interthread interferences. However, modern verification requires better locality and modularity. It is still a great challenge to verify a message-passing program in a modular and composable way. In this paper, we propose a new reasoning system for message-passing programs. It is a novel logic that supports Hoare style triples to specify and verify distributed programs modularly. We concretize the concept of event traces to represent interactions among distributed agents, and specify behaviors of agents by their local traces with regard to environmental assumptions — an idea inspired by Rely-Guarantee reasoning. Based on trace semantics, the verification is compositional in both temporal and spatial dimensions. To show validity, we apply our logic to modularly prove several examples.","PeriodicalId":394919,"journal":{"name":"Sci. Ann. Comput. Sci.","volume":"21 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123141721","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Adding A/Sync Places to the Synthesis Procedure for Whole-Place Operations Nets with Localities","authors":"J. Kleijn, M. Koutny, Marta Pietkiewicz-Koutny","doi":"10.7561/SACS.2017.2.177","DOIUrl":"https://doi.org/10.7561/SACS.2017.2.177","url":null,"abstract":"Assuming that the behavioural specification of a concurrent system is given in the form of a step transition system, where the arcs between states are labelled by steps (multisets of executed actions), we focus on the problem of synthesising a Petri net generating a reachability graph isomorphic to a given step transition system. To deal with step transition systems more complicated than those generated by standard Place/Transition nets, we consider in this paper Petri nets with wholeplace operations, localities, and a/sync places. We adapt and extend the general approach developed within the framework of τ -nets and the theory of regions of step transition systems. Building on the results presented in [23], emphasis here is on the role of a/sync places with their potential for an instantaneous transfer of tokens within a step. In a series of results we demonstrate the robustness of the notion of region for Petri net synthesis.","PeriodicalId":394919,"journal":{"name":"Sci. Ann. Comput. Sci.","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125391202","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
A. Ballester-Bolinches, Enric Cosme-Llópez, R. Esteban-Romero, J. Rutten
{"title":"Formations of Monoids, Congruences, and Formal Languages","authors":"A. Ballester-Bolinches, Enric Cosme-Llópez, R. Esteban-Romero, J. Rutten","doi":"10.7561/SACS.2015.2.171","DOIUrl":"https://doi.org/10.7561/SACS.2015.2.171","url":null,"abstract":"The main goal in this paper is to use a dual equivalence in automata theory started in [RBBCL13] and developed in [BBCLR14] to prove a general version of the Eilenberg-type theorem presented in [BBPSE12]. Our principal results confirm the existence of a bijective correspondence between formations of (non-necessarily finite) monoids, that is, classes of monoids closed under taking epimorphic images and finite subdirect products, with formations of languages, which are classes of (non-necessarily regular) formal languages closed under coequational properties. Applications to non-r-disjunctive languages are given.","PeriodicalId":394919,"journal":{"name":"Sci. Ann. Comput. Sci.","volume":"138 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115378876","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Formal Analysis of Android's Permission-Based Security Model,","authors":"Gustavo Betarte, J. Campo, C. Luna, A. Romano","doi":"10.7561/SACS.2016.1.27","DOIUrl":"https://doi.org/10.7561/SACS.2016.1.27","url":null,"abstract":"In this work we present a comprehensive formal specification of an idealized formulation of Android’s permission model. Permissions in Android are basically tags that developers declare in their applications, more precisely in the so-called application manifest, to gain access to sensitive resources. Several analyses have recently been carried out concerning the security of the Android system. Few of them, however, pay attention to the formal aspects of the permission enforcing framework. We provide a complete and uniform formulation of several security properties using the higher order logic of the Calculus of Inductive Constructions and sketch the proofs that have been developed and verified using the Coq proof assistant. We also analyze how the changes introduced in the latest version of Android, that allows to manage permissions at runtime, impact the presented model.","PeriodicalId":394919,"journal":{"name":"Sci. Ann. Comput. Sci.","volume":"45 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133001671","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"A Flat Process Calculus for Nested Membrane Interactions","authors":"C. Bodei, L. Brodo, R. Bruni, Davide Chiarugi","doi":"10.7561/SACS.2014.1.91","DOIUrl":"https://doi.org/10.7561/SACS.2014.1.91","url":null,"abstract":"The link-calculus has been recently proposed as a process calculus for representing interactions that are open (i.e. that the number of processes may vary), and multiparty (i.e. that may involve more than two processes). Here, we apply the link-calculus for expressing, possibly hierarchical and non dyadic, biological interactions. In particular, we provide a natural encoding of Cardelli’s Brane calculus, a compartment-based calculus, introduced to model the behaviour of nested membranes. Notably, the link-calculus is at, but we can model membranes just as special processes taking part in the biological reaction. Moreover, we give evidence that the link-calculus allows one to directly model biological phenomena at the more appropriate level of abstraction.","PeriodicalId":394919,"journal":{"name":"Sci. Ann. Comput. Sci.","volume":"96 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134393481","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Several Remarks on Dissimilarities and Ultrametrics","authors":"D. Simovici","doi":"10.7561/SACS.2015.1.155","DOIUrl":"https://doi.org/10.7561/SACS.2015.1.155","url":null,"abstract":"We investigate the relationships between tolerance relations, equivalence relations, and ultrametrics. The set of spheres associated to an ultrametric space has a tree structure that reects a hierarchy on the set of equivalences associated to that space. We show that every ultrametric dened on a nite space is a linear combination of binary ultrametric and we introduce the notion of ultrametricity for dissimilarities, which has applications in many data mining problems.","PeriodicalId":394919,"journal":{"name":"Sci. Ann. Comput. Sci.","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128327425","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"On Activation, Connection, and Behavior in Dynamic Architectures","authors":"Diego Marmsoler, Mario Gleirscher","doi":"10.7561/SACS.2016.2.187","DOIUrl":"https://doi.org/10.7561/SACS.2016.2.187","url":null,"abstract":"The architecture of a system describes the system’s overall organization into components and connections between those components. With the emergence of mobile computing, dynamic architectures became increasingly important. In such architectures, components may appear or disappear, and connections may change over time. Despite the growing importance of dynamic architectures, the specification of properties for those architectures remains a challenge. To address this problem, we introduce the notion of configuration traces to model properties of dynamic architectures. Then, we characterize activation, connection, and behavior properties as special sets of configuration traces. We then show soundness and relative completeness of our characterization, i.e., we show that the intersection of an activation, connection, and behavior property contains all relevant configuration traces and that (almost) every property can be separated into these classes. Configuration traces can be used to specify general properties of dynamic architectures and the separation into different classes provides a systematic way for their specification. To evaluate our approach we apply it to the specification and verification of the Blackboard architecture pattern.","PeriodicalId":394919,"journal":{"name":"Sci. Ann. Comput. Sci.","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133790728","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}