Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Yu David Liu is active.

Publication


Featured researches published by Yu David Liu.


conference on object-oriented programming systems, languages, and applications | 2006

A formal framework for component deployment

Yu David Liu; Scott F. Smith

Software deployment is a complex process, and industrial-strength frameworks such as .NET, Java, and CORBA all provide explicit support for component deployment. However, these frameworks are not built around fundamental principles as much as they are engineering efforts closely tied to particulars of the respective systems. Here we aim to elucidate the fundamental principles of software deployment, in a platform-independent manner. Issues that need to be addressed include deployment unit design, when, where and how to wire components together, versioning, version dependencies, and hot-deployment of components. We define the application buildbox as the place where software is developed and deployed, and define a formal Labeled Transition System (LTS) on the buildbox with transitions for deployment operations that include build, install, ship, and update. We establish formal properties of the LTS, including the fact that if a component is shipped with a certain version dependency, then at run time that dependency must be satisfied with a compatible version. Our treatment of deployment is both platform- and vendor-independent, and we show how it models the core mechanisms of the industrial-strength deployment frameworks.


conference on object-oriented programming systems, languages, and applications | 2010

Task types for pervasive atomicity

Aditya Kulkarni; Yu David Liu; Scott F. Smith

Atomic regions are an important concept in correct concurrent programming: since atomic regions can be viewed as having executed in a single step, atomicity greatly reduces the number of possible interleavings the programmer needs to consider. This paper describes a method for building atomicity into a programming language in an organic fashion. We take the view that atomicity holds for whole threads by default, and a division into smaller atomic regions occurs only at points where an explicit need for sharing is needed and declared. A corollary of this view is every line of code is part of some atomic region. We define a polymorphic type system, Task Types, to enforce most of the desired atomicity properties statically. We show the reasonableness of our type system by proving that type soundness, isolation invariance, and atomicity enforcement properties hold at run time. We also present initial results of a Task Types implementation built on Java


conference on object-oriented programming systems, languages, and applications | 2005

Interaction-based programming with classages

Yu David Liu; Scott F. Smith

This paper presents Classages, a novel interaction-centric object-oriented language. Classes and objects in Classages are fully encapsulated, with explicit interfaces for all interactions they might be involved in. The design of Classages touches upon a wide range of language design topics, including encapsulation, object relationship representation, and object confinement. An encoding of Javas OO model in Classages is provided, showing how standard paradigms are supported. A prototype Classages compiler is described.


european conference on object-oriented programming | 2004

Modules with Interfaces for Dynamic Linking and Communication

Yu David Liu; Scott F. Smith

Module systems are well known as a means for giving clear interfaces for the static linking of code. This paper shows how adding explicit interfaces to modules for 1) dynamic linking and 2) cross-computation communication can increase the declarative, encapsulated nature of modules, and build a stronger foundation for language-based security and version control. We term these new modules Assemblages.


Proceedings of the First International Workshop on Green and Sustainable Software | 2012

Energy-efficient synchronization through program patterns

Yu David Liu

This paper addresses energy consumption in multi-threaded programs. In particular, it demonstrates why synchronizations - a fundamental fabric of multi-core software - may lead to unnecessary energy consumption, and proposes a pattern-based compilation technique to improve energy efficiency. The key insight is that energy efficiency may be improved by adjusting the relative speed of individual threads participating in a synchronization, and different synchronization patterns can offer clues on how adjustments should be made.


compiler construction | 2008

Coqa: concurrent objects with quantized atomicity

Yu David Liu; Xiaoqi Lu; Scott F. Smith

This paper introduces a new language model, Coqa, for deeply embedding concurrent programming into objects. Every program written in our language has the desirable behaviors of atomicity,mutual exclusion, and race freedom automatically built in. A key property of our model is the notion of quantized atomicity: every concurrent program execution can be viewed as being divided into quantum regions of atomic execution, greatly reducing the number of interleavings to consider. Rather than building atomicity locally, i.e. declaring some code blocks as atomic blocks and leaving other code segments with no guarantee of any atomicity property, we build it in globally, so that a form of atomicity, quantized atomicity, ubiquitously exists at all program points. We justify our approach both from a theoretical basis by showing that a formal representation, Kernel-Coqa, has provable quantized atomicity properties, and by implementing CoqaJava, a Java extension incorporating all of the Coqa features.


Proceedings of the 2nd Workshop on Software Engineering for Sensor Network Applications | 2011

Toward a unified object model for cyber-physical systems

Yu David Liu

Cyber-physical systems are a coordinated combination of computational and physical elements. This position paper calls for the design of a unified object model that blends the boundary of the two. The unified object model has the benefits of bringing classic software engineering technologies and tools - such as UML - to the new application domain of cyber-physical systems, and further equipping programs written for these systems with the traditional strengths of object-oriented languages, such as encapsulation, code reuse and customization, and strong guarantees for avoiding runtime errors.


workshop on generic programming | 2009

Type-specialized staged programming with process separation

Yu David Liu; Christian Skalka; Scott F. Smith

Staging is a powerful language construct that allows a program at one stage to manipulate and specialize a program at the next. We propose ML as a new staged calculus designed with novel features for staged programming in modern computing platforms such as embedded systems. A distinguishing feature of ML is a model of process separation, whereby different stages of computation are executed in different process spaces. Our language also supports dynamic type specialization via type abstraction, dynamic type construction, and a limited form of type dependence. ML is endowed with a largely standard metatheory, including type preservation and type safety results. We discuss the utility of our language via code examples from the domain of wireless sensor network programming.


arXiv: Programming Languages | 2012

Variant-Frequency Semantics for Green Futures

Yu David Liu

This paper describes an operational semantics for futures, with the primary target on energy efficiency. The work in progress is built around an insight that different threads can coordinate by running at different paces, so that the time for synchronization and the resulting wasteful energy consumption can be reduced. We exploit several inherent characteristics of futures to determine how the paces of involving threads can be coordinated. The semantics is inspired by recent advances in computer architectures, where the frequencies of CPU cores can be adjusted dynamically. The work is a first-step toward a direction where variant frequencies are directly modeled as an essential semantic feature in concurrent programming languages.


Archive | 2003

Component Assemblies and Component Runtimes

Yu David Liu; Ran Rinat; Scott F. Smith

Collaboration


Dive into the Yu David Liu's collaboration.

Top Co-Authors

Avatar

Scott F. Smith

Johns Hopkins University

View shared research outputs
Top Co-Authors

Avatar

Ran Rinat

Johns Hopkins University

View shared research outputs
Top Co-Authors

Avatar

Xiaoqi Lu

Johns Hopkins University

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge