Open Access. Powered by Scholars. Published by Universities.®

Physical Sciences and Mathematics Commons

Open Access. Powered by Scholars. Published by Universities.®

Articles 1 - 20 of 20

Full-Text Articles in Physical Sciences and Mathematics

Essential Tools: Version Control Systems, Konrad Hinsen, Konstantin Läufer, George K. Thiruvathukal Jan 2012

Essential Tools: Version Control Systems, Konrad Hinsen, Konstantin Läufer, George K. Thiruvathukal

Konstantin Läufer

Did you ever wish you'd made a backup copy of a file before changing it? Or before applying a collaborator's modifications? Version control systems make this easier, and do a lot more.


Pdc Modules For Every Level: A Comprehensive Model For Incorporating Pdc Topics Into The Existing Undergraduate Curriculum, Konstantin Läufer, Chandra N. Sekharan, George K. Thiruvathukal Jan 2012

Pdc Modules For Every Level: A Comprehensive Model For Incorporating Pdc Topics Into The Existing Undergraduate Curriculum, Konstantin Läufer, Chandra N. Sekharan, George K. Thiruvathukal

Konstantin Läufer

We propose to give a half-hour presentation on incorporating PDC topics into our existing undergraduate computer science curriculum. We first describe our experience with single-course and cross-curricular undergraduate PDC education since 1997. We then provide details about our proposed model for incorporating PDC topics into our undergraduate curriculum. To this end, we have distilled a set of consistent, regularly offered and required three-week core and advanced PDC modules from our previously offered PDC content.


Restfs: The Filesystem As A Connector Abstraction For Flexible Resource And Service Composition, Joseph P. Kaylor, Konstantin Läufer, George K. Thiruvathukal Jan 2012

Restfs: The Filesystem As A Connector Abstraction For Flexible Resource And Service Composition, Joseph P. Kaylor, Konstantin Läufer, George K. Thiruvathukal

Konstantin Läufer

The broader context for this chapter comprises business scenarios requiring resource and/or service composition, such as (intra-company) enterprise application integration (EAI) and (inter-company) web service orchestration. The resources and services involved vary widely in terms of the protocols they support, which typically fall into remote procedure call (RPC)~\citeBirrell84implementingremote, resource-oriented (HTTP~\citeFielding96hypertexttransfer and WEBDAV~\citewebdav) and message-oriented protocols. By recognizing the similarity between web-based resources and the kind of resources exposed in the form of filesystems in operating systems, we have found it feasible to map the former to the latter using a uniform, configurable connector layer. Once a remote resource has been …


Unit Testing Considered Useful, George K. Thiruvathukal, Konstantin Läufer, Benjamin Gonzalez Jan 2012

Unit Testing Considered Useful, George K. Thiruvathukal, Konstantin Läufer, Benjamin Gonzalez

Konstantin Läufer

Testing is an important part of application development. Hardware engineers, in particular, have a long established history of testing for the obvious reason that it's awfully hard to rebuild a microprocessor every time a bug pops up in the design stage--not to mention the enormous headaches such bugs generate on the software side.


A Multi-Platform Application Suite For Enhancing South Asian Language Pedagogy, Tao Bai, Christopher K. Chung, Konstantin Läufer, Daisy Rockwell, George K. Thiruvathukal Jan 2012

A Multi-Platform Application Suite For Enhancing South Asian Language Pedagogy, Tao Bai, Christopher K. Chung, Konstantin Läufer, Daisy Rockwell, George K. Thiruvathukal

Konstantin Läufer

This interdisciplinary project explores the potential for handheld/wireless (H/W) technology in the context of language education within and beyond the classroom. Specifically, we have designed and implemented a suite of multi-platform (desktop/laptop, handheld, and browser) applications to enhance the teaching of South Asian languages such as Hindi-Urdu. Such languages are very difficult to learn, let alone write, and H/W devices (with their handwriting/drawing capabilities) can play a significant role in overcoming the learning curve. The initial application suite includes a character/word tracer, a word splitter/joiner, a smart flashcard with audio, contextual augmented stories for reading comprehension, and a poetic metronome. …


Online Layered File System (Olfs): A Layered And Versioned Filesystem And Performance Analysis, Joseph P. Kaylor, Konstantin Läufer, George K. Thiruvathukal Jan 2012

Online Layered File System (Olfs): A Layered And Versioned Filesystem And Performance Analysis, Joseph P. Kaylor, Konstantin Läufer, George K. Thiruvathukal

Konstantin Läufer

We present a novel form of intra-volume directory layering with hierarchical, inheritance-like namespace unification. While each layer of an OLFS volume constitutes a subvolume that can be mounted separately in a fan-in configuration, the entire hierarchy is always accessible (online) and fully navigable through any mounted layer. OLFS uses a relational database to store its layering metadata and either a relational database or any (virtual) host file system as its backing store, along with metadata and block caching for improved performance. Because OLFS runs as a virtual file system in user-space, its capabilities are available to all existing software without …


Enhancing The Cs Curriculum With With Aspect-Oriented Software Development (Aosd) And Early Experience, Konstantin Läufer, George K. Thiruvathukal, Tzilla Elrad Jan 2012

Enhancing The Cs Curriculum With With Aspect-Oriented Software Development (Aosd) And Early Experience, Konstantin Läufer, George K. Thiruvathukal, Tzilla Elrad

Konstantin Läufer

Aspect-oriented software development (AOSD) is evolving as an important step beyond existing software development approaches such as object-oriented development. An aspect is a module that captures a crosscutting concern, behavior that cuts across different units of abstraction in a software application; expressed as a module, such behavior can be enabled and disabled transparently and non-invasively, without changing the application code itself. Increasing industry demand for expertise in AOSD gives rise to the pedagogical challenge of covering this methodology and its foundations in the computer science curriculum. We present our curricular initiative to incorporate a novel course in AOSD in the …


A Model-Driven Approach To Job/Task Composition In Cluster Computing, Yogesh Kanitkar, Konstantin Läufer, Neeraj Mehta, George K. Thiruvathukal Jan 2012

A Model-Driven Approach To Job/Task Composition In Cluster Computing, Yogesh Kanitkar, Konstantin Läufer, Neeraj Mehta, George K. Thiruvathukal

Konstantin Läufer

In the general area of high-performance computing, object-oriented methods have gone largely unnoticed. In contrast, the Computational Neighborhood (CN), a framework for parallel and distributed computing with a focus on cluster computing, was designed from ground up to be object-oriented. This paper describes how we have successfully used UML in the following model-driven, generative approach to job/task composition in CN. We model CN jobs using activity diagrams in any modeling tool with support for XMI, an XML-based external representation of UML models. We then export the activity diagrams and use our XSLT-based tool to transform the resulting XMI representation to …


Virtualization For Computational Scientists, George K. Thiruvathukal, Konrad Hinsen, Joseph P. Kaylor, Konstantin Läufer Jan 2012

Virtualization For Computational Scientists, George K. Thiruvathukal, Konrad Hinsen, Joseph P. Kaylor, Konstantin Läufer

Konstantin Läufer

Virtualization lets you carve your computer into slices, allowing for great experimentation with different operating systems, tools, and techniques.


Natural Xml For Data Binding, Processing, And Persistence, George K. Thiruvathukal, Konstantin Läufer Jan 2012

Natural Xml For Data Binding, Processing, And Persistence, George K. Thiruvathukal, Konstantin Läufer

Konstantin Läufer

The article explains what you need to do to incorporate XML directly into your computational science application. The exploration involves the use of a standard parser to automatically build object trees entirely from application-specific classes. This discussion very much focuses on object-oriented programming languages such as Java and Python, but it can work for non-object-oriented languages as well. The ideas in the article provide a glimpse into the Natural XML research project.


