13 research outputs found

    An Analytical Approach to Programs as Data Objects

    Get PDF
    This essay accompanies a selection of 32 articles (referred to in bold face in the text and marginally marked in the bibliographic references) submitted to Aarhus University towards a Doctor Scientiarum degree in Computer Science.The author's previous academic degree, beyond a doctoral degree in June 1986, is an "Habilitation à diriger les recherches" from the Université Pierre et Marie Curie (Paris VI) in France; the corresponding material was submitted in September 1992 and the degree was obtained in January 1993.The present 32 articles have all been written since 1993 and while at DAIMI.Except for one other PhD student, all co-authors are or have been the author's students here in Aarhus

    Finding parallel functional pearls : automatic parallel recursion scheme detection in Haskell functions via anti-unification

    Get PDF
    This work has been partially supported by the EU H2020 grant “RePhrase: Refactoring Parallel Heterogeneous Resource-Aware Applications–a Software Engineering Approach” (ICT-644235), by COST Action IC1202 (TACLe), supported by COST (European Cooperation in Science and Technology) , by EPSRC grant “Discovery: Pattern Discovery and Program Shaping for Manycore Systems” (EP/P020631/1), and by Scottish Enterprise PS7305CA44.This paper describes a new technique for identifying potentially parallelisable code structures in functional programs. Higher-order functions enable simple and easily understood abstractions that can be used to implement a variety of common recursion schemes, such as maps and folds over traversable data structures. Many of these recursion schemes have natural parallel implementations in the form of algorithmic skeletons. This paper presents a technique that detects instances of potentially parallelisable recursion schemes in Haskell 98 functions. Unusually, we exploit anti-unification to expose these recursion schemes from source-level definitions whose structures match a recursion scheme, but which are not necessarily written directly in terms of maps, folds, etc. This allows us to automatically introduce parallelism, without requiring the programmer to structure their code a priori in terms of specific higher-order functions. We have implemented our approach in the Haskell refactoring tool, HaRe, and demonstrated its use on a range of common benchmarking examples. Using our technique, we show that recursion schemes can be easily detected, that parallel implementations can be easily introduced, and that we can achieve real parallel speedups (up to 23 . 79 × the sequential performance on 28 physical cores, or 32 . 93 × the sequential performance with hyper-threading enabled).PostprintPeer reviewe

    Programming and symbolic computation in Maude

    Full text link
    [EN] Rewriting logic is both a flexible semantic framework within which widely different concurrent systems can be naturally specified and a logical framework in which widely different logics can be specified. Maude programs are exactly rewrite theories. Maude has also a formal environment of verification tools. Symbolic computation is a powerful technique for reasoning about the correctness of concurrent systems and for increasing the power of formal tools. We present several new symbolic features of Maude that enhance formal reasoning about Maude programs and the effectiveness of formal tools. They include: (i) very general unification modulo user-definable equational theories, and (ii) symbolic reachability analysis of concurrent systems using narrowing. The paper does not focus just on symbolic features: it also describes several other new Maude features, including: (iii) Maude's strategy language for controlling rewriting, and (iv) external objects that allow flexible interaction of Maude object-based concurrent systems with the external world. In particular, meta-interpreters are external objects encapsulating Maude interpreters that can interact with many other objects. To make the paper self-contained and give a reasonably complete language overview, we also review the basic Maude features for equational rewriting and rewriting with rules, Maude programming of concurrent object systems, and reflection. Furthermore, we include many examples illustrating all the Maude notions and features described in the paper.Duran has been partially supported by MINECO/FEDER project TIN2014-52034-R. Escobar has been partially supported by the EU (FEDER) and the MCIU under grant RTI2018-094403-B-C32, by the Spanish Generalitat Valenciana under grant PROMETE0/2019/098, and by the US Air Force Office of Scientific Research under award number FA9550-17-1-0286. MartiOliet and Rubio have been partially supported by MCIU Spanish project TRACES (TIN2015-67522-C3-3-R). Rubio has also been partially supported by a MCIU grant FPU17/02319. Meseguer and Talcott have been partially supported by NRL Grant N00173 -17-1-G002. Talcott has also been partially supported by ONR Grant N00014-15-1-2202.Durán, F.; Eker, S.; Escobar Román, S.; NARCISO MARTÍ OLIET; José Meseguer; Rubén Rubio; Talcott, C. (2020). Programming and symbolic computation in Maude. Journal of Logical and Algebraic Methods in Programming. 110:1-58. https://doi.org/10.1016/j.jlamp.2019.100497S158110Alpuente, M., Escobar, S., Espert, J., & Meseguer, J. (2014). A modular order-sorted equational generalization algorithm. Information and Computation, 235, 98-136. doi:10.1016/j.ic.2014.01.006K. Bae, J. Meseguer, Predicate abstraction of rewrite theories, in: [36], 2014, pp. 61–76.Bae, K., & Meseguer, J. (2015). Model checking linear temporal logic of rewriting formulas under localized fairness. Science of Computer Programming, 99, 193-234. doi:10.1016/j.scico.2014.02.006Bae, K., Meseguer, J., & Ölveczky, P. C. (2014). Formal patterns for multirate distributed real-time systems. Science of Computer Programming, 91, 3-44. doi:10.1016/j.scico.2013.09.010P. Borovanský, C. Kirchner, H. Kirchner, P.E. Moreau, C. Ringeissen, An overview of ELAN, in: [77], 1998, pp. 55–70.Bouhoula, A., Jouannaud, J.-P., & Meseguer, J. (2000). Specification and proof in membership equational logic. Theoretical Computer Science, 236(1-2), 35-132. doi:10.1016/s0304-3975(99)00206-6Bravenboer, M., Kalleberg, K. T., Vermaas, R., & Visser, E. (2008). Stratego/XT 0.17. A language and toolset for program transformation. Science of Computer Programming, 72(1-2), 52-70. doi:10.1016/j.scico.2007.11.003Bruni, R., & Meseguer, J. (2006). Semantic foundations for generalized rewrite theories. Theoretical Computer Science, 360(1-3), 386-414. doi:10.1016/j.tcs.2006.04.012M. Clavel, F. Durán, S. Eker, S. Escobar, P. Lincoln, N. Martí-Oliet, C.L. Talcott, Two decades of Maude, in: [86], 2015, pp. 232–254.Clavel, M., Durán, F., Eker, S., Lincoln, P., Martı́-Oliet, N., Meseguer, J., & Quesada, J. F. (2002). Maude: specification and programming in rewriting logic. Theoretical Computer Science, 285(2), 187-243. doi:10.1016/s0304-3975(01)00359-0Clavel, M., & Meseguer, J. (2002). Reflection in conditional rewriting logic. Theoretical Computer Science, 285(2), 245-288. doi:10.1016/s0304-3975(01)00360-7F. Durán, S. Eker, S. Escobar, N. Martí-Oliet, J. Meseguer, C.L. Talcott, Associative unification and symbolic reasoning modulo associativity in Maude, in: [121], 2018, pp. 98–114.Durán, F., Lucas, S., Marché, C., Meseguer, J., & Urbain, X. (2008). Proving operational termination of membership equational programs. Higher-Order and Symbolic Computation, 21(1-2), 59-88. doi:10.1007/s10990-008-9028-2F. Durán, J. Meseguer, An extensible module algebra for Maude, in: [77], 1998, pp. 174–195.Durán, F., & Meseguer, J. (2003). Structured theories and institutions. Theoretical Computer Science, 309(1-3), 357-380. doi:10.1016/s0304-3975(03)00312-8Durán, F., & Meseguer, J. (2007). Maude’s module algebra. Science of Computer Programming, 66(2), 125-153. doi:10.1016/j.scico.2006.07.002Durán, F., & Meseguer, J. (2012). On the Church-Rosser and coherence properties of conditional order-sorted rewrite theories. The Journal of Logic and Algebraic Programming, 81(7-8), 816-850. doi:10.1016/j.jlap.2011.12.004F. Durán, P.C. Ölveczky, A guide to extending Full Maude illustrated with the implementation of Real-Time Maude, in: [116], 2009, pp. 83–102.S. Escobar, Multi-paradigm programming in Maude, in: [121], 2018, pp. 26–44.Escobar, S., Meadows, C., Meseguer, J., & Santiago, S. (2014). State space reduction in the Maude-NRL Protocol Analyzer. Information and Computation, 238, 157-186. doi:10.1016/j.ic.2014.07.007Escobar, S., Sasse, R., & Meseguer, J. (2012). Folding variant narrowing and optimal variant termination. The Journal of Logic and Algebraic Programming, 81(7-8), 898-928. doi:10.1016/j.jlap.2012.01.002H. Garavel, M. Tabikh, I. Arrada, Benchmarking implementations of term rewriting and pattern matching in algebraic, functional, and object-oriented languages – the 4th rewrite engines competition, in: [121], 2018, pp. 1–25.Goguen, J. A., & Burstall, R. M. (1992). Institutions: abstract model theory for specification and programming. Journal of the ACM, 39(1), 95-146. doi:10.1145/147508.147524Goguen, J. A., & Meseguer, J. (1984). Equality, types, modules, and (why not?) generics for logic programming. The Journal of Logic Programming, 1(2), 179-210. doi:10.1016/0743-1066(84)90004-9Goguen, J. A., & Meseguer, J. (1992). Order-sorted algebra I: equational deduction for multiple inheritance, overloading, exceptions and partial operations. Theoretical Computer Science, 105(2), 217-273. doi:10.1016/0304-3975(92)90302-vR. Gutiérrez, J. Meseguer, Variant-based decidable satisfiability in initial algebras with predicates, in: [61], 2018, pp. 306–322.Gutiérrez, R., Meseguer, J., & Rocha, C. (2015). Order-sorted equality enrichments modulo axioms. Science of Computer Programming, 99, 235-261. doi:10.1016/j.scico.2014.07.003Horn, A. (1951). On sentences which are true of direct unions of algebras. Journal of Symbolic Logic, 16(1), 14-21. doi:10.2307/2268661Katelman, M., Keller, S., & Meseguer, J. (2012). Rewriting semantics of production rule sets. The Journal of Logic and Algebraic Programming, 81(7-8), 929-956. doi:10.1016/j.jlap.2012.06.002Kowalski, R. (1979). Algorithm = logic + control. Communications of the ACM, 22(7), 424-436. doi:10.1145/359131.359136Lucanu, D., Rusu, V., & Arusoaie, A. (2017). A generic framework for symbolic execution: A coinductive approach. Journal of Symbolic Computation, 80, 125-163. doi:10.1016/j.jsc.2016.07.012D. Lucanu, V. Rusu, A. Arusoaie, D. Nowak, Verifying reachability-logic properties on rewriting-logic specifications, in: [86], 2015, pp. 451–474.Lucas, S., & Meseguer, J. (2016). Normal forms and normal theories in conditional rewriting. Journal of Logical and Algebraic Methods in Programming, 85(1), 67-97. doi:10.1016/j.jlamp.2015.06.001N. Martí-Oliet, J. Meseguer, A. Verdejo, A rewriting semantics for Maude strategies, in: [116], 2009, pp. 227–247.Martí-Oliet, N., Palomino, M., & Verdejo, A. (2007). Strategies and simulations in a semantic framework. Journal of Algorithms, 62(3-4), 95-116. doi:10.1016/j.jalgor.2007.04.002Meseguer, J. (1992). Conditional rewriting logic as a unified model of concurrency. Theoretical Computer Science, 96(1), 73-155. doi:10.1016/0304-3975(92)90182-fMeseguer, J. (2012). Twenty years of rewriting logic. The Journal of Logic and Algebraic Programming, 81(7-8), 721-781. doi:10.1016/j.jlap.2012.06.003Meseguer, J. (2017). Strict coherence of conditional rewriting modulo axioms. Theoretical Computer Science, 672, 1-35. doi:10.1016/j.tcs.2016.12.026J. Meseguer, Generalized rewrite theories and coherence completion, in: [121], 2018, pp. 164–183.Meseguer, J. (2018). Variant-based satisfiability in initial algebras. Science of Computer Programming, 154, 3-41. doi:10.1016/j.scico.2017.09.001Meseguer, J., Goguen, J. A., & Smolka, G. (1989). Order-sorted unification. Journal of Symbolic Computation, 8(4), 383-413. doi:10.1016/s0747-7171(89)80036-7Meseguer, J., & Ölveczky, P. C. (2012). Formalization and correctness of the PALS architectural pattern for distributed real-time systems. Theoretical Computer Science, 451, 1-37. doi:10.1016/j.tcs.2012.05.040Meseguer, J., Palomino, M., & Martí-Oliet, N. (2008). Equational abstractions. Theoretical Computer Science, 403(2-3), 239-264. doi:10.1016/j.tcs.2008.04.040Meseguer, J., & Roşu, G. (2007). The rewriting logic semantics project. Theoretical Computer Science, 373(3), 213-237. doi:10.1016/j.tcs.2006.12.018Meseguer, J., & Roşu, G. (2013). The rewriting logic semantics project: A progress report. Information and Computation, 231, 38-69. doi:10.1016/j.ic.2013.08.004Meseguer, J., & Skeirik, S. (2017). Equational formulas and pattern operations in initial order-sorted algebras. Formal Aspects of Computing, 29(3), 423-452. doi:10.1007/s00165-017-0415-5Meseguer, J., & Thati, P. (2007). Symbolic reachability analysis using narrowing and its application to verification of cryptographic protocols. Higher-Order and Symbolic Computation, 20(1-2), 123-160. doi:10.1007/s10990-007-9000-6C. Olarte, E. Pimentel, C. Rocha, Proving structural properties of sequent systems in rewriting logic, in: [121], 2018, pp. 115–135.Ölveczky, P. C., & Meseguer, J. (2007). Semantics and pragmatics of Real-Time Maude. Higher-Order and Symbolic Computation, 20(1-2), 161-196. doi:10.1007/s10990-007-9001-5Ölveczky, P. C., & Thorvaldsen, S. (2009). Formal modeling, performance estimation, and model checking of wireless sensor network algorithms in Real-Time Maude. Theoretical Computer Science, 410(2-3), 254-280. doi:10.1016/j.tcs.2008.09.022Rocha, C., Meseguer, J., & Muñoz, C. (2017). Rewriting modulo SMT and open system analysis. Journal of Logical and Algebraic Methods in Programming, 86(1), 269-297. doi:10.1016/j.jlamp.2016.10.001Şerbănuţă, T. F., Roşu, G., & Meseguer, J. (2009). A rewriting logic approach to operational semantics. Information and Computation, 207(2), 305-340. doi:10.1016/j.ic.2008.03.026Skeirik, S., & Meseguer, J. (2018). Metalevel algorithms for variant satisfiability. Journal of Logical and Algebraic Methods in Programming, 96, 81-110. doi:10.1016/j.jlamp.2017.12.006S. Skeirik, A. Ştefănescu, J. Meseguer, A constructor-based reachability logic for rewrite theories, in: [61], 2018, pp. 201–217.Strachey, C. (2000). Higher-Order and Symbolic Computation, 13(1/2), 11-49. doi:10.1023/a:1010000313106A. Ştefănescu, S. Ciobâcă, R. Mereuta, B.M. Moore, T. Serbanuta, G. Roşu, All-path reachability logic, in: [36], 2014, pp. 425–440.Tushkanova, E., Giorgetti, A., Ringeissen, C., & Kouchnarenko, O. (2015). A rule-based system for automatic decidability and combinability. Science of Computer Programming, 99, 3-23. doi:10.1016/j.scico.2014.02.00

    Belle II Technical Design Report

    Full text link
    The Belle detector at the KEKB electron-positron collider has collected almost 1 billion Y(4S) events in its decade of operation. Super-KEKB, an upgrade of KEKB is under construction, to increase the luminosity by two orders of magnitude during a three-year shutdown, with an ultimate goal of 8E35 /cm^2 /s luminosity. To exploit the increased luminosity, an upgrade of the Belle detector has been proposed. A new international collaboration Belle-II, is being formed. The Technical Design Report presents physics motivation, basic methods of the accelerator upgrade, as well as key improvements of the detector.Comment: Edited by: Z. Dole\v{z}al and S. Un

    Categorical semantics and composition of tree transducers

    Get PDF
    In this thesis we see two new approaches to compose tree transducers and more general to fuse functional programs. The first abroach is based on initial algebras. We prove a new variant of the acid rain theorem for mutually recursive functions where the build function is substituted by a concrete functor. Moreover, we give a symmetric form (i.e. consumer and producer have the same syntactic form) of our new acid rain theorem where fusion is composition in a category and thus in particular associative. Applying this to compose top-down tree transducers yields the same result (on a syntactic level) as the classical top-down tree transducer composition. The second approach is based on free monads and monad transformers. In the same way as monoids are used in the theory of character string automata, we use monads in the theory of tree transducers. We generalize the notion of a tree transducer defining the monadic transducer, and we prove an according fusion theorem. Moreover, we prove that homomorphic monadic transducers are semantically equivalent. The latter makes it possible to compose syntactic classes of tree transducers (or particular functional programs) by simply composing endofunctors

    WTEC Panel Report on International Assessment of Research and Development in Simulation-Based Engineering and Science

    Full text link

    GSI Scientific Report 2007 [GSI Report 2008-1]

    Get PDF
    corecore