Logo: to the web site of Uppsala University

uu.sePublications from Uppsala University
Change search
Refine search result
1 - 41 of 41
CiteExportLink to result list
Permanent link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Rows per page
  • 5
  • 10
  • 20
  • 50
  • 100
  • 250
Sort
  • Standard (Relevance)
  • Author A-Ö
  • Author Ö-A
  • Title A-Ö
  • Title Ö-A
  • Publication type A-Ö
  • Publication type Ö-A
  • Issued (Oldest first)
  • Issued (Newest first)
  • Created (Oldest first)
  • Created (Newest first)
  • Last updated (Oldest first)
  • Last updated (Newest first)
  • Disputation date (earliest first)
  • Disputation date (latest first)
  • Standard (Relevance)
  • Author A-Ö
  • Author Ö-A
  • Title A-Ö
  • Title Ö-A
  • Publication type A-Ö
  • Publication type Ö-A
  • Issued (Oldest first)
  • Issued (Newest first)
  • Created (Oldest first)
  • Created (Newest first)
  • Last updated (Oldest first)
  • Last updated (Newest first)
  • Disputation date (earliest first)
  • Disputation date (latest first)
Select
The maximal number of hits you can export is 250. When you want to export more records please use the Create feeds function.
  • 1.
    Baltopoulos, Ioannis G.
    et al.
    University of Cambridge.
    Borgström, Johannes
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Gordon, Andrew D.
    Microsoft Research, Cambridge.
    Maintaining Database Integrity with Refinement Types2011In: ECOOP 2011 – Object-Oriented Programming / [ed] Mezini, Mira, Berlin: Springer-Verlag , 2011, p. 484-509Conference paper (Refereed)
    Abstract [en]

    Taking advantage of recent advances in automated theorem proving, we present a new method for determining whether database transactions preserve integrity constraints. We consider check constraints and referential-integrity constraints—extracted from SQL table declarations—and application-level in- variants expressed as formulas of first-order logic. Our motivation is to use static analysis of database transactions at development time, to catch bugs early, or during deployment, to allow only integrity-preserving stored procedures to be accepted. We work in the setting of a functional multi-tier language, where functional code is compiled to SQL that queries and updates a relational database. We use refinement types to track constraints on data and the underlying database. Our analysis uses a refinement-type checker, which relies on recent highly efficient SMT algorithms to check proof obligations. Our method is based on a list-processing semantics for an SQL fragment within the functional language, and is illustrated by a series of examples. 

  • 2.
    Bhat, Sooraj
    et al.
    Georgia Institute of Technology.
    Borgström, Johannes
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Gordon, Andrew D.
    Microsoft Research, Cambridge.
    Russo, Claudio
    Microsoft Research, Cambridge.
    Deriving Probability Density Functions from Probabilistic Functional Programs2013In: Tools and Algorithms for the Construction and Analysis of Systems: 19th International Conference, TACAS 2013, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2013, Rome, Italy, March 16-24, 2013. Proceedings / [ed] N. Piterman and S. Smolka, Berlin/Heidelberg: Springer Berlin/Heidelberg, 2013, p. 508-522Conference paper (Refereed)
    Abstract [en]

    The probability density function of a probability distribution is a fundamental concept in probability theory and a key ingredient in various widely used machine learning methods. However, the necessary framework for compiling probabilistic functional programs to density functions has only recently been developed. In this work, we present a density compiler for a probabilistic language with discrete and continuous distributions, and discrete observations, and provide a proof of its soundness. The compiler greatly reduces the development effort of domain experts, which we demonstrate by solving inference problems from various scientific applications, such as modelling the global carbon cycle, using a standard Markov chain Monte Carlo framework. 

    Download full text (pdf)
    DensityFunctions.TACAS13
  • 3. Bhat, Sooraj
    et al.
    Borgström, Johannes
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Gordon, Andrew D.
    Russo, Claudio
    Deriving Probability Density Functions from Probabilistic Functional Programs2017In: Logical Methods in Computer Science, E-ISSN 1860-5974, Vol. 13, no 2, article id 16Article in journal (Refereed)
    Abstract [en]

    The probability density function of a probability distribution is a fundamental concept in probability theory and a key ingredient in various widely used machine learning methods. However, the necessary framework for compiling probabilistic functional programs to density functions has only recently been developed. In this work, we present a density compiler for a probabilistic language with failure and both discrete and continuous distributions, and provide a proof of its soundness. The compiler greatly reduces the development effort of domain experts, which we demonstrate by solving inference problems from various scientific applications, such as modelling the global carbon cycle, using a standard Markov chain Monte Carlo framework.

  • 4.
    Borgström, Johannes
    Department of Software Engineering and Theoretical Computer Science, Technische Universität Berlin, Germany.
    A Complete Symbolic Bisimilarity for an Extended Spi Calculus2009In: Electronic Notes in Theoretical Computer Science, E-ISSN 1571-0661, Vol. 242, no 3, p. 3-20Article in journal (Refereed)
    Abstract [en]

    Several symbolic notions of bisimilarity have been defined for the spi calculus and the applied pi calculus. In this paper, we treat a spi calculus with a general constructor-destructor message algebra, and define a symbolic bisimilarity that is both sound and complete with respect to its concrete counterpart. 

    Download full text (pdf)
    fulltext
  • 5.
    Borgström, Johannes
    EPFL.
    Equivalences and Calculi for Formal Verification of Cryptographic Protocols2008Doctoral thesis, monograph (Other academic)
    Abstract [en]

    Security protocols are essential to the proper functioning of any distributed system running over an insecure network but often have flaws that can be exploited even without breaking the cryptography. Formal cryptography, the assumption that the cryptographic primitives are flawless, facilitates the construction of formal models and verification tools. Such models are often based on process calculi, small formal languages for modelling communicating systems.

    The spi calculus, a process calculus for the modelling and formal verification of cryptographic protocols, is an extension of the pi calculus with cryptography. In the spi calculus, security properties can be formulated as equations on process terms, so no external formalism is needed. Moreover, the contextual nature of observational process equivalences takes into account any attacker/environment that can be expressed in the calculus.

    We set out to address the problem of automatic verification of observational equivalence in an extension of the spi calculus: A channel-passing calculus with a more general expression language.

    As a first step, we study existing non-contextual proof techniques for a particular canonical contextual equivalence. In contrast to standard process calculi, reasoning on cryptographic processes must take into account the partial knowledge of the environment about transmitted messages. In the setting of the spi calculus, several notions of environment-sensitive bisimulation has been developed to treat this environment knowledge. We exhibit distinguishing examples between several of these notions, including ones previously believed to coincide. We then give a general framework for comparison of environment-sensitive relations, based on a comparison of the corresponding kinds of environment and notions of environment consistency. Within this framework we perform an exhaustive comparison of the different bisimulations, where every possible relation that is not proven is disproven.

    For the second step, we consider the question of which expression languages are suitable. Extending the expression language to account for more sophisticated cryptographic primitives or other kinds of data terms quickly leads to decidability issues. Two important problems in this area are the knowledge problem and an indistinguishability problem called static equivalence. It is known that decidability of static equivalence implies decidability of knowledge in many cases; we exhibit an expression language where knowledge is decidable but static equivalence is not. We then define a class of constructor-destructor expression languages and prove that environment consistency over any such language directly corresponds to static equivalence in a particular extension thereof. We proceed to place some loose constraints on deterministic expression evaluation, and redefine the spi calculus in this more general setting.

    Once we have chosen an expression language, we encounter a third problem, which is inherent in the operational semantics of message-passing process calculi: The possibility to receive arbitrary messages gives rise to infinite branching on process input. To mitigate this problem, we define a symbolic semantics, where the substitution of received messages for input variables never takes place. Instead, input variables are only subject to logical constraints. We then use this symbolic semantics to define a symbolic bisimulation that is sound and complete with respect to its concrete counterpart, extending the possibilities for automated bisimulation checkers.

  • 6.
    Borgström, Johannes
    EPFL.
    Static Equivalence is Harder than Knowledge2006In: Electronic Notes in Theoretical Computer Science, E-ISSN 1571-0661, Vol. 154, no 3, p. 45-57Article in journal (Refereed)
    Abstract [en]

    There are two main ways of defining secrecy of cryptographic protocols. The first version checks if the adversary can learn the value of a secret parameter. In the second version, one checks if the adversary can notice any difference between protocol runs with different values of the secret parameter.

    We give a new proof that when considering more complex equational theories than partially invertible functions, these two kinds of secrecy are not equally difficult to verify. More precisely, we identify a message language equipped with a convergent rewrite system such that after a completed protocol run, the first problem mentioned above (adversary knowledge) is decidable but the second problem (static equivalence) is not. The proof is by reduction of the ambiguity problem for context-free grammars. 

    Download full text (pdf)
    fulltext
  • 7.
    Borgström, Johannes
    et al.
    Microsoft Research, Cambridge.
    Bhargavan, Karthikeyan
    Microsoft Research, Cambridge.
    Gordon, Andrew D
    Microsoft Research, Cambridge.
    A Compositional Theory for STM Haskell2009In: Proceedings of the 2nd ACM SIGPLAN symposium on Haskell, ACM Press , 2009, p. 69-80Conference paper (Refereed)
    Abstract [en]

    We address the problem of reasoning about Haskell programs that use Software Transactional Memory (STM). As a motivating example, we consider Haskell code for a concurrent non-deterministic tree rewriting algorithm implementing the operational semantics of the ambient calculus. The core of our theory is a uniform model, in the spirit of process calculi, of the run-time state of multi-threaded STM Haskell programs. The model was designed to simplify both local and compositional reasoning about STM programs. A single reduction relation captures both pure functional computations and also effectful computations in the STM and I/O monads. We state and prove liveness, soundness, completeness, safety, and termination properties relating source processes and their Haskell implementation. Our proof exploits various ideas from concurrency theory, such as the bisimulation technique, but in the setting of a widely used programming language rather than an abstract process calculus. Additionally, we develop an equational theory for reasoning about STM Haskell programs, and establish for the first time equations conjectured by the designers of STM Haskell. We conclude that using a pure functional language extended with STM facilitates reasoning about concurrent implementation code. 

  • 8.
    Borgström, Johannes
    et al.
    EPFL.
    Briais, Sebastien
    EPFL.
    Nestmann, Uwe
    EPFL.
    Symbolic Bisimulation in the Spi Calculus2004In: CONCUR 2004: Concurrency theory, proceedings / [ed] P. Gardner and N. Yoshida, Berlin Heidelberg: Springer Berlin/Heidelberg, 2004, Vol. 3170, p. 161-176Conference paper (Refereed)
    Abstract [en]

    The spi calculus is an executable model for the description and analysis of cryptographic protocols. Security objectives like secrecy and authenticity can be formulated as equations between spi calculus terms, where equality is interpreted as a contextual equivalence. One problem with verifying contextual equivalences for message-passing process calculi is the infinite branching on process input. In this paper, we propose a general symbolic semantics for the spi calculus, where an input prefix gives rise to only one transition. To avoid infinite quantification over contexts, non-contextual concrete bisimulations approximating barbed equivalence have been defined. We propose a symbolic bisimulation that is sound with respect to barbed equivalence, and brings us closer to automated bisimulation checks.

    Download full text (pdf)
    fulltext
  • 9.
    Borgström, Johannes
    et al.
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Chen, Juan
    Microsoft Research.
    Swamy, Nikhil
    Microsoft Research.
    Verified Stateful Programs with Substructural State and Hoare Types2011In: Proc. 5th ACM Workshop on Programming Languages Meets Program Verification, New York: ACM Press , 2011, p. 15-26Conference paper (Refereed)
  • 10.
    Borgström, Johannes
    et al.
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Crafa, Silvia
    Proc. Combined 21st International Workshop on Expressiveness in Concurrency (EXPRESS 2014) and 11th Workshop on Structural Operational Semantics (SOS 2014)2014Conference proceedings (editor) (Refereed)
  • 11.
    Borgström, Johannes
    et al.
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Dal Lago, Ugo
    Gordon, Andrew D.
    Szymczak, Marcin
    A Lambda-Calculus Foundation for Universal Probabilistic Programming2016In: SIGPLAN notices, ISSN 0362-1340, E-ISSN 1558-1160, Vol. 51, no 9, p. 33-46Article in journal (Refereed)
    Download full text (pdf)
    fulltext
  • 12.
    Borgström, Johannes
    et al.
    Microsoft Research, Cambridge.
    Gordon, Andrew D
    Microsoft Research, Cambridge.
    Greenberg, Michael
    University of Pennsylvania.
    Margetson, James
    Microsoft Research, Cambridge.
    van Gael, Jurgen
    Microsoft Research, Cambridge.
    Measure Transformer Semantics for Bayesian Machine Learning2011In: 20th European Symposium on Programming: Held as Part of the Joint European Conferences on Theory and Practice of Software / [ed] G. Barthe, Berlin, Heidelberg: Springer-Verlag , 2011, p. 77-96Conference paper (Refereed)
    Abstract [en]

    The Bayesian approach to machine learning amounts to inferring posterior distributions of random variables from a probabilistic model of how the variables are related (that is, a prior distribution) and a set of observations of variables. There is a trend in machine learning towards expressing Bayesian models as probabilistic programs. As a foundation for this kind of programming, we propose a core functional calculus with primitives for sampling prior distributions and observing variables. We define combinators for measure transformers, based on theorems in measure theory, and use these to give a rigorous semantics to our core calculus. The original features of our semantics include its support for discrete, continuous, and hybrid measures, and, in particular, for observations of zero-probability events. We compile our core language to a small imperative language that has a straightforward semantics via factor graphs, data structures that enable many efficient inference algorithms. We use an existing inference engine for efficient approximate inference of posterior marginal distributions, treating thousands of observations per second for large instances of realistic models.

    Download full text (pdf)
    fulltext
  • 13.
    Borgström, Johannes
    et al.
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Gordon, Andrew D.
    Microsoft Research, Cambridge.
    Greenberg, Michael
    University of Pennsylvania.
    Margetson, James
    Microsoft Research, Cambridge.
    van Gael, Jurgen
    Microsoft FUSE Labs, Cambridge.
    Measure transformer semantics for Bayesian machine learning2013In: Logical Methods in Computer Science, E-ISSN 1860-5974, Vol. 9, no 3, p. 11-Article in journal (Refereed)
    Abstract [en]

    The Bayesian approach to machine learning amounts to computing posterior distributions of random variables from a probabilistic model of how the variables are related (that is, a prior distribution) and a set of observations of variables. There is a trend in machine learning towards expressing Bayesian models as probabilistic programs. As a foundation for this kind of programming, we propose a core functional calculus with primitives for sampling prior distributions and observing variables. We define measure-transformer combinators inspired by theorems in measure theory, and use these to give a rigorous semantics to our core calculus. The original features of our semantics include its support for discrete, continuous, and hybrid measures, and, in particular, for observations of zero-probability events. We compile our core language to a small imperative language that is processed by an existing inference engine for factor graphs, which are data structures that enable many efficient inference algorithms. This allows efficient approximate inference of posterior marginal distributions, treating thousands of observations per second for large instances of realistic models.

  • 14.
    Borgström, Johannes
    et al.
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Gordon, Andrew D.
    Ouyang, Long
    Russo, Claudio
    Scibior, Adam
    Szymczak, Marcin
    Fabular: Regression formulas as probabilistic programming2016In: Proc. 43rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, New York: ACM Press, 2016, p. 271-283Conference paper (Refereed)
    Download full text (pdf)
    fulltext
  • 15.
    Borgström, Johannes
    et al.
    EECS, Technical University of Berlin.
    Gordon, Andrew D
    Microsoft Research, Cambridge.
    Phillips, Andrew
    Microsoft Research, Cambridge.
    A Chart Semantics for the Pi-Calculus2008In: Electronic Notes in Theoretical Computer Science, E-ISSN 1571-0661, Vol. 194, no 2, p. 3-29Article in journal (Refereed)
    Abstract [en]

    We present a graphical semantics for the pi-calculus, that is easier to visualize and better suited to expressing causality and temporal properties than conventional relational semantics. A pi-chart is a finite directed acyclic graph recording a computation in the pi-calculus. Each node represents a process, and each edge either represents a computation step, or a message-passing interaction. Pi-charts enjoy a natural pictorial representation, akin to message sequence charts, in which vertical edges represent control flow and horizontal edges represent data flow based on message passing. A pi-chart represents a single computation starting from its top (the nodes with no ancestors) to its bottom (the nodes with no descendants). Unlike conventional reductions or transitions, the edges in a pi-chart induce ancestry and other causal relations on processes. We give both compositional and operational definitions of pi-charts, and illustrate the additional expressivity afforded by the chart semantics via a series of examples. 

    Download full text (pdf)
    fulltext
  • 16.
    Borgström, Johannes
    et al.
    Microsoft Research, Cambridge.
    Gordon, Andrew D
    Microsoft Research, Cambridge.
    Pucella, Riccardo
    Northeastern University, College of Computer and Information Science.
    Roles, stacks, histories: A triple for Hoare2011In: Journal of functional programming (Print), ISSN 0956-7968, E-ISSN 1469-7653, Vol. 21, no 2, p. 159-207Article in journal (Refereed)
    Abstract [en]

    Behavioral type and effect systems regulate properties such as adherence to object and communication protocols, dynamic security policies, avoidance of race conditions, and many others. Typically, each system is based on some specific syntax of constraints, and is checked with an ad hoc solver. Instead, we advocate types refined with first-order logic formulas as a basis for behavioral type systems, and general purpose automated theorem provers as an effective means of checking programs. To illustrate this approach, we define a triple of security-related type systems: for role-based access control, for stack inspection, and for history-based access control. The three are all instances of a refined state monad. Our semantics allows a precise comparison of the similarities and differences of these mechanisms. In our examples, the benefit of behavioral type-checking is to rule out the possibility of unexpected security exceptions, a common problem with code-based access control. 

  • 17.
    Borgström, Johannes
    et al.
    Microsoft Research, Cambridge.
    Gordon, Andrew D
    Microsoft Research, Cambridge.
    Pucella, Riccardo
    Northeastern University.
    Roles, Stacks, Histories: A Triple for Hoare2010In: Reflections on the Work of C.A.R. Hoare: Festschrift in Honour of C. A. Hoare, F.R.S. on the Occasion of His 85th Birthday / [ed] W. Roscoe, Cliff B. Jones, Ken Wood, London: Springer , 2010, p. 71-100Chapter in book (Refereed)
    Abstract [en]

    Behavioural type and effect systems regulate properties such as adherence to object and communication protocols, dynamic security policies, avoidance of race conditions, and many others. Typically, each system is based on some specific syntax of constraints, and is checked with an ad hoc solver. Instead, we advocate types refined with first-order logic formulas as a basis for behavioural type systems, and general purpose automated theorem provers as an effective means of checking programs. To illustrate this approach, we define a triple of security-related type systems: for role-based access control, for stack inspection, and for history-based access control. The three are all instances of a refined state monad. Our semantics allows a precise comparison of the similarities and differences of these mechanisms. In our examples, the benefit of behavioural type-checking is to rule out the possibility of unexpected security exceptions, a common problem with code-based access control. 

  • 18.
    Borgström, Johannes
    et al.
    Technical University of Berlin.
    Grinchtein, Olga
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computer Systems.
    Kramer, Simon
    Ecole Polytechnique Fédérale de Lausanne.
    Timed calculus of cryptographic communication2007In: Formal Aspects in Security and Trust / [ed] Dimitrakos, Theo; Martinelli, Fabio; Ryan, Peter Y. A.; Schneider, Steve, Berlin: Springer-Verlag , 2007, p. 16-30Conference paper (Refereed)
    Abstract [en]

    We extend the (core) Calculus of Cryptographic Communication (C3) with real time, e.g., time stamps and timed keys. We illustrate how to use this extended calculus (tC3) on a specification and verification case study, namely the failure of the Wide-Mouthed-Frog protocol in its original, e.g., timed, version.

  • 19.
    Borgström, Johannes
    et al.
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Gutkovas, Ramunas
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Parrow, Joachim
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Victor, Björn
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Åman Pohjola, Johannes
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    A Sorted Semantic Framework for Applied Process Calculi2016In: Logical Methods in Computer Science, E-ISSN 1860-5974, Vol. 12, no 1, p. 1-49, article id 8Article in journal (Refereed)
    Abstract [en]

    Applied process calculi include advanced programming constructs such as type systems, communication with pattern matching, encryption primitives, concurrent constraints, nondeterminism, process creation, and dynamic connection topologies. Several such formalisms, e.g. the applied pi calculus, are extensions of the the pi-calculus; a growing number is geared towards particular applications or computational paradigms.

    Our goal is a unified framework to represent different process calculi and notions of computation. To this end, we extend our previous work on psi-calculi with novel abstract patterns and pattern matching, and add sorts to the data term language, giving sufficient criteria for subject reduction to hold. Our framework can directly represent several existing process calculi; the resulting transition systems are isomorphic to the originals up to strong bisimulation. We also demonstrate different notions of computation on data terms, including cryptographic primitives and a lambda-calculus with erratic choice. Finally, we prove standard congruence and structural properties of bisimulation; the proof has been machine-checked using Nominal Isabelle in the case of a single name sort.

    Download full text (pdf)
    fulltext
  • 20.
    Borgström, Johannes
    et al.
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Gutkovas, Ramunas
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Parrow, Joachim
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Victor, Björn
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Åman Pohjola, Johannes
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    A Sorted Semantic Framework for Applied Process Calculi (extended abstract)2014In: Trustworthy Global Computing: TGC 2013, Springer Berlin/Heidelberg, 2014, p. 103-118Conference paper (Refereed)
    Abstract [en]

    Applied process calculi include advanced programming constructs such as type systems, communication with pattern matching, encryption primitives, concurrent constraints, nondeterminism, process creation, and dynamic connection topologies. Several such formalisms, e.g. the applied pi calculus,  are extensions of the the pi-calculus; a growing number is geared towards particular applications or computational paradigms.

    Our goal is a unified framework to represent different process calculi and notions of computation. To this end, we extend our previous work on psi-calculi with novel abstract patterns and pattern matching, and add sorts to the data term language, giving sufficient criteria for subject reduction to hold. Our framework can accommodate several existing process calculi; the resulting transition systems are isomorphic to the originals up to strong bisimulation. We also demonstrate  different notions of computation on data terms, including cryptographic primitives and a lambda-calculus with erratic choice. Substantial parts of the meta-theory of sorted psi-calculi have been machine-checked using Nominal Isabelle.

  • 21.
    Borgström, Johannes
    et al.
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Gutkovas, Ramunas
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Rodhe, Ioana
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Victor, Björn
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    A Parametric Tool for Applied Process Calculi2013In: 13th International Conference on Application of Concurrency to System Design (ACSD 2013), IEEE Computer Society, 2013, p. 180-185Conference paper (Refereed)
    Abstract [en]

    High-level formalisms for concurrency are often defined as extensions of the the pi-calculus; a growing number is geared towards particular applications or computational paradigms. Psi-calculi is a parametric framework that can accommodate a wide spectrum of such calculi. It allows the definition of process calculi that extend the pi-calculus with arbitrary data, logic and logical assertions. All such psi calculi inherit machine-checked proofs of the meta-theory such as compositionality and bisimulation congruence.

    We present a generic tool for analysing processes from any psi calculus instance, and for implementing new instances with the help of a supporting library. The tool implements symbolic execution and bisimulation algorithms for both unicast and wireless broadcast communication. We illustrate the tool by examples from pi-calculus and the area of wireless sensor networks.

  • 22.
    Borgström, Johannes
    et al.
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Gutkovas, Ramunas
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Rodhe, Ioana
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Victor, Björn
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    The Psi-Calculi Workbench: A Generic Tool for Applied Process Calculi2015In: ACM Transactions on Embedded Computing Systems, ISSN 1539-9087, E-ISSN 1558-3465, Vol. 14, no 1, article id 9Article in journal (Refereed)
    Abstract [en]

    Psi-calculi is a parametric framework for extensions of the pi-calculus with arbitrary data and logic. All instances of the framework inherit machine-checked proofs of the metatheory such as compositionality and bisimulation congruence. We present a generic analysis tool for psi-calculus instances, enabling symbolic execution and (bi)simulation checking for both unicast and broadcast communication. The tool also provides a library for implementing new psi-calculus instances. We provide examples from traditional communication protocols and wireless sensor networks. We also describe the theoretical foundations of the tool, including an improved symbolic operational semantics, with additional support for scoped broadcast communication.

    Download full text (pdf)
    fulltext
  • 23.
    Borgström, Johannes
    et al.
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Huang, Shuqin
    Peking University, China.
    Johansson, Magnus
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Raabjerg, Palle
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Victor, Björn
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Åman Pohjola, Johannes
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Parrow, Joachim
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Broadcast Psi-calculi with an Application to Wireless Protocols2011In: Software Engineering and Formal Methods: SEFM 2011, Springer Berlin/Heidelberg, 2011, p. 74-89Conference paper (Refereed)
    Abstract [en]

    Psi-calculi is a parametric framework for extensions of the pi-calculus, with arbitrary data structures and logical assertions for facts about data. In this paper we add primitives for broadcast communication % to the psi-calculi framework. in order to model wireless protocols. The additions preserve the purity of the psi-calculi semantics, and we formally prove the standard congruence and structural properties of bisimilarity. We demonstrate the expressive power of broadcast psi-calculi by modelling the wireless ad-hoc routing protocol LUNAR and verifying a basic reachability property.

    Download full text (pdf)
    fulltext
  • 24.
    Borgström, Johannes
    et al.
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Huang, Shuqin
    Johansson, Magnus
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Raabjerg, Palle
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Victor, Björn
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Åman Pohjola, Johannes
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Parrow, Joachim
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Broadcast psi-calculi with an application to wireless protocols2015In: Software and Systems Modeling, ISSN 1619-1366, E-ISSN 1619-1374, Vol. 14, no 1, p. 201-216Article in journal (Refereed)
    Abstract [en]

    Psi-calculi is a parametric framework for extensions of the pi-calculus, with arbitrary data structures and logical assertions for facts about data. In this paper we add primitives for broadcast communication in order to model wireless protocols. The additions preserve the purity of the psi-calculi semantics, and we formally prove the standard congruence and structural properties of bisimilarity. We demonstrate the expressive power of broadcast psi-calculi by modelling the wireless ad-hoc routing protocol LUNAR and verifying a basic reachability property.

    Download full text (pdf)
    broadcastPsi.pdf
  • 25.
    Borgström, Johannes
    et al.
    EECS, Technical University of Berlin, Germany.
    Kramer, Simon
    EPFL.
    Nestmann, Uwe
    EECS, Technical University of Berlin, Germany.
    Calculus of Cryptographic Communication2006Conference paper (Other academic)
    Abstract [en]

    We define C3, a model-based formalism that is one half of a framework for the modelling, specification and verification of cryptographic protocols. C3 consists of a design language of distributed processes and an associated (SOS) notion of concurrent execution. The other half of our framework is a property-based formalism, i.e., a logic for the specification and verification of cryptographic protocols, called CPL. The two primary features of the co-design of C3 and CPL are that reduction constraints of C3-processes are checkable via CPL-satisfaction, and that C3’s notion of observational equivalence and CPL’s notion of propositional knowledge have a common definitional basis, namely structurally indistinguishable protocol histories. Moreover, this co-design permits separation of the concerns of protocol and property description, within the same framework. Other important features of C3 are explicit notions of secure (out- of-band) communication and history-based key lookup, which together give a concrete foundation on which to base authentication and key establishment protocols. 

    Download full text (pdf)
    BKN06.ccc.pdf
  • 26.
    Borgström, Johannes
    et al.
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Luttik, BasEindhoven University of Technology.
    Proceedings Combined 20th International Workshop on Expressiveness in Concurrency and 10th Workshop on Structural Operational Semantics2013Conference proceedings (editor) (Refereed)
    Abstract [en]

    This volume contains the proceedings of the Combined 20th International Workshop on Expressiveness in Concurrency and the 10th Workshop on Structural Operational Semantics (EXPRESS/SOS 2013) which was held on 26th August, 2013 in Buenos Aires, Argentina, as an affiliated workshop of CONCUR 2013, the 24th International Conference on Concurrency Theory. The EXPRESS workshops aim at bringing together researchers interested in the expressiveness of various formal systems and semantic notions, particularly in the field of concurrency. Their focus has traditionally been on the comparison between programming concepts (such as concurrent, functional, imperative, logic and object-oriented programming) and between mathematical models of computation (such as process algebras, Petri nets, event structures, modal logics, and rewrite systems) on the basis of their relative expressive power. The EXPRESS workshop series has run successfully since 1994 and over the years this focus has become broadly construed. The SOS workshops aim at being a forum for researchers, students and practitioners interested in new developments, and directions for future investigation, in the field of structural operational semantics. One of the specific goals of the SOS workshop series is to establish synergies between the concurrency and programming language communities working on the theory and practice of SOS. Reports on applications of SOS to other fields are also most welcome, including: modelling and analysis of biological systems, security of computer systems programming, modelling and analysis of embedded systems, specification of middle-ware and coordination languages, programming language semantics and implementation, static analysis software and hardware verification, and semantics for domain-specific languages and model-based engineering.

  • 27.
    Borgström, Johannes
    et al.
    EPFL.
    Nestmann, Uwe
    EPFL.
    On bisimulations for the spi calculus2005In: Mathematical Structures in Computer Science, ISSN 0960-1295, E-ISSN 1469-8072, Vol. 15, no 3, p. 487-552Article in journal (Refereed)
    Abstract [en]

    The spi calculus is an extension of the pi calculus with cryptographic primitives, which was designed for the verification of cryptographic protocols. Because of this extension, the naive adaptation of labelled bisimulations from the pi calculus is too strong to be useful for the purposes of verification. Instead, as a viable alternative, several ‘environment-sensitive’ bisimulations have been proposed. In this paper, we present a formal study of the differences between these bisimulations. 

  • 28.
    Borgström, Johannes
    et al.
    EPFL.
    Nestmann, Uwe
    EPFL.
    Onana, Luc
    SICS.
    Gurov, Dilian
    SICS.
    Verifying a Structured Peer-to-Peer Overlay Network: The Static Case2005In: Global Computing: IST/FET International Workshop, GC 2004 Rovereto, Italy, March 9-12, 2004: Revised Selected Papers / [ed] C. Priami and P. Quaglia, Berlin Heidelberg: Springer Berlin/Heidelberg, 2005, p. 250-265Conference paper (Refereed)
    Abstract [en]

    Structured peer-to-peer overlay networks are a class of algorithms that provide efficient message routing for distributed applications using a sparsely connected communication network. In this paper, we formally verify a typical application running on a fixed set of nodes. This work is the foundation for studies of a more dynamic system.

    We identify a value and expression language for a value-passing CCS that allows us to formally model a distributed hash table implemented over a static DKS overlay network. We then provide a specification of the lookup operation in the same language, allowing us to formally verify the correctness of the system in terms of observational equivalence between implementation and specification. For the proof, we employ an abstract notation for reachable states that allows us to work conveniently up to structural congruence, thus drastically reducing the number and shape of states to consider. The structure and techniques of the correctness proof are reusable for other overlay networks. 

    Download full text (pdf)
    fulltext
  • 29.
    Claret, Guillaume
    et al.
    Microsoft Research.
    Rajamani, Sriram
    Microsoft Research.
    Nori, Aditya
    Microsoft Research.
    Gordon, Andrew D.
    Microsoft Research, Cambridge.
    Borgström, Johannes
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Bayesian Inference Using Data Flow Analysis2013In: ESEC/FSE '13: Proceedings of the 9th joint meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering / [ed] Bertrand Meyer, Luciano Baresi, and Mira Mezini, New York, NY, USA: ACM Press, 2013, p. 92-102Conference paper (Refereed)
    Abstract [en]

    We present a new algorithm for Bayesian inference over probabilistic programs, based on data flow analysis techniques from the program analysis community. Unlike existing techniques for Bayesian inference on probabilistic programs, our data flow analysis algorithm is able to perform inference directly on probabilistic programs with loops. Even for loop-free programs, we show that data flow analysis offers better precision and better performance benefits over existing techniques. We also describe heuristics that are crucial for our inference to scale, and present an empirical evaluation of our algorithm over a range of benchmarks.

  • 30.
    Gordon, Andrew D.
    et al.
    Microsoft Research, Cambridge.
    Aizatulin, Mihhail
    Open University.
    Borgström, Johannes
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Claret, Guillaume
    Microsoft Research.
    Graepel, Thore
    Microsoft Research.
    Nori, Aditya
    Microsoft Research.
    Rajamani, Sriram
    Microsoft Research.
    Russo, Claudio
    Microsoft Research.
    A Model-Learner Pattern for Bayesian Reasoning2013In: Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages / [ed] Roberto Giacobazzi, Radhia Cousot, New York, NY: Association for Computing Machinery (ACM), 2013, p. 403-416Conference paper (Refereed)
    Abstract [en]

    A Bayesian model is based on a pair of probability distributions, known as the prior and sampling distributions. A wide range of fundamental machine learning tasks, including regression, classification, clustering, and many others, can all be seen as Bayesian models. We propose a new probabilistic programming abstraction, a typed Bayesian model, which is based on a pair of probabilistic expressions for the prior and sampling distributions. A sampler for a model is an algorithm to compute synthetic data from its sampling distribution, while a learner for a model is an algorithm for probabilistic inference on the model. Models, samplers, and learners form a generic programming pattern for model-based inference. They support the uniform expression of common tasks including model testing, and generic compositions such as mixture models, evidence-based model averaging, and mixtures of experts. A formal semantics supports reasoning about model equivalence and implementation correctness. By developing a series of examples and three learner implementations based on exact inference, factor graphs, and Markov chain Monte Carlo, we demonstrate the broad applicability of this new programming pattern.

  • 31. Gordon, Andrew D.
    et al.
    Graepel, Thore
    Rolland, Nicolas
    Russo, Claudio
    Borgström, Johannes
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Guiver, John
    Tabular: a schema-driven probabilistic programming language2014In: Proc. 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, New York: ACM Press, 2014, p. 321-334Conference paper (Refereed)
    Abstract [en]

    We propose a new kind of probabilistic programming language for machine learning. We write programs simply by annotating existing relational schemas with probabilistic model expressions. We describe a detailed design of our language, Tabular, complete with formal semantics and type system. A rich series of examples illustrates the expressiveness of Tabular. We report an implementation, and show evidence of the succinctness of our notation relative to current best practice. Finally, we describe and verify a transformation of Tabular schemas so as to predict missing values in a concrete database. The ability to query for missing values provides a uniform interface to a wide variety of tasks, including classification, clustering, recommendation, and ranking.

    Download full text (pdf)
    fulltext
  • 32. Gordon, Andrew D.
    et al.
    Russo, Claudio
    Szymczak, Marcin
    Borgström, Johannes
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Rolland, Nicolas
    Graepel, Thore
    Tarlow, Daniel
    Probabilistic programs as spreadsheet queries2015In: Programming Languages and Systems, Springer Berlin/Heidelberg, 2015, p. 1-25Conference paper (Refereed)
    Download full text (pdf)
    fulltext
  • 33.
    Lunden, Daniel
    et al.
    KTH Royal Inst Technol, Digital Futures, Stockholm, Sweden.;KTH Royal Inst Technol, EECS, Stockholm, Sweden..
    Borgström, Johannes
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Broman, David
    KTH Royal Inst Technol, Digital Futures, Stockholm, Sweden.;KTH Royal Inst Technol, EECS, Stockholm, Sweden..
    Correctness of Sequential Monte Carlo Inference for Probabilistic Programming Languages2021In: Programming Languages And Systems, ESOP 2021 / [ed] Yoshida, N, Springer Nature Springer Nature, 2021, Vol. 12648, p. 404-431Conference paper (Refereed)
    Abstract [en]

    Probabilistic programming is an approach to reasoning under uncertainty by encoding inference problems as programs. In order to solve these inference problems, probabilistic programming languages (PPLs) employ different inference algorithms, such as sequential Monte Carlo (SMC), Markov chain Monte Carlo (MCMC), or variational methods. Existing research on such algorithms mainly concerns their implementation and efficiency, rather than the correctness of the algorithms themselves when applied in the context of expressive PPLs. To remedy this, we give a correctness proof for SMC methods in the context of an expressive PPL calculus, representative of popular PPLs such as WebPPL, Anglican, and Birch. Previous work have studied correctness of MCMC using an operational semantics, and correctness of SMC and MCMC in a denotational setting without term recursion. However, for SMC inference-one of the most commonly used algorithms in PPLs as of today-no formal correctness proof exists in an operational setting. In particular, an open question is if the resample locations in a probabilistic program affects the correctness of SMC. We solve this fundamental problem, and make four novel contributions: (i) we extend an untyped PPL lambda calculus and operational semantics to include explicit resample terms, expressing synchronization points in SMC inference; (ii) we prove, for the first time, that subject to mild restrictions, any placement of the explicit resample terms is valid for a generic form of SMC inference; (iii) as a result of (ii), our calculus benefits from classic results from the SMC literature: a law of large numbers and an unbiased estimate of the model evidence; and (iv) we formalize the bootstrap particle filter for the calculus and discuss how our results can be further extended to other SMC algorithms.

    Download full text (pdf)
    FULLTEXT01
  • 34.
    Parrow, Joachim
    et al.
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Borgström, Johannes
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Eriksson, Lars-Henrik
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Forsberg Gutkovas, Ramunas
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Weber, Tjark
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Modal Logics for Nominal Transition Systems2021In: Logical Methods in Computer Science, E-ISSN 1860-5974, Vol. 17, no 1, article id 5353Article in journal (Refereed)
    Abstract [en]

    We define a general notion of transition system where states and action labels can be from arbitrary nominal sets, actions may bind names, and state predicates from an arbitrary logic define properties of states. A Hennessy-Milner logic for these systems is introduced, and proved adequate and expressively complete for bisimulation equivalence. A main technical novelty is the use of finitely supported infinite conjunctions. We show how to treat different bisimulation variants such as early, late, open and weak in a systematic way, explore the folklore theorem that state predicates can be replaced by actions, and make substantial comparisons with related work. The main definitions and theorems have been formalised in Nominal Isabelle.

    Download full text (pdf)
    pre-print
    Download full text (pdf)
    published version
  • 35.
    Parrow, Joachim
    et al.
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Borgström, Johannes
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Eriksson, Lars-Henrik
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Gutkovas, Ramunas
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Weber, Tjark
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Modal Logics for Nominal Transition Systems2015In: 26th International Conference on Concurrency Theory: CONCUR 2015, Dagstuhl, Germany: Leibniz-Zentrum für Informatik , 2015, p. 198-211Conference paper (Refereed)
  • 36.
    Parrow, Joachim
    et al.
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Borgström, Johannes
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Raabjerg, Palle
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Åman Pohjola, Johannes
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Higher-order psi-calculi2014In: Mathematical Structures in Computer Science, ISSN 0960-1295, E-ISSN 1469-8072, Vol. 24, no 2, article id e240203Article in journal (Refereed)
    Abstract [en]

    Psi-calculi is a parametric framework for extensions of the pi-calculus; in earlier work we have explored their expressiveness and algebraic theory. In this paper we consider higher-order psi-calculi through a technically surprisingly simple extension of the framework, and show how an arbitrary psi-calculus can be lifted to its higher-order counterpart in a canonical way. We illustrate this with examples and establish an algebraic theory of higher-order psi-calculi. The formal results are obtained by extending our proof repositories in Isabelle/Nominal.

    Download full text (pdf)
    fulltext
  • 37.
    Parrow, Joachim
    et al.
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Weber, Tjark
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Borgström, Johannes
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Eriksson, Lars-Henrik
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Weak Nominal Modal Logic2017In: Formal Techniques for Distributed Objects, Components, and Systems, Springer, 2017, p. 179-193Conference paper (Refereed)
  • 38.
    Ronquist, Fredrik
    et al.
    Swedish Museum of Natural History.
    Kudlicka, Jan
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Division of Computing Science. Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Senderov, Viktor
    Swedish Museum of Natural History.
    Borgström, Johannes
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Division of Computing Science. Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Lartillot, Nicolas
    Université Claude Bernard Lyon 1.
    Lundén, Daniel
    KTH Royal Institute of Technology.
    Murray, Lawrence M.
    Uber AI.
    Schön, Thomas B.
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Division of Systems and Control. Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Artificial Intelligence.
    Broman, David
    KTH Royal Institute of Technology.
    Universal probabilistic programming offers a powerful approach to statistical phylogenetics2021In: Communications Biology, E-ISSN 2399-3642, Vol. 4, article id 244Article in journal (Refereed)
    Abstract [en]

    Statistical phylogenetic analysis currently relies on complex, dedicated software packages, making it difficult for evolutionary biologists to explore new models and inference strategies. Recent years have seen more generic solutions based on probabilistic graphical models, but this formalism can only partly express phylogenetic problems. Here, we show that universal probabilistic programming languages (PPLs) solve the expressivity problem, while still supporting automated generation of efficient inference algorithms. To prove the latter point, we develop automated generation of sequential Monte Carlo (SMC) algorithms for PPL descriptions of arbitrary biological diversification (birth-death) models. SMC is a new inference strategy for these problems, supporting both parameter inference and efficient estimation of Bayes factors that are used in model testing. We take advantage of this in automatically generating SMC algorithms for several recent diversification models that have been difficult or impossible to tackle previously. Finally, applying these algorithms to 40 bird phylogenies, we show that models with slowing diversification, constant turnover and many small shifts generally explain the data best. Our work opens up several related problem domains to PPL approaches, and shows that few hurdles remain before these techniques can be effectively applied to the full range of phylogenetic models.

    Download full text (pdf)
    fulltext
  • 39.
    Schneider, Sven
    et al.
    EECS, Technical University of Berlin.
    Borgström, Johannes
    EECS, Technical University of Berlin.
    Nestmann, Uwe
    EECS, Technical University of Berlin.
    Towards the Application of Process Calculi in the Domain of Peer-to-Peer Algorithms2008In: Autonomous Systems – Self-Organization, Management, and Control / [ed] B. Mahr, H. Sheng, Springer Science+Business Media B.V. , 2008, p. 97-104Conference paper (Refereed)
    Abstract [en]

    Peer-to-Peer (p2p) algorithms are nowadays standard. However, their specification and verification is not. Currently, the properties that such algorithms should satisfy are stated informally, and the algorithms themselves are often given as pseudo-code. Because of this, no satisfying methods for modeling, specifying and/or verifying these algorithms have yet been developed. We therefore propose a distributed stochastic process calculus to model such algorithms and to formally state and prove relevant functional and performance properties. 

  • 40.
    Weber, Tjark
    et al.
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Eriksson, Lars-Henrik
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Parrow, Joachim
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Borgström, Johannes
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Gutkovas, Ramūnas
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Modal Logics for Nominal Transition Systems2016In: Archive of Formal Proofs, ISSN 2150-914xArticle in journal (Refereed)
  • 41.
    Åman Pohjola, Johannes
    et al.
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Borgström, Johannes
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Parrow, Joachim
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Raabjerg, Palle
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Rodhe, Ioana
    Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.
    Negative premises in applied process calculi2013Report (Other academic)
    Abstract [en]

    We explore two applications of negative premises to increase the expressive power of psi-calculi: reliable broadcasts and priorities. Together, these can be used to model discrete time, which we illustrate with an example from automotive applications. The negative premises can be encoded by a two-level structural operational semantics without negative premises; we use this fact to prove the standard congruence and structural laws of bisimulation with Nominal Isabelle.

    Download full text (pdf)
    fulltext
1 - 41 of 41
CiteExportLink to result list
Permanent link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf