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

Digital Commons Network

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

Articles 1 - 30 of 40

Full-Text Articles in Entire DC Network

On The Interaction Of Object-Oriented Design Patterns And Programming Languages, Gerald Baumgartner, Konstantin Laufer, Vernon J. Rego Oct 2017

On The Interaction Of Object-Oriented Design Patterns And Programming Languages, Gerald Baumgartner, Konstantin Laufer, Vernon J. Rego

Konstantin Läufer

No abstract provided.


Experiences With Scala Across The College-Level Curriculum, Konstantin Läufer, George K. Thiruvathukal, Mark C. Lewis Oct 2017

Experiences With Scala Across The College-Level Curriculum, Konstantin Läufer, George K. Thiruvathukal, Mark C. Lewis

Konstantin Läufer

Various hybrid-functional languages, designed to balance compile-time error detection, conciseness, and performance, have emerged. Scala, e.g., is interoperable with Java and has become an early leader in adoption, especially in the start-up and open-source spaces. As educators, we have recognized Scala’s value as a teaching language across the CS curriculum. In CS1, the read-eval-print loop and simple, uniform syntax aid programming in the small. In CS2, higher-order methods allow concise, efficient manipulation of collections. In a programming languages course, advanced constructs facilitate the separation of concerns, program representation and interpretation, and concurrent programming. In advanced applied courses, language mechanisms and …


Moving Academic Department Functions To Social Networks And Clouds: Initial Experiences, George K. Thiruvathukal, Konstantin Läufer, David Dennis Oct 2017

Moving Academic Department Functions To Social Networks And Clouds: Initial Experiences, George K. Thiruvathukal, Konstantin Läufer, David Dennis

Konstantin Läufer

The ability to move locally hosted services to cloud-based technologies is a key element in the scientific programming toolbox.


Spring­11: Pdc In Cs1/2 And A Mobile/Cloud Intermediate Mobile/Cloud Intermediate Software Design Course, Joseph P. Kaylor, Konstantin Läufer, Chandra N. Sekharan, George K. Thiruvathukal Oct 2017

Spring­11: Pdc In Cs1/2 And A Mobile/Cloud Intermediate Mobile/Cloud Intermediate Software Design Course, Joseph P. Kaylor, Konstantin Läufer, Chandra N. Sekharan, George K. Thiruvathukal

Konstantin Läufer

Recent changes in the environment of Loyola University Chicago’s Department of Computer Science include a better differentiation of our four undergraduate majors, growing interest in computing among science majors, and an increased demand for graduates with mobile and cloud skills. In our continued effort to incorporate parallel and distributed computing topics into the undergraduate curriculum, we are focusing on these three existing courses: CS1: In response to a request from the physics department, we started to offer a CS1 section aimed at majors in physics and other hard sciences this spring semester. This section includes some material on numerical methods …


Software Metrics And Dashboard, Shilpika Shilpika, George K. Thiruvathukal, Saulo Aguiar, Konstantin Läufer, Nicholas J. Hayward Oct 2017

Software Metrics And Dashboard, Shilpika Shilpika, George K. Thiruvathukal, Saulo Aguiar, Konstantin Läufer, Nicholas J. Hayward

Konstantin Läufer

Software metrics are a critical tool which provide continuous insight to products and processes and help build reliable software in mission critical environments. Using software metrics we can perform calculations that help assess the effectiveness of the underlying software or process. The two types of metrics relevant to our work is complexity metrics and in-process metrics. Complexity metrics tend to focus on intrinsic code properties like code complexity. In-process metrics focus on a higher-level view of software quality, measuring information that can provide insight into the underlying software development process.

Our aim is to develop and evaluate a metrics dashboard …


Towards Sustainable Digital Humanities Software, George K. Thiruvathukal, Shilpika Shilpika, Nicholas J. Hayward, Saulo Aguiar, Konstantin Läufer Oct 2017

Towards Sustainable Digital Humanities Software, George K. Thiruvathukal, Shilpika Shilpika, Nicholas J. Hayward, Saulo Aguiar, Konstantin Läufer

Konstantin Läufer

Our work in software quality for digital humanities was borne of an effort to address sustainable practices in scientific software development, where the speaker (Thiruvathukal) co-authored a position paper on the case for software engineering in scientific software development as part of an all-encompassing strategy to create more sustainable scientific software (an example of a well-known scientific software package is LINPACK). In this position paper, we addressed how “progress in scientific research is dependent on the quality and accessibility of software at all levels". This progress depends on embracing the best traditional--and emergent--practices in software engineering, especially agile practices that …


Building Capable, Energy-Efficient, Flexible Visualization And Sensing Clusters From Commodity Tablets, Thomas Delgado Dias, Xian Yan, Konstantin Läufer, George K. Thiruvathukal Oct 2017

Building Capable, Energy-Efficient, Flexible Visualization And Sensing Clusters From Commodity Tablets, Thomas Delgado Dias, Xian Yan, Konstantin Läufer, George K. Thiruvathukal

Konstantin Läufer

