385,130 research outputs found

    State-Based Formal Methods for Distributed Processing: From Z to Object-Z

    Get PDF
    In this paper, we look at state-based specification notations and how they may be extended with concepts from object orientation. In particular, we focus on the Z specification language and one of its object-oriented extensions Object-Z. The state-based paradigm is introduced by specifying an ODP trader object in Z. The paper provides an overview of other state-based notations and discusses how such notations have been extended to support object orientation. Finally, we present a specification of the ODP trading function in Object-Z

    Prototyping Formal System Models with Active Objects

    Full text link
    We propose active object languages as a development tool for formal system models of distributed systems. Additionally to a formalization based on a term rewriting system, we use established Software Engineering concepts, including software product lines and object orientation that come with extensive tool support. We illustrate our modeling approach by prototyping a weak memory model. The resulting executable model is modular and has clear interfaces between communicating participants through object-oriented modeling. Relaxations of the basic memory model are expressed as self-contained variants of a software product line. As a modeling language we use the formal active object language ABS which comes with an extensive tool set. This permits rapid formalization of core ideas, early validity checks in terms of formal invariant proofs, and debugging support by executing test runs. Hence, our approach supports the prototyping of formal system models with early feedback.Comment: In Proceedings ICE 2018, arXiv:1810.0205

    Guidelines for Teaching Object Orientation with Java

    Get PDF
    How to best teach object orientation to first year students is currently a topic of much debate. One of the tools suggested to aid in this task is BlueJ, an integrated development environment specifically designed for teaching. BlueJ supports a unique style of introduction of OO concepts. In this paper we discuss a set of problems with OO teaching, present some guidelines for better course design and show how BlueJ can be used to make significant improvements to introductory OO courses. We end by esenting a description of a possible project sequence using this teaching approach

    Course Development for a College Java Programming Class

    Get PDF
    This project documents the development of college-level curriculum for an Object Oriented Programming with Java course. The curriculum includes a set of lessons that students work through interactively. The lessons teach the fundamentals of object orientation. A goal of the project is to have students work with the same problem example throughout the entire set of lessons. Most texts on object orientation use several abstract examples which are used in a chapter or two of the text and are often not fully implemented. Each lesson of the project\u27s curriculum presents an iteration of an evolving shape drawing application. Each lesson walks the student through the design and development of a new fully implemented version. The shape drawing application\u27s highly visual nature allows the students to relate the technical concepts to concepts they already understand

    Formal specification techniques in object-oriented analysis: a comparative view.

    Get PDF
    During the last decade, object orientation has been advanced as a promising paradigm for software construction. In addition several authors have advocated the use of formal specification techniques during software development. Formal methods enable reasoning (in a mathematical sense) about properties of programs and systems. It is clear that also object oriented software development can benefit from the use of formal techniques.But although the object oriented analysis (OOA) methods claim to provide the necessary concepts and tools to improve the quality of software development, they are in general informal. This is surprising as the modeling techniques used in OOA have a high potential for formalization. The purpose of this study is to compare the specification techniques used in current OOA-methods. In particular, the degree of formality provided by most of the methods is discussed and evaluated from a quality control perspective.Software; Methods; Programs; Systems; Studies; Quality control;

    A Novel Optical/digital Processing System for Pattern Recognition

    Get PDF
    This paper describes two processing algorithms that can be implemented optically: the Radon transform and angular correlation. These two algorithms can be combined in one optical processor to extract all the basic geometric and amplitude features from objects embedded in video imagery. We show that the internal amplitude structure of objects is recovered by the Radon transform, which is a well-known result, but, in addition, we show simulation results that calculate angular correlation, a simple but unique algorithm that extracts object boundaries from suitably threshold images from which length, width, area, aspect ratio, and orientation can be derived. In addition to circumventing scale and rotation distortions, these simulations indicate that the features derived from the angular correlation algorithm are relatively insensitive to tracking shifts and image noise. Some optical architecture concepts, including one based on micro-optical lenslet arrays, have been developed to implement these algorithms. Simulation test and evaluation using simple synthetic object data will be described, including results of a study that uses object boundaries (derivable from angular correlation) to classify simple objects using a neural network

    Grand tour of concepts for object-orientation from a database point of view

    Get PDF
    Over the last few years, object-orientation has gained more and more importance within several disciplines of computer science (e.g. programming languages, knowledge engineering, and database systems). Numerous papers have defined one or another of its underlying concepts (sometimes in quite different ways), and some systems have been developed following those heterogeneous definitions. Nevertheless, papers investigating the dependencies and degrees of freedom of these concepts are rarely found. For this reason, the goal of this paper is not to add yet another definition of object-oriented concepts, but to identify existing relationships among these basic concepts that allow one to cover and classify various conceivable combinations of these conceptual building blocks. Dependencies, orthogonalities, and relations among concepts like object identity, encapsulation, classification, generalization, inheritance, etc. are revealed, showing numerous ways to compose different shades of object-orientation. This leads to alternatives encountered when constructing object-oriented systems, which are illustrated by classifying some well-known systems and prototypes from different areas. However, it is not our purpose to analyze the relative importance of these concepts. Instead, we investigate the concepts from a neutral point of view, presenting (but not evaluating) several degrees of object-orientation

    Detecting the presence of large buildings in natural images

    Get PDF
    This paper addresses the issue of classification of lowlevel features into high-level semantic concepts for the purpose of semantic annotation of consumer photographs. We adopt a multi-scale approach that relies on edge detection to extract an edge orientation-based feature description of the image, and apply an SVM learning technique to infer the presence of a dominant building object in a general purpose collection of digital photographs. The approach exploits prior knowledge on the image context through an assumption that all input images are �outdoor�, i.e. indoor/outdoor classification (the context determination stage) has been performed. The proposed approach is validated on a diverse dataset of 1720 images and its performance compared with that of the MPEG-7 edge histogram descriptor
    corecore