Interaction - Oriented Programming
نویسنده
چکیده
This dissertation describes the design and implementation of a general-purpose object-oriented (OO) programming language, Classages. The novel object model of Classages gives programmers refined control over modeling the interactions inside OO software, with inspirations drawn from human sociology. Key innovations include the language constructs of Mixers and Connectors as encapsulation-enforceable interfaces for specifying bi-directional interaction behaviors, and a novel type system called Pedigree Types to help programmers organize the object heap into a hierarchy reflecting the fundamental principle of hierarchical decomposition. Important properties of the language, including type soundness, hierarchy shape enforcement, and alias protection, are formally established and proved. A prototype compiler is implemented. The object model of Classages sets a significant departure from the familiar one taken by Smalltalk, Java, C++, and C#. Its simple, expressive, and rigorously defined core enriches the theoretical foundations of OO languages. From the perspective of software engineering, the Classages language is particularly good at controlling software complexity, a crucial goal in modern software development. Advisor: Prof. Scott Smith, The Johns Hopkins University Readers: Prof. Michael Hicks, University of Maryland, College Park Prof. Scott Smith, The Johns Hopkins University Prof. Andreas Terzis, The Johns Hopkins University
منابع مشابه
An Object-Oriented Approach to Feature Interaction
In this paper, we address the feature interaction problem as a software composition problem. We show the applicability of a new programming style, feature-oriented programming (FOP), to typical feature interaction problems. FOP generalizes inheritance as in object-oriented programming and allows to compose objects with individual services from a set of features. In particular, we discuss except...
متن کاملIdentification and Distribution of Interactional Contexts in EFL Classes: The Effect of Two Contextual Factors
This study aims at empirically furthering awareness of the organization of interaction in EFL classes. Informed by the methodological framework of conversation analysis, it draws upon a corpus of 52 three-hour naturally-occurring classroom interaction to identify classroom interactional contexts based on the structuring of the pedagogic goals in turn-taking sequences. Conversation analytic proc...
متن کاملAspect-Oriented Change Realizations and Their Interaction
With aspect-oriented programming, changes can be treated explicitly and directly at the programming language level. An approach to aspect-oriented change realization based on a two-level change type model is presented in this paper. In this approach, aspect-oriented change realizations are mainly based on aspect-oriented design patterns or themselves constitute pattern-like forms in connection ...
متن کاملDemand-oriented timetable design for urban rail transit under stochastic demand
In the context of public transportation system, improving the service quality and robustness through minimizing the average passengers waiting time is a real challenge. This study provides robust stochastic programming models for train timetabling problem in urban rail transit systems. The objective is minimization of the weighted summation of the expected cost of passenger waiting time, its va...
متن کاملAspect-Oriented Solutions to Feature Interaction Concerns using AspectJ
In this paper, we propose a two-level architecture for feature driven software development, consisting of a base layer for a feature’s core behaviour and a metalayer for resolution modules that provide solutions to feature interaction problems. Whilst a standard programming language is used at the base level, e.g. an objectoriented language such as Java, we propose the use of an aspect-oriented...
متن کاملIntegrating Answer Set Programming with Object-Oriented Languages
Answer Set Programming (ASP) is a declarative programming paradigm which allows for easy modeling and solving of hard problems that are often cumbersome to implement in object-oriented programming languages. It was successfully applied to a range of applications from artificial intelligence, such as combinatorial or scheduling problems. On the other hand, real-world applications for end-users u...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2007