Konstantin Läufer | Loyola University Chicago (original) (raw)

Papers by Konstantin Läufer

Research paper thumbnail of An Object-Oriented Framework for Userland Filesystem Development

Research paper thumbnail of The Semantics of Triveni: A Process-Algebraic API for Threads + Events

Electronic Notes in Theoretical Computer Science, 1998

This paper describes compositional semantics (operational, denotational and logical) for a proces... more This paper describes compositional semantics (operational, denotational and logical) for a process algebra enhanced with input/output actions and preemption combinators, in the presence of fairness. The context of this paper is Triveni, a process-algebra-based design methodology that combines threads and events in the context of object-oriented programming [CJJ + 98a, CJJ + 98b]. Triveni has been realized as an API, JavaTriveni [CJJ + 98a], in the Java programming language. A case study in JavaTriveni is described in [CJJ + 98b], involving the re-implementation of a piece of telecommunication software -the Carrier Group Alarms (CGA) software of Lucent Technologies' 5ESS switch.

Research paper thumbnail of A Constraint-Based Framework for Prototyping Distributed Virtual Applications

This paper describes the architecture and implementation of a constraint-based framework for rapi... more This paper describes the architecture and implementation of a constraint-based framework for rapid prototyping of distributed applications such as virtual simulations, collaborations and games. Our framework integrates three components based on (concurrent) constraint programming ideas: (1) Hybrid cc, a (concurrent) constraint modeling language for hybrid systems, (2) Sisl, a (discrete) timed constraint language for describing interactive services with flexible user interfaces and (3) Triveni, a process-algebraic language for concurrent programming. The framework is realized as a collection of tools implemented in Java. The utility of the ideas are illustrated by sketching the implementations of simple distributed applications.

Research paper thumbnail of Automated systematic testing for constraint-based interactive services

ACM Sigsoft Software Engineering Notes, 2000

Constraint-based languages can express in a concise way the complex logic of a new generation of ... more 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 efficiently, by taking advantage of their capability of taking unordered sets of events as inputs.

Research paper thumbnail of Combining SOA and BPM Technologies for Cross-System Process Automation

Combining SOA and BPM Technologies for Cross-System Process Automation

... Combining SOA and BPM Technologies for Cross-System Process Automation.Sebastian Herr John Sh... more ... Combining SOA and BPM Technologies for Cross-System Process Automation.Sebastian Herr John Shafaee Konstantin Läufer, Loyola University Chicago George K. Thiruvathukal, Loyola University Chicago Guido Wirtz. Abstract. ...

Research paper thumbnail of A Hike through Post-EJB J2EE Web Application Architecture, Part II

Computing in Science and Engineering, 2006

This is the second article in an occasional series on Web application development. The first inst... more This is the second article in an occasional series on Web application development. The first installment, published in the September/October 2005 issue ("A Hike through Post-EJB J2EE Web Application Architecture," vol. 7, no. 5, pp. 80-88), focused on the upper tiers that comprise the user interface; here, the author focuses on the lower tiers. He started with a blueprint of a typical post-Enterprise JavaBeans (EJB) Java 2 Enterprise Edition (J2EE) Web application architecture. Several functional and nonfunctional requirements drive such architectures, and they've become relatively standard. Within this architecture, we looked at the core functionality of our running example - linear regression over a persistent set of points - and then hiked our way upward through successive user interface layers, including dynamic behavior, presentation, internationalization, navigation, layout, and visual styles. During the hike, we looked at typical technologies for each layer. In this article, we descend into our application's invisible innards. Specifically, the author examines business service objects, object-relational mappings, lightweight containers (for painlessly connecting the various pieces), security, and concurrency. Our ultimate goal is to facilitate the development of reliable, flexible, and efficient server-based Web applications

Research paper thumbnail of A Hike through Post-EJB J2EE Web Application Architecture

Computing in Science and Engineering, 2005

Since the mid-nineties, server-based Web applications have emerged as a convenient way to provide... more Since the mid-nineties, server-based Web applications have emerged as a convenient way to provide functionality to a user audience without any specific software or system requirements except the need for a reasonably up-to-date Web browser. The tricky integration, installation, and configuration tasks are under the control of an expert on the server side. These advantages apply to both the general public and small research teams. Typical Web applications have browser-based user interfaces for one or more user roles and might keep some information in persistent storage, such as a relational database. Since the early days of common gateway interface (CGI) scripting, technologies for developing Web applications have evolved by leaps and bounds to address growing expectations with respect to reliability, maintainability, extensibility, performance, scalability, and other goals. In this article - the first in a planned series about Web application development - we take an exploratory hike through the architectural layers of a Web application built with state-of-the-art, widely used technologies. The paper focus on the upper layers that provide the application's user interface. By no means intended as a complete treatise on Web application development, this article is an overview meant to spark your interest and provide a starting Doint for further exploration.

Research paper thumbnail of A Hike through a Post-EJB J2EE Web Application Architecture, Part III

Computing in Science and Engineering, 2007

By incorporating automated component, integration, and acceptance testing into the various tiers ... more By incorporating automated component, integration, and acceptance testing into the various tiers of a lightweight lava 2 Enterprise Edition (J2EE) Web application architecture, developers can shorten the development cycle and increase the quality of their work

Research paper thumbnail of Unit Testing Considered Useful

Computing in Science and Engineering, 2006

Testing is an important part of application development hardware engineers, in particular, have a... more 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. In this installment of Scientific Programming, we'll discuss the role of testing in the software development process and examine ways to leverage automated unit testing in your projects

Research paper thumbnail of Plone and content management

Computing in Science and Engineering, 2004

This paper looks at Plone, one of the best content management systems. Plone is distributed under... more This paper looks at Plone, one of the best content management systems. Plone is 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. Plone can be customized for the maintenance of content - entirely over the Web.

Research paper thumbnail of Safe Structural Conformance for Java

The Computer Journal, 2000

In Java, an interface specifies public abstract methods and associated public constants. Conforma... more In Java, an interface specifies public abstract methods and associated public constants. Conformance of a class to an interface is by name. We propose to allow structural conformance to interfaces: Any class or interface that declares or implements each method in a target interface conforms structurally to the interface, and any expression of the source class or interface type can be used where a value of the target interface type is expected. We argue that structural conformance results in a major gain in flexibility in situations that require retroactive abstraction over types.

Research paper thumbnail of Design and Implementation of Triveni: A Process-Algebraic API for Threads + Events

We describe Triveni, a framework and API for integrating threads and events. The design of Triven... more 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.

Research paper thumbnail of Sisl: Several Interfaces, Single Logic

International Journal of Speech Technology, 2000

Modern interactive services such as information and e-commerce services are becoming increasingly... more 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.

Research paper thumbnail of Objects and Concurrency in Triveni: A Telecommunication Case Study in Java

We describe the interaction of objects and concurrency in the design of Triveni, a framework for ... more We describe the interaction of objects and concurrency in the design of Triveni, a framework for concurrent programming with threads and events. Triveni has been realized as JavaTriveni, a collection of tools for the Java programming language. We describe our experiences in JavaTriveni with an example from telecommunication.

Research paper thumbnail of Sisl: Several Interfaces, Single Logic

Modern interactive services such as information and e-commerce services are becoming increasingly... more 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.

Research paper thumbnail of An Object-Oriented Framework for Userland Filesystem Development

Research paper thumbnail of The Semantics of Triveni: A Process-Algebraic API for Threads + Events

Electronic Notes in Theoretical Computer Science, 1998

This paper describes compositional semantics (operational, denotational and logical) for a proces... more This paper describes compositional semantics (operational, denotational and logical) for a process algebra enhanced with input/output actions and preemption combinators, in the presence of fairness. The context of this paper is Triveni, a process-algebra-based design methodology that combines threads and events in the context of object-oriented programming [CJJ + 98a, CJJ + 98b]. Triveni has been realized as an API, JavaTriveni [CJJ + 98a], in the Java programming language. A case study in JavaTriveni is described in [CJJ + 98b], involving the re-implementation of a piece of telecommunication software -the Carrier Group Alarms (CGA) software of Lucent Technologies' 5ESS switch.

Research paper thumbnail of A Constraint-Based Framework for Prototyping Distributed Virtual Applications

This paper describes the architecture and implementation of a constraint-based framework for rapi... more This paper describes the architecture and implementation of a constraint-based framework for rapid prototyping of distributed applications such as virtual simulations, collaborations and games. Our framework integrates three components based on (concurrent) constraint programming ideas: (1) Hybrid cc, a (concurrent) constraint modeling language for hybrid systems, (2) Sisl, a (discrete) timed constraint language for describing interactive services with flexible user interfaces and (3) Triveni, a process-algebraic language for concurrent programming. The framework is realized as a collection of tools implemented in Java. The utility of the ideas are illustrated by sketching the implementations of simple distributed applications.

Research paper thumbnail of Automated systematic testing for constraint-based interactive services

ACM Sigsoft Software Engineering Notes, 2000

Constraint-based languages can express in a concise way the complex logic of a new generation of ... more 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 efficiently, by taking advantage of their capability of taking unordered sets of events as inputs.

Research paper thumbnail of Combining SOA and BPM Technologies for Cross-System Process Automation

Combining SOA and BPM Technologies for Cross-System Process Automation

... Combining SOA and BPM Technologies for Cross-System Process Automation.Sebastian Herr John Sh... more ... Combining SOA and BPM Technologies for Cross-System Process Automation.Sebastian Herr John Shafaee Konstantin Läufer, Loyola University Chicago George K. Thiruvathukal, Loyola University Chicago Guido Wirtz. Abstract. ...

Research paper thumbnail of A Hike through Post-EJB J2EE Web Application Architecture, Part II

Computing in Science and Engineering, 2006

This is the second article in an occasional series on Web application development. The first inst... more This is the second article in an occasional series on Web application development. The first installment, published in the September/October 2005 issue ("A Hike through Post-EJB J2EE Web Application Architecture," vol. 7, no. 5, pp. 80-88), focused on the upper tiers that comprise the user interface; here, the author focuses on the lower tiers. He started with a blueprint of a typical post-Enterprise JavaBeans (EJB) Java 2 Enterprise Edition (J2EE) Web application architecture. Several functional and nonfunctional requirements drive such architectures, and they've become relatively standard. Within this architecture, we looked at the core functionality of our running example - linear regression over a persistent set of points - and then hiked our way upward through successive user interface layers, including dynamic behavior, presentation, internationalization, navigation, layout, and visual styles. During the hike, we looked at typical technologies for each layer. In this article, we descend into our application's invisible innards. Specifically, the author examines business service objects, object-relational mappings, lightweight containers (for painlessly connecting the various pieces), security, and concurrency. Our ultimate goal is to facilitate the development of reliable, flexible, and efficient server-based Web applications

Research paper thumbnail of A Hike through Post-EJB J2EE Web Application Architecture

Computing in Science and Engineering, 2005

Since the mid-nineties, server-based Web applications have emerged as a convenient way to provide... more Since the mid-nineties, server-based Web applications have emerged as a convenient way to provide functionality to a user audience without any specific software or system requirements except the need for a reasonably up-to-date Web browser. The tricky integration, installation, and configuration tasks are under the control of an expert on the server side. These advantages apply to both the general public and small research teams. Typical Web applications have browser-based user interfaces for one or more user roles and might keep some information in persistent storage, such as a relational database. Since the early days of common gateway interface (CGI) scripting, technologies for developing Web applications have evolved by leaps and bounds to address growing expectations with respect to reliability, maintainability, extensibility, performance, scalability, and other goals. In this article - the first in a planned series about Web application development - we take an exploratory hike through the architectural layers of a Web application built with state-of-the-art, widely used technologies. The paper focus on the upper layers that provide the application's user interface. By no means intended as a complete treatise on Web application development, this article is an overview meant to spark your interest and provide a starting Doint for further exploration.

Research paper thumbnail of A Hike through a Post-EJB J2EE Web Application Architecture, Part III

Computing in Science and Engineering, 2007

By incorporating automated component, integration, and acceptance testing into the various tiers ... more By incorporating automated component, integration, and acceptance testing into the various tiers of a lightweight lava 2 Enterprise Edition (J2EE) Web application architecture, developers can shorten the development cycle and increase the quality of their work

Research paper thumbnail of Unit Testing Considered Useful

Computing in Science and Engineering, 2006

Testing is an important part of application development hardware engineers, in particular, have a... more 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. In this installment of Scientific Programming, we'll discuss the role of testing in the software development process and examine ways to leverage automated unit testing in your projects

Research paper thumbnail of Plone and content management

Computing in Science and Engineering, 2004

This paper looks at Plone, one of the best content management systems. Plone is distributed under... more This paper looks at Plone, one of the best content management systems. Plone is 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. Plone can be customized for the maintenance of content - entirely over the Web.

Research paper thumbnail of Safe Structural Conformance for Java

The Computer Journal, 2000

In Java, an interface specifies public abstract methods and associated public constants. Conforma... more In Java, an interface specifies public abstract methods and associated public constants. Conformance of a class to an interface is by name. We propose to allow structural conformance to interfaces: Any class or interface that declares or implements each method in a target interface conforms structurally to the interface, and any expression of the source class or interface type can be used where a value of the target interface type is expected. We argue that structural conformance results in a major gain in flexibility in situations that require retroactive abstraction over types.

Research paper thumbnail of Design and Implementation of Triveni: A Process-Algebraic API for Threads + Events

We describe Triveni, a framework and API for integrating threads and events. The design of Triven... more 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.

Research paper thumbnail of Sisl: Several Interfaces, Single Logic

International Journal of Speech Technology, 2000

Modern interactive services such as information and e-commerce services are becoming increasingly... more 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.

Research paper thumbnail of Objects and Concurrency in Triveni: A Telecommunication Case Study in Java

We describe the interaction of objects and concurrency in the design of Triveni, a framework for ... more We describe the interaction of objects and concurrency in the design of Triveni, a framework for concurrent programming with threads and events. Triveni has been realized as JavaTriveni, a collection of tools for the Java programming language. We describe our experiences in JavaTriveni with an example from telecommunication.

Research paper thumbnail of Sisl: Several Interfaces, Single Logic

Modern interactive services such as information and e-commerce services are becoming increasingly... more 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.