Combining Soa And Bpm Technologies For Cross-System Process Automation, Sebastian Herr, John Shafaee, Konstantin Läufer, George K. Thiruvathukal, Guido Wirtz Jan 2012

Combining Soa And Bpm Technologies For Cross-System Process Automation, Sebastian Herr, John Shafaee, Konstantin Läufer, George K. Thiruvathukal, Guido Wirtz

Konstantin Läufer

This paper summarizes the results of an industry case study that introduced a cross-system business process automation solution based on a combination of SOA and BPM standard technologies (i.e., BPMN, BPEL, WSDL). Besides discussing major weaknesses of the existing, custom-built, solution and comparing them against experiences with the developed prototype, the paper presents a course of action for transforming the current solution into the proposed solution. This includes a general approach, consisting of four distinct steps, as well as specific action items that are to be performed for every step. The discussion also covers language and tool support and challenges …


Putting A Slug To Work, Konstantin Läufer, George K. Thiruvathukal, Ryohei Nishimura, Carlos Ramirez Martinez-Eiroa Jan 2012

Putting A Slug To Work, Konstantin Läufer, George K. Thiruvathukal, Ryohei Nishimura, Carlos Ramirez Martinez-Eiroa

Konstantin Läufer

In this article, the authors explore various uses of inexpensive embedded Linux devices such as the Linksys NSLU2 ("slug"). Embedded computing is a topic of growing interest. Although novel architectures such as cell processors, graphics processors (GPUs), and FPGAs are growing in popularity, conventional microproessor designs such as Intel's Xscale (ARM) and Atom pack a punch in a small footprint, not to mention being widely supported by commodity operating system and development tools. We're convinced that this entire space is a tool worth keeping in the scientific programmer's and software developer's toolchests.


Rest On Routers? Preliminary Lessons For Language Designers, Framework Architects, And App Developers, Joseph P. Kaylor, Konstantin Läufer, George K. Thiruvathukal Jan 2012

Rest On Routers? Preliminary Lessons For Language Designers, Framework Architects, And App Developers, Joseph P. Kaylor, Konstantin Läufer, George K. Thiruvathukal

Konstantin Läufer

In this position paper, we provide a preliminary assessment of hardware and software solution stack choices available to developers of resource-oriented web services on commodity embedded devices. As part of an ongoing interdisciplinary research project on air and water quality in a major urban ecosystem, we are developing an information infrastructure amounting to a role-based hierarchy of individually addressable, interconnected resources, ranging from sensors, analyzers, and other monitoring devices to aggregators and publishers. This infrastructure follows the Representational State Transfer (REST) architectural pattern and integrates non-networked or non-RESTful monitoring devices through RESTful proxy resources running on low-cost, low-energy, possibly wireless, …


The Extreme Software Development Series: An Open Curricular Framework For Applied Capstone Courses, Konstantin Läufer, George K. Thiruvathukal Jan 2012

The Extreme Software Development Series: An Open Curricular Framework For Applied Capstone Courses, Konstantin Läufer, George K. Thiruvathukal

Konstantin Läufer

We describe an open, flexible curricular framework for offering a collection of advanced undergraduate and graduate courses in software development. The courses offered within this framework are further unified by combining solid foundations with current technology and play the role of capstone courses in a modern software development track. Our initiative has been very successful with all stakeholders involved.


Restfs: Resources And Services Are Filesystems, Too, Joseph P. Kaylor, Konstantin Läufer, George K. Thiruvathukal Jan 2012

Restfs: Resources And Services Are Filesystems, Too, Joseph P. Kaylor, Konstantin Läufer, George K. Thiruvathukal

Konstantin Läufer

