210,677 research outputs found

    A specification language design for the Java Modeling Language (JML) using Java 5 annotations

    Get PDF
    Design by contract specification languages help programmers write their intentions for a piece of code in a formal mathematical language. Most programming languages do not have built-in syntax for such specifications, so many design by contract languages place specifications in comments. The Java Modeling Language (JML) is one such specification language for Java that uses comments to specify contracts. However, starting with version 5, Java has introduced annotations, a syntactical structure to place metadata in various places in the code. This thesis proposes an initial design to writing JML contracts in the Java 5 annotation syntax and evaluates several criteria in the areas of specification languages and Java language design: whether these annotations are expressive enough to take advantage of annotation simplicity and tool support, and whether the annotation syntax is expressive enough to support handling a large specification language such as JML

    A SpeciïŹcation Language Design for the Java Modeling Language (JML) Using Java 5 Annotations

    Get PDF
    Design by contract specification languages help programmers write their intentions for a piece of code in a formal mathematical language. Most programming languages do not have built-in syntax for such specifications, so many design by contract languages place specifications in comments. The Java Modeling Language (JML) is one such specification language for Java that uses comments to specify contracts. However, starting with version 5, Java has introduced annotations, a syntactical structure to place metadata in various places in the code. This thesis proposes an initial design to writing JML contracts in the Java 5 annotation syntax and evaluates several criteria in the areas of specification languages and Java language design: whether these annotations are expressive enough to take advantage of annotation simplicity and tool support, and whether the annotation syntax is expressive enough to support handling a large speciïŹcation language such as JML

    Wrapped and Stacked: ‘Smart Contracts’ and the Interaction of Natural and Formal Language

    Get PDF
    This publication is with permission of the rights owner freely accessible due to an Alliance licence and a national licence (funded by the DFG, German Research Foundation) respectively.This article explores ‘smart contracts’ from first principles: What they are, whether they are properly called ‘contracts’, and what issues they raise for national contract law. A ‘smart’ contract purports to record contractual promises in language which is both intelligible to human beings and (ultimately) executable by machines. The formalisation of contracting language that this entails is, I argue, the most important aspect for lawyers—just as important as the automation of contractual performance. Rather than taking a doctrinal approach focused on the presence of traditional indicia of contract formation, I examine the nature of contracts as legal entities created by words and documents. In most cases, smart contracts will be ‘wrapped in paper’ and nested in a national legal system. Borrowing from the idiom of computer science, I introduce the term ‘contract stack’ to highlight the complex nature of contracts as legal entities incorporating different ‘layers’, including speech acts by the parties in both natural and formal languages as well as mandatory legal rules. It is the interactions within this contract stack that will be most important to the development of contract law doctrines appropriate to smart contracts. To illustrate my points, I explore a few issues that smart contracts might raise for English contract law. I touch on the questions of illegality, jurisdiction, and evidence, but my focus in this paper is on exploring issues in contract law proper. This contribution should be helpful not only to lawyers attempting to understand smart contracts, but to those involved in coding smart contracts—and writing the languages used to code them.Peer Reviewe

    Specifying Reusable Components

    Full text link
    Reusable software components need expressive specifications. This paper outlines a rigorous foundation to model-based contracts, a method to equip classes with strong contracts that support accurate design, implementation, and formal verification of reusable components. Model-based contracts conservatively extend the classic Design by Contract with a notion of model, which underpins the precise definitions of such concepts as abstract equivalence and specification completeness. Experiments applying model-based contracts to libraries of data structures suggest that the method enables accurate specification of practical software

    Interpretation and Construction in Contract Law

    Get PDF
    Interpretation determines the meaning of a legal actor’s words and actions, construction their legal effect. Although the interpretation-construction distinction has a long pedigree, contract scholars today rarely attend to it, and the relationship between the two activities remains understudied. This Article provides an account of the interplay between interpretation and construction in contract law. It begins with the history of the concepts, focusing on the works of Lieber, Williston and Corbin. It adopts Corbin’s complimentary conception, according to which interpretation alone never suffices to determine speech act’s legal effects; a rule of construction is always required. The Article departs from Corbin, however, by arguing that contract law recognizes multiple types of meaning, and therefore calls for different types of interpretation. Legally relevant meanings include plain meaning, contextually determined use meaning, subjective and objective meanings, purpose, and the parties’ beliefs and intentions. Which type of meaning is legally relevant when depends on the applicable rule of construction. Consequently, although interpretation comes first in the process of determining parties’ legal obligations, the correct approach to legal interpretation is determined by rules of construction. The Article identifies two additional ways construction can be said to be prior to interpretation in contract law. First, judicial acts of construction can attach to contract boilerplate standard legal effects that depart from the words’ ordinary meaning, turning them into a legal formality. Acts of construction can thereby give boilerplate new semantic meanings, to which interpretation must attend. Second, when parties choose their words in light of their legal effects, rules of construction often figure into their communicative intentions. Rules of construction can therefore also be prior the pragmatic meaning of what parties say and do. Understanding this complex interplay between interpretation and construction is essential to understanding how the law determines the existence and content of contractual obligations. Although this Article does not argue for one or another rule of interpretation or construction, it lays the groundwork for analyses of which rules are appropriate when

    A Matter of Good Form: The (Downsized) Hague Judgments Convention and Conditions of Formal Validity for the Enforcement of Forum Selection Agreements

    Get PDF
    Can the Hague Judgments Convention be saved through radical downsizing? It has been more than ten years since the Hague Conference on Private International Law (Hague Conference) first officially began exploring the possibility of drafting a global convention on jurisdiction and the enforcement of foreign judgments in civil and commercial matters. (1) It has been more than four years since the Conference presented its preliminary draft convention, (2) itself modeled largely on the European Community\u27s 1968 Brussels Convention on Jurisdiction and the Enforcement of Judgments in Civil and Commercial Matters (Brussels I). (3) However, this preliminary draft convention was rejected as unacceptable by the American delegation, (4) and a subsequent interim text (5) indicated that Hague Conference delegates remained far from consensus on a wide range of issues. (6

    Functional Requirements-Based Automated Testing for Avionics

    Full text link
    We propose and demonstrate a method for the reduction of testing effort in safety-critical software development using DO-178 guidance. We achieve this through the application of Bounded Model Checking (BMC) to formal low-level requirements, in order to generate tests automatically that are good enough to replace existing labor-intensive test writing procedures while maintaining independence from implementation artefacts. Given that existing manual processes are often empirical and subjective, we begin by formally defining a metric, which extends recognized best practice from code coverage analysis strategies to generate tests that adequately cover the requirements. We then formulate the automated test generation procedure and apply its prototype in case studies with industrial partners. In review, the method developed here is demonstrated to significantly reduce the human effort for the qualification of software products under DO-178 guidance
    • 

    corecore