We explore the application of clusters of commodity tablet devices to problems spanning a “trilogy” of concerns: visualization, sensing, and computation. We conjecture that such clusters provide a low-cost, energy-efficient, flexible, and ultimately effective platform to tackle a wide range of problems within this trilogy. This is a work in progress, and we now elaborate our position and give a preliminary status report. A wide range of Android tablet devices are available in terms of price and capabilities. “You get what you pay for” w.r.t. display resolution, sensors, and chipset---corresponding to the trilogy. $200 gets one a 1280x800-pixel touch display, …


Metrics Dashboard Services: A Framework For Analyzing Free/Open Source Team Repositories, Shilpika Shilpika, George K. Thiruvathukal, Nicholas Hayward, Konstantin Läufer Oct 2017

Metrics Dashboard Services: A Framework For Analyzing Free/Open Source Team Repositories, Shilpika Shilpika, George K. Thiruvathukal, Nicholas Hayward, Konstantin Läufer

Konstantin Läufer

No abstract provided.


Filesystems: Addressing The Last-Mile “Problem” In Services-Oriented/Cloud Computing, George K. Thiruvathukal, Joseph P. Kaylor, Konstantin Läufer Oct 2017

Filesystems: Addressing The Last-Mile “Problem” In Services-Oriented/Cloud Computing, George K. Thiruvathukal, Joseph P. Kaylor, Konstantin Läufer

Konstantin Läufer

We have designed and implemented RestFS, a software framework that provides a uniform, configurable connector layer for mapping remote web-based resources to local filesystem-based resources, recognizing the similarity between these two types of resources. Such mappings enable programmatic access to a resource, as well as composition of two or more resources, through the local operating system’s standard filesystem application programming interface (API), script-able file-based command-line utilities, and interprocess communication (IPC) mechanisms. The framework supports automatic and manual authentication.

As part of this talk, we demonstrate a new filesystem that interfaces to the SketchFab.com service to support 3D model visualization. For …


A Polyglot Approach To Bioinformatics Data Integration: A Phylogenetic Analysis Of Hiv-1, Steven Reisman, Thomas Hatzopoulous, Konstantin Läufer, George K. Thiruvathukal, Catherine Putonti Oct 2017

A Polyglot Approach To Bioinformatics Data Integration: A Phylogenetic Analysis Of Hiv-1, Steven Reisman, Thomas Hatzopoulous, Konstantin Läufer, George K. Thiruvathukal, Catherine Putonti

Konstantin Läufer

As sequencing technologies continue to drop in price and increase in throughput, new challenges emerge for the management and accessibility of genomic sequence data. We have developed a pipeline for facilitating the storage, retrieval, and subsequent analysis of molecular data, integrating both sequence and metadata. Taking a polyglot approach involving multiple languages, libraries, and persistence mechanisms, sequence data can be aggregated from publicly available and local repositories. Data are exposed in the form of a RESTful web service, formatted for easy querying, and retrieved for downstream analyses. As a proof of concept, we have developed a resource for annotated HIV-1 …


Design And Implementation Of Triveni: A Process-Algebraic Api For Threads + Events, Christopher P. Colby, Lalita Jategaonkar Jagaeesan, Radhakrishnan Jagadeesan, Konstantin Laufer, Carlos Puchol Oct 2017

Design And Implementation Of Triveni: A Process-Algebraic Api For Threads + Events, Christopher P. Colby, Lalita Jategaonkar Jagaeesan, Radhakrishnan Jagadeesan, Konstantin Laufer, Carlos Puchol

Konstantin Läufer

We describe Triveni, a framework and API for integrating threads and events. The design of Triveni is based on an algebra, including preemption combinators, of processes. Triveni is compatible with existing threads standards, such as Pthreads and Java threads, and with the event models structured on the Observer pattern. We describe the software architecture and algorithms underlying a concrete implementation of Triveni in Java. This environment includes specification based testing of safety properties. The results described in the paper have been used to integrate process-algebraic methods into (concurrent) object orientated programming.


Network Technologies Used To Aggregate Environmental Data, Paul Stasiuk, Konstantin Läufer, George K. Thiruvathukal Oct 2017

Network Technologies Used To Aggregate Environmental Data, Paul Stasiuk, Konstantin Läufer, George K. Thiruvathukal

Konstantin Läufer

The goal of the Loyola Weather Service (lws) project is to design and build a system of functioning environmental monitoring widgets that can intelligently and autonomously control the environment around them based on set thresholds and triggers. The widgets will also have the ability to aggregate their data and easily display this data in various ways: through a user interface in the room that the widget is placed, via a web application, and programmatically via a RESTful web service.


Putting Type Annotations To Work, Martin Odersky, Konstantin Laufer Oct 2017

Putting Type Annotations To Work, Martin Odersky, Konstantin Laufer

Konstantin Läufer

We study an extension of the Hindley/Milner system with explicit type scheme annotations and type declarations. The system can express polymorphic function arguments, user-defined data types with abstract components, and structure types with polymorphic fields. More generally, all programs of the polymorphic lambda calculus can be encoded by a translation between typing derivations. We show that type reconstruction in this system can be reduced to the decidable problem of first-order unification under a mixed prefix.


Automated Systematic Testing For Constraint-Based Interactive Services, Patrice Godefroid, Lalita Jategaonkar Jagadeesan, Radha Jagadeesan, Konstantin Laufer Oct 2017

Automated Systematic Testing For Constraint-Based Interactive Services, Patrice Godefroid, Lalita Jategaonkar Jagadeesan, Radha Jagadeesan, Konstantin Laufer

Konstantin Läufer

Constraint-based languages can express in a concise way the complex logic of a new generation of interactive services for applications such as banking or stock trading, that must support multiple types of interfaces for accessing the same data. These include automatic speech-recognition interfaces where inputs may be provided in any order by users of the service. We study in this paper how to systematically test event-driven applications developed using such languages. We show how such applications can be tested automatically, without the need for any manually-written test cases, and effi- ciently, by taking advantage of their capability of taking unordered …


An Object-Oriented Framework For Userland Filesystem Development, George K. Thiruvathukal, Joseph P. Kaylor, Konstantin Läufer Oct 2017

An Object-Oriented Framework For Userland Filesystem Development, George K. Thiruvathukal, Joseph P. Kaylor, Konstantin Läufer

Konstantin Läufer

Userland filesystems (also known as virtual/installable filesystems) represent a promising direction for interfacing the traditional filesystem concept to specific domain instances (e.g. finance, bioinformatics, astronomy, photo sharing services, etc.) One might initially be inclined to think of filesystems as “old school” or “so 1980s” but their use remains an established practice in computational science and in many business domains, owing to the stability of filesystems interfaces and the continued perception of having great overall performance. While the promise of building one’s own userland filesystems is great, the approach has seen little adoption, owing to the complexity of working with low-level …


Simplifying Domain Modeling And Memory Management In User-Mode Filesystems With The Nofs Framework, Joseph P. Kaylor, Konstantin Läufer, George K. Thiruvathukal Oct 2017

Simplifying Domain Modeling And Memory Management In User-Mode Filesystems With The Nofs Framework, Joseph P. Kaylor, Konstantin Läufer, George K. Thiruvathukal

Konstantin Läufer

Transparent access to remote data sets and data arising from web services is a non-trivial challenge to application developers. This early stage work addresses this challenge with NOFS, an object-oriented framework for creating filesystems to support domain specific functionality. While an early stage work, we present a solution to solve the access problem. Our solution greatly simplifies the task of filesystems development by providing the glue code needed between a domain model and the filesystem contract. We demonstrate support for domain models that are larger than physical memory and demonstrate how the concerns of caching can be removed from user-mode …


A Polyglot Approach To Bioinformatics Data Integration: Phylogenetic Analysis Of Hiv-1, Steven Reisman, Catherine Putonti, George K. Thiruvathukal, Konstantin Läufer Oct 2017

A Polyglot Approach To Bioinformatics Data Integration: Phylogenetic Analysis Of Hiv-1, Steven Reisman, Catherine Putonti, George K. Thiruvathukal, Konstantin Läufer

Konstantin Läufer

RNA-interference has potential therapeutic use against HIV-1 by targeting highly-functional mRNA sequences that contribute to the virulence of the virus. Empirical work has shown that within cell lines, all of the HIV-1 genes are affected by RNAi-induced gene silencing. While promising, inherent in this treatment is the fact that RNAi sequences must be highly specific. HIV, however, mutates rapidly, leading to the evolution of viral escape mutants. In fact, such strains are under strong selection to include mutations within the targeted region, evading the RNAi therapy and thus increasing the virus’ fitness in the host. Taking a phylogenetic approach, we …


Sisl: Several Interfaces, Single Logic, Thomas Ball, Christopher P. Colby, Peter Danielsen, Lalita Jategaonkar Jagadeesan, Radhakrishnan Jagadeesan, Konstantin Laufer, Peter Mataga, Kenneth Rehor Oct 2017

Sisl: Several Interfaces, Single Logic, Thomas Ball, Christopher P. Colby, Peter Danielsen, Lalita Jategaonkar Jagadeesan, Radhakrishnan Jagadeesan, Konstantin Laufer, Peter Mataga, Kenneth Rehor

Konstantin Läufer

Modern interactive services such as information and e-commerce services are becoming increasingly more flexible in the types of user interfaces they support. These interfaces incorporate automatic speech recognition and natural language understanding, and include graphical user interfaces on the desktop and web-based interfaces using applets and HTML forms. To what extent can the user interface software be decoupled from the service logic software (the code that defines the essential function of a service)? Decoupling of user interface from service logic directly impacts the flexibility of services, or, how easy they are to modify and extend. To explore these issues, we …


Safe Structural Conformance For Java, Konstantin Laufer, Gerald Baumgartner, Vincent F. Russo Oct 2017

Safe Structural Conformance For Java, Konstantin Laufer, Gerald Baumgartner, Vincent F. Russo

Konstantin Läufer

No abstract provided.


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 …