We have designed and implemented RestFS, a software frame-work that provides a uniform, configurable connector layerfor mapping remote web-based resources to local filesystem-based resources, recognizing the similarity between thesetwo types of resources. Such mappings enable programmaticaccess to a resource, as well as composition of two or moreresources, through the local operating system’s standardfilesystem application programming interface (API), script-able file-based command-line utilities, and inter-process com-munication (IPC) mechanisms. The framework supports au-tomatic and manual authentication. We include several ex-amples intended to show the utility and practicality of ourframework.


Scientific Programming: The Promises Of Typed, Pure, And Lazy Functional Programming: Part Ii, Konstantin Läufer, George K. Thiruvathukal Jan 2012

Scientific Programming: The Promises Of Typed, Pure, And Lazy Functional Programming: Part Ii, Konstantin Läufer, George K. Thiruvathukal

Konstantin Läufer

This second installment picks up where Konrad Hinsen's article "The Promises of Functional Programming" from the July/August 2009 issue left off, covering static type inference and lazy evaluation in functional programming languages.


Naked Object File System (Nofs): A Framework To Expose An Object-Oriented Domain Model As A File System, Joseph P. Kaylor, Konstantin Läufer, George K. Thiruvathukal Jan 2012

Naked Object File System (Nofs): A Framework To Expose An Object-Oriented Domain Model As A File System, Joseph P. Kaylor, Konstantin Läufer, George K. Thiruvathukal

Konstantin Läufer

We present Naked Objects File System (NOFS), a novel framework that allows a developer to expose a domain model as a file system by leveraging the Naked Objects design principle. NOFS allows a developer to construct a file system without having to understand or implement all details related to normal file systems development. In this paper we explore file systems frameworks and object-oriented frameworks in a historical context and present an example domain model using the framework. This paper is based on a fully-functional implementation that is distributed as free/open source software, including virtual machine images to demonstrate and study …


Plone And Content Management, George K. Thiruvathukal, Konstantin Läufer Jan 2012

Plone And Content Management, George K. Thiruvathukal, Konstantin Läufer

Konstantin Läufer

In this column, the authors look at Plone, which they feel is one of the best content management systems available today. Even better, it?s distributed under a free open-source license: the cost of getting started is only limited to the time you have available to set up the software on a server. Plone is written in Python and uses the Zope application server infrastructure; it runs on most modern operating systems. The authors have even set it up at Loyola University Chicago in the Department of Computer Science. Besides being two faculty members who rely on Plone to host all …


Taming Xml: Objects First, Then Markup, Matt Bone, Peter Nabicht, Konstantin Läufer, George K. Thiruvathukal Jan 2012

Taming Xml: Objects First, Then Markup, Matt Bone, Peter Nabicht, Konstantin Läufer, George K. Thiruvathukal

Konstantin Läufer

Processing markup in object-oriented languages often requires the programmer to focus on the objects generating the markup rather than the more pertinent domain objects. The BetterXML framework aims to improve this situation by allowing the programmer to develop a domain-specific object model as usual and later bind this model to preexisting or newly generated markup. To this end, the framework provides two types of object trees, XElement and NaturalXML, for representing XML documents. XElement goes beyond DOM-like automatic parsing of XML by supporting the custom mapping of elements to domain objects; NaturalXML allows the mapping of existing domain objects to …


Initial Experience In Moving Key Academic Department Functions To Social Networking Sites, David Dennis, George K. Thiruvathukal, Konstantin Läufer Jan 2012

Initial Experience In Moving Key Academic Department Functions To Social Networking Sites, David Dennis, George K. Thiruvathukal, Konstantin Läufer

Konstantin Läufer

We discuss our initial experience with the transition from conventional technology to social networking sites and other cloud-backed sites for three core business functions of an academic computer science department at a mid-size private university: course management, research collaboration, and community engagement. We first discuss the social/cultural context that informs our technology choices, as well as the evolution of the technology choices themselves. Then, we identify the targeted department functions and their actors. Next, we describe the past and present technical architectures used to support these functions. We conclude with a discussion of our preliminary experience with this transition and …