868 research outputs found
Programming Language Abstractions for Modularly Verified Distributed Systems
Distributed systems are rarely developed as monolithic programs. Instead, like any software, these systems may consist of multiple program components, which are then compiled separately and linked together. Modern systems also incorporate various services interacting with each other and with client applications. However, state-of-the-art verification tools focus predominantly on verifying standalone, closed-world protocols or systems, thus failing to account for the compositional nature of distributed systems. For example, standalone verification has the drawback that when protocols and their optimized implementations evolve, one must re-verify the entire system from scratch, instead of leveraging compositionality to contain the reverification effort.
In this paper, we focus on the challenge of modular verification of distributed systems with respect to high-level protocol invariants as well as for low-level implementation safety properties. We argue that the missing link between the two is a programming paradigm that would allow one to reason about both high-level distributed protocols and low-level implementation primitives in a single verification-friendly framework. Such a link would make it possible to reap the benefits from both the vast body of research in distributed computing, focused on modular protocol decomposition and consistency properties, as well as from the recent advances in program verification, enabling construction of provably correct systems implementations. To showcase the modular verification challenges, we present some typical scenarios of decomposition between a distributed protocol and its implementations. We then describe our ongoing research agenda, in which we are attempting to address the outlined problems by providing a typing discipline and a set of domain-specific primitives for specifying, implementing and verifying distributed systems. Our approach, mechanized within a proof assistant, provides the means of decomposition necessary for modular proofs about distributed protocols and systems
Programming Language Tools and Techniques for 3D Printing
We propose a research agenda to investigate programming language techniques for improving affordable, end-user desktop manufacturing processes such as 3D printing. Our goal is to adapt programming languages tools and extend the decades of research in industrial, high-end CAD/CAM in order to help make affordable desktop manufacturing processes more accurate, fast, reliable, and accessible to end-users. We focus on three major areas where 3D printing can benefit from programming language tools: design synthesis, optimizing compilation, and runtime monitoring. We present preliminary results on synthesizing editable CAD models from difficult-to-edit surface meshes, discuss potential new compilation strategies, and propose runtime monitoring techniques. We conclude by discussing additional near-future directions we intend to pursue
Programming and Proving with Distributed Protocols
Distributed systems play a crucial role in modern infrastructure, but are notoriously difficult to
implement correctly. This difficulty arises from two main challenges: (a) correctly implementing
core system components (e.g., two-phase commit), so all their internal invariants hold, and (b)
correctly composing standalone system components into functioning trustworthy applications (e.g.,
persistent storage built on top of a two-phase commit instance). Recent work has developed several
approaches for addressing (a) by means of mechanically verifying implementations of core distributed
components, but no methodology exists to address (b) by composing such verified components into
larger verified applications. As a result, expensive verification efforts for key system components are
not easily reusable, which hinders further verification efforts.
In this paper, we present Disel, the first framework for implementation and compositional
verification of distributed systems and their clients, all within the mechanized, foundational context
of the Coq proof assistant. In Disel, users implement distributed systems using a domain specific
language shallowly embedded in Coq and providing both high-level programming constructs as well
as low-level communication primitives. Components of composite systems are specified in Disel as
protocols, which capture system-specific logic and disentangle system definitions from implementation
details. By virtue of Disel’s dependent type system, well-typed implementations always satisfy
their protocols’ invariants and never go wrong, allowing users to verify system implementations
interactively using Disel’s Hoare-style program logic, which extends state-of-the-art techniques for
concurrency verification to the distributed setting. By virtue of the substitution principle and frame
rule provided by Disel’s logic, system components can be composed leading to modular, reusable
verified distributed systems.
We describe Disel, illustrate its use with a series of examples, outline its logic and metatheory,
and report on our experience using it as a framework for implementing, specifying, and verifying
distributed systems
High-Temperature Decomposition of Fe- and Cr-Doped NiO Produced by a Novel Flame Spray Technique
Pyrazolyl Methyls Prescribe the Electronic Properties of Iron(II) Tetra(pyrazolyl)lutidine Chloride Complexes
A series of iron(II) chloride complexes of pentadentate ligands related to α,α,α′,α′-tetra(pyrazolyl)-2,6-lutidine, pz4lut, has been prepared to evaluate whether pyrazolyl substitution has any systematic impact on the electronic properties of the complexes. For this purpose, the new tetrakis(3,4,5-trimethylpyrazolyl)lutidine ligand, pz**4lut, was prepared via a CoCl2-catalyzed rearrangement reaction. The equimolar combination of ligand and FeCl2 in methanol gives the appropriate 1:1 complexes [FeCl(pzR4lut)]Cl that are each isolated in the solid state as a hygroscopic solvate. In solution, the iron(II) complexes have been fully characterized by several spectroscopic methods and cyclic voltammetry. In the solid state, the complexes have been characterized by X-ray diffraction, and, in some cases, by Mössbauer spectroscopy. The Mössbauer studies show that the complexes remain high spin to 4 K and exclude spin-state changes as the cause of the surprising solid-state thermochromic properties of the complexes. Non-intuitive results of spectroscopic and structural studies showed that methyl substitution at the 3- and 5- positions of the pyrazolyl rings reduces the ligand field strength through steric effects whereas methyl substitution at the 4-position of the pyrazolyl rings increases the ligand field strength through inductive effects
Our Space: Being a Responsible Citizen of the Digital World
Our Space is a set of curricular materials designed to encourage high school students to reflect on the ethical dimensions of their participation in new media environments. Through role-playing activities and reflective exercises, students are asked to consider the ethical responsibilities of other people, and whether and how they behave ethically themselves online. These issues are raised in relation to five core themes that are highly relevant online: identity, privacy, authorship and ownership, credibility, and participation.Our Space was co-developed by The Good Play Project and Project New Media Literacies (established at MIT and now housed at University of Southern California's Annenberg School for Communications and Journalism). The Our Space collaboration grew out of a shared interest in fostering ethical thinking and conduct among young people when exercising new media skills
Microstructure and oxide particle stability in a novel ODS γ-TiAl alloy processed by spark plasma sintering and laser additive manufacturing
In this work, a novel oxide dispersion strengthened titanium aluminide alloy (Ti-45Al-3Nb-<0.2Y2O3 at.%) was developed for powder-based processing technologies with a focus on spark plasma sintering and additive manufacturing. Titanium aluminides are promising structural intermetallics for weight reduction and an increased performance of high temperature components. The alloy design and selection process was supported by computational thermodynamics based on the CALPHAD approach, taking into account requirements for processing as well as long term alloy behavior under service conditions. Processing trials using spark plasma sintering, direct metal deposition and selective laser melting were conducted to study the alloy behavior, microstructure formation and introduction as well as stability of the ODS particles. Additionally, thermal annealing on the sintered and laser consolidated material was performed. Conventional dual phase α2-Ti3Al and γ-TiAl duplex and near-lamellar microstructures were obtained from the processed material. The ODS particles were homogeneously distributed in the alloy matrix after processing in the liquid state. For the direct metal deposition process, the novel alloy was compared to the established GE48-2-2 alloy (Ti-48Al-2Cr-2Nb) in terms of phases, microstructure and texture after processing. A significantly reduced texture formation was observed with the novel alloy. The hardness of the consolidated material shows superior properties for ODS-containing TiAl compared to ODS-free material. This work provides a first step towards tailored alloys for AM and the production of ODS TiAl alloys
- …
