The Object Constraint language (OCL) is a well-accepted ingredient in model-driven engineering and accompanying modeling languages such as UML (Unified Modeling language) and EMF (Eclipse Modeling Framework) that supp...
详细信息
The Object Constraint language (OCL) is a well-accepted ingredient in model-driven engineering and accompanying modeling languages such as UML (Unified Modeling language) and EMF (Eclipse Modeling Framework) that support object-oriented software development. Among various possibilities, OCL offers the formulation of class invariants and operation contracts in form of pre- and postconditions, and side-effect free query operations. Much research has been done on OCL and various mature implementations are available for it. OCL is also used as the foundation for several modeling-specific programming and transformation languages. However, an intrusive way of embedding OCL into these language hampers us when we want to benefit from the existing achievements for OCL. In response to this shortcoming, we propose the language SOIL (Simple OCL-like imperativelanguage), which we implemented in the UML and OCL modeling tool USE to amend its declarative model validation features. The expression sub-language of SOIL is identical to OCL. SOIL adds imperative constructs for programming in the domain of models. Thus by employing OCL and SOIL, it is possible to describe any operation in a declarative way and in an operational way on the modeling level without going into the details of a conventional programminglanguage. In contrast to other similar approaches, the embedding of OCL into SOIL is done in a careful, non-intrusive way so that purity of OCL is preserved. (C) 2013 Elsevier B.V. All rights reserved.
Starting with some simple representative quantum programminglanguages, this paper lays stress on quantum computation, language paradigm, program structure, input/output, exception facility, and especially the recent ...
详细信息
Starting with some simple representative quantum programminglanguages, this paper lays stress on quantum computation, language paradigm, program structure, input/output, exception facility, and especially the recent results of the quantum computation group at Nanjing University, namely the functional quantum programminglanguage NDQFP. All primitive functions and combining forms in NDQFP are given in the appendix.
Despite their popularity, distributed programs remain a major challenge for the computer software verification. The need for methods for assuring safe interactions in such software systems is recognized. In the last f...
详细信息
ISBN:
(纸本)9781467382007
Despite their popularity, distributed programs remain a major challenge for the computer software verification. The need for methods for assuring safe interactions in such software systems is recognized. In the last few years, several new approaches have been proposed to solve the problem. Recent works have focused on developing behavior type systems to enforce the correct implementation of protocols, but this type systems are developed for languages with first class primitives for linear communication channels and communication-oriented control flow. In general for GPLs (general purpose programminglanguages), it is difficult to guarantee the correct implementation of protocol. In this paper, we propose to present an automated verification mechanism to ensure the protocol implementation correctness with respect to a session type specification. To support automatic verification, we design an entailment checking procedure which can handle the verification of a general purpose imperative programming language. Our theory establishes a framework for semantically precise enforcement of protocols, by extending the Separation Logic static analysis technique with a protocol verification mechanism.
暂无评论