Papers by Murat Karaorman
Bilkent University, 1988
Bookmarks Related papers MentionsView impact
Bookmarks Related papers MentionsView impact
Bookmarks Related papers MentionsView impact
In order to cope with the increasing complexity and evolving requirements of soft-ware, we need b... more In order to cope with the increasing complexity and evolving requirements of soft-ware, we need better languages and modeling tools which support higher and more suitable levels of abstraction. The original research work conducted as part of this dissertation introduced new language extensions for concurrency, distributed computing and design by contract for the object oriented languages, Eiffel and Java. We demonstrated that powerful new abstractions can be introduced using a purely library based approach and a set of naming and programming conventions without violating the object-oriented principles or compromising language or safety features. We developed techniques to build extensible, open object-oriented libraries that use and take advantage of the existing low-level system and vendor libraries, platforms, frameworks to support several new high-level abstractions. Programmers use these abstractions by following our naming and programming conventions. We illustrate the applicab...
Bookmarks Related papers MentionsView impact
Design by Contract is a software engineering practice that allows semantic information to be adde... more Design by Contract is a software engineering practice that allows semantic information to be added to a class or interface to precisely specify the conditions that are required for its correct operation. The basic constructs of Design by Contract are method preconditions and postconditions, and class invariants.
Bookmarks Related papers MentionsView impact
In this paper we report on the architectural design issues and experiences gained while building ... more In this paper we report on the architectural design issues and experiences gained while building and demonstrating an experimental interpreting video phone (IVP) system. The IVP system has been demonstrated in an internet home shopping simulation simultaneously before live audiences in Japan and the U.S. An American shop assistant and a Japanese customer engaged in task-directed dialogues, using their native languages. In addition to their direct audio/visual contact by ISDN video phone, each participant heard a translation of the remote speaker's utterances in a synthetic voice in real-time. Each site used a medium-size vocabulary, a continuous speech recognition system and a text-to-speech synthesis (TTS) system for the local language. Recognition results were transmitted over the internet to the remote site, where the corresponding translated sentence was spoken by TTS in the listener's native language. All of the speech and language processing software components of th...
Bookmarks Related papers MentionsView impact
This application note provides an overview of the DMA architecture specified by the TMS320 DSP Al... more This application note provides an overview of the DMA architecture specified by the TMS320 DSP Algorithm Standard (also known as XDAIS). It also describes two sets of APIs used for accessing DMA resources: the IDMA2 abstract interface and the ACPY2 library. In addition to providing an overview of fundamental DMA abstractions for eXpressDSP-compliant algorithms, this application note highlights DMA-related enhancements to the
Bookmarks Related papers MentionsView impact
this paper introduces concurrency to the object-oriented language Eiffel by providing a set of Cl... more this paper introduces concurrency to the object-oriented language Eiffel by providing a set of Class Libraries and an associated concurrent programming design method. The concurrency mechanism we provide is wellsuited for client/server style distributed applications. Since no changes are made to the Eiffel Language [19], or its runtime system, the essential principles of sequential object-oriented programming offered by Eiffel are not sacrificed. We present our concurrency abstractions as encapsulated behavior of Eiffel objects, that can be inherited from the Concurrency Class. Although the design described here is specific to the Eiffel language, most of these abstractions are generally applicable to other object-oriented languages such as C++ [14], and Objective-C [13]. The main concurrency abstractions provided by our mechanism are objects as processes -- active objects -- and an asynchronous remote method invocation with data-driven synchronization. The extended view of objects ...
Bookmarks Related papers MentionsView impact
jContractor is a purely library and design-pattern based approach to support Design By Contract s... more jContractor is a purely library and design-pattern based approach to support Design By Contract specifications such as preconditions, postconditions, class invariants, and recovery and exception handling in Java. jContractor uses an intuitive naming convention, and standard Java syntax to instrument Java classes and enforce Design By Contract constructs. The designer of a class specifies a contract by defining protected methods which conform to the jContractor design patterns. jContractor uses Java Reflection to synthesize an instrumented version of a Java class containing jContractor contract specifications. The instrumented version contains code which enforces the Design By Contract specifications. Programmers enable the run-time enforcement of contracts by either incorporating the jContractor class loader or by instantiating objects directly from the instrumented subclass through the jContractor factory. Programmers can use exactly the same syntax for invoking methods and passing...
Bookmarks Related papers MentionsView impact
jMonitor is a pure Java library and runtime utility for specifying event patterns and associating... more jMonitor is a pure Java library and runtime utility for specifying event patterns and associating them with user provided event monitors that get called when the specified runtime events occur during the execution of legacy Java applications. jMonitor APIs define an event specification abstraction layer allowing programmers to design event patterns to monitor runtime execution of legacy Java applications. jMonitor instrumentation works at the Java bytecode level and does not require the presence of source code for the Java application that is being monitored. jMonitor overloads the dynamic class loader and takes the event specification and monitors (in the form of Java class files) as additional arguments when launching the target Java application. The class bytecodes of the monitored Java program are instrumented on the fly by the jMonitor class loader according to the needs of the externally specified jMonitor event patterns and event monitors. Key words: Aspect-oriented programmi...
Bookmarks Related papers MentionsView impact
this paper which I believe violates non-blocking property.
Bookmarks Related papers MentionsView impact
This application note describes the standard DMA software abstractions and interfaces for TMS320 ... more This application note describes the standard DMA software abstractions and interfaces for TMS320 DSP Algorithm Standard (xDAIS) compliant algorithms designed for the ‘C64x+ EDMA3 controller using DMA Framework Components utilities. The DMA Framework Component utilities described in this document include a standard DMA resource specification and negotiation protocol (IDMA3), a DMA Resource Manager (DMAN3), and a functional DMA interface and library (ACPY3) compliant with IDMA3. This document provides both reference information and guidelines for producers and consumers of IDMA3-compliant algorithms and components.
Bookmarks Related papers MentionsView impact
Design by Contract is a software engineering practice that allows semantic information to be adde... more Design by Contract is a software engineering practice that allows semantic information to be added to a class or interface to precisely specify the conditions that are required for its correct operation. The basic constructs of Design by Contract are method preconditions and postconditions, and class invariants. This paper presents
Bookmarks Related papers MentionsView impact
In this paper we report on the architectural design issues and experiences gained while building ... more In this paper we report on the architectural design issues and experiences gained while building and demonstrating an experimental interpreting video phone (IVP) system. The IVP system has been demonstrated in an internet home shopping simulation simultaneously before live audiences in Japan and the U.S. An American shop assistant and a Japanese customer engaged in task-directed dialogues, using their native languages. In addition to their direct audio/visual contact by ISDN video phone, each participant heard a translation of the remote speaker's utterances in a synthetic voice in real-time.
Bookmarks Related papers MentionsView impact
this paper which I believe violates non-blocking property.
Bookmarks Related papers MentionsView impact
This paper describes design and implementation issues for introducing concurrency to object-orien... more This paper describes design and implementation issues for introducing concurrency to object-oriented programming. Designing a concurrency class library along with an object-oriented concurrent program design method is presented as the prefered way to extend an existing object-oriented language. A set of classes designed to facilitate concurrent programming using the sequential object-oriented language EIFFEL is proposed without modifying or extending the language or its runtime system.. The main concurrency abstractions provided by the approach are: objects as processes { active objects { and asyn-chronous remote method invocation with data-driven synchronization .
Bookmarks Related papers MentionsView impact
Bookmarks Related papers MentionsView impact
Bookmarks Related papers MentionsView impact
This paper describes a set of classes designed to facilitate concurrent programming using the seq... more This paper describes a set of classes designed to facilitate concurrent programming using the sequential object-oriented language EIFFEL. The design and implementation presented here is the application of a more general Concurrency Model we have built to introduce concurrency to sequential OOPLs. The model views concurrency as a well-deened, inheritable property of objects speciied in the class CONCURRENCY, and provides a methodology using inheritance to write concurrent object-orient applications. Key ideas involved in the methodology are: active objects, ex-tensibility of protocols, synchronization programming, data-driven synchronization with asynchronous message passing. The novel feature of our work is in its describing concurrency in the context of sequential programming and using a object-oriented design methodology to describe and implement it. We illustrate the usefulness and expressiveness of the concurrency mechanism by presenting examples and analyzing them. The ability ...
Bookmarks Related papers MentionsView impact
Active Remote Method Invocation system, A-RMI, is a set of class libraries, tools, and design met... more Active Remote Method Invocation system, A-RMI, is a set of class libraries, tools, and design method which provides high-level abstractions for building distributed Java applications using active remote objects. A programmer using A-RMI can write complete class specifications in Java describing remote active-object inter$aces and implementations, designate remote hosts (or brokers), and remotely create or discover new active-objects on the participating remote hosts. Upon creation or discovery of a remote active object, an A-RMI program can reference and synchronously or asynchronousl y remote invoke its public methods using the same syntax as for local Java objects. Remote hosts need to be actively willing participants in the A-RMI protocol, but they do not need to have a-priory knowledge of the types of active objects that they will host, as A-RMI protocol transparently exports the needed class definitions in a demand-based fashion. Remotely created objects are started as autonomo...
Bookmarks Related papers MentionsView impact
Uploads
Papers by Murat Karaorman