ABSTRACTS OF PAPERS ON HUMAN-COMPUTER INTERACTION

AND SOFTWARE ENGINEERING by

Andrew M. Olson
Department of Computer & Information Science

Indiana University - Purdue University
723 W. Michigan St., SL280
Indianapolis, IN 46202-5132
U.S.A.
Phone: (317) 274-9727             FAX: (317) 274-9742
E-mail: OLSONA @ IUPUI . EDU          (and others)

******************************************************************

Tilak, Omkar J., Raje, Rajeev, R., and Olson, Andrew M. (2009) Assurance for Temporal

Compatibility Using Contracts.  In Handbook of Research on Information Security and Assurance.  Gupta and Sharma (Eds.) ( Chapter 31) Hershey, PA: IGI Global Publishing Co.

<<Copyright © 2009, IGI Global.  Distributing in print or electronic form without written permission of IGI Global is prohibited.>>

 

Abstract:  Software realization of large-scale Distributed Computing Systems (DCS) is achieved through the Component-based Software Development (CBSD) approach.  A DCS consists of many autonomous components that interact with each other to coordinate each system activity.  The need for such coordination, along with requirements, such as heterogeneity, scalability, security, and availability, considerably increases the complexity of code in a distributed system.  This chapter depicts a formal method to specify component interactions involving temporal constraints.  Using the component interactions, various types of temporal interaction compatibility classes are defined.  A simple case study is presented that indicates the benefits of the component interaction specifications discussed in this chapter.

*******************************************************************

Raje, Rajeev, J., Crespi, Alex, Tilak, Omkar J., Olson, Andrew M. and Burt, Carol (2009).  Access Control Frameworks for a Distributed System.  In Handbook  of Research on Information Security and Assurance, Gupta and Sharma (Eds.) (Chapter 21) Hershey, PA: IGI Global Publishing Co.

<<Copyright © 2009, IGI Global.  Distributing in print or electronic form without written permission of IGI Global is prohibited.>>

 

Abstract:  Component-based software development offers a promising technique for creating distributed systems.  It does require a framework for specifying component properties, analyzing the   behaviors of a system before composition, and validating them during operation.  This chapter focuses on the access control properties of a distributed system.  It provides a framework that addressed the following issues: (a) specifying access control properties for individual components, (b) identifying components with required access control properties, and (c) formulating compositional models for predicting the access control properties of a system composed from those of individual components.

******************************************************************

Raje, Rajeev R., Chinnasamy, Sivakumar, Olson, Andrew M., Higdon, William (2007) The application and enhancement of LePUS for specifying design patterns.  In Design Pattern Formalization Techniques.  Taibi, Toufik (Ed.) (Chapter IV)  Hershey, PA: Idea Group Publishing. <<Copyright ©, all rights reserved>>

 

Abstract:  Standardized pattern representations have become a popular way to capture, classify, and communicate the essential characteristics of software designs.  Both books and large Web sites serve as pattern repositories for use by software design engineers.  Because they are usually expressed in verbal and diagrammatic form using, say, UML, they are susceptible to ambiguities and the consequent misinterpretation.  The goal of this chapter is to illustrate how to represent rigorously design patterns, in order to avoid this problem, and to analyze the capabilities of this technique. It describes a more formal, logic-based language for representing pattern Structure and an extension that can also represent other aspects of patterns, such as Intent, Applicability and Collaboration.  This mathematical basis serves to eliminate ambiguities.  The chapter explains the concepts underlying the languages and shows their utility by representing two classical patterns, some concurrent patterns and various aspects of a few other patterns.

******************************************************************

Olson, Andrew, Raje, Rajeev, Bryant, Barrett. R., Burt, Carol, Auguston, Mikhail.  (2006)  UniFrame: An automated resource management system. In Advanced parallel and distributed computing.  Dai, Yaun-Shun, et al. (Eds.) Hauppauge, NY:  Nova Science Publishers, Inc. vol. 2, pp. 182-202

Abstract: Constructing a large computing system that resides in a distributed environment containing heterogeneous components constitutes a much greater challenge than that of engineering software for a single platform. This chapter outlines a process for developing such a system by applying the concepts of component-based software engineering and formal methods to help reduce project duration and cost, increase product quality and the associated confidence. In response to posing the requirements for a particular distributed system, the process provides a mechanism, based on a uniform protocol to specify components that are necessary or made available for use on a network, to determine the requisite components, search for them, bridge any heterogeneity, and assemble them. It supplies a way of realizing OMG’s Model Driven Architecture™ initiative. The process separates system design from construction by having experts create a priori a knowledgebase consisting of problem and design models and vendors to deploy implemented components on the network. This architecture permits: a) the elimination of model defects with formal techniques and repeated evaluation, b) developing the distributed system iteratively and incrementally, c) automating the system validation and verification, and d) choosing among the deployed components in order to create the highest quality systems. All of these facets support evaluating and improving the products of the distributed software engineering project. In addition, the process facilitates adapting quickly a distributed system in response to a dynamically changing environment.

******************************************************************

Fei Cao, Barrett R. Bryant, Rajeev R. Raje, Andrew M. Olson, Mikhail Auguston, Wei Zhao, Carol C. Burt. A Non-Invasive Approach to Assertive and Autonomous Dynamic Component Composition in Service-Oriented Paradigm, Journal of Universal Computer Science, vol. 11, no. 10, 2005, pp. 1645-1675   <<Copyright ©, all rights reserved>>

 

Abstract: Component-based software composition offers a development approach with reduced time-to-market and cost while achieving enhanced productivity, quality and maintainability. Existing work on the composition paradigm focuses on static composition, which is not sufficient in a distributed environment, in which both constituent components and the assembled distributed system are subject to dynamic adaptation. This paper presents two types of dynamic composition for distributed components: assertive and autonomous over a .NET-based Web Services environment. Three case studies are provided to illustrate the use of assertive and autonomous composition. 


******************************************************************

Olson, A. M., Raje, R. R., Bryant, B. R., Burt, C. C., Auguston, M.  (2005)  UniFrame: a unified framework for developing service-oriented, component-based, distributed software systems.  In Z. Stojanovic and A. Dahanayake (eds.), Service-Oriented Software System Engineering: Challenges and Practices (Chapter IV, pp. 68-87).  Hershey, PA: Idea Group Publishing. <<Copyright ©, all rights reserved>>

 

Abstract: This introduces the UniFrame approach to creating high quality computing systems from heterogeneous components distributed over a network.  It describes how this approach employs a unifying framework for specifying such systems to unite the concepts of  service-oriented architectures, component-based software engineering methodology and a mechanism for automatically finding components on a network in order to assemble a specified system.  The approach employs a formal specification language to define the components and form a basis for generating software to connect heterogeneous components.  It also provides a high level language for the system developer to use to validate a created system and estimate its quality of service empirically.

******************************************************************

with Huang, Z., Raje, R., Auguston, M., Bryant, B., Burt, C., Sun, C.  Unified Approach for System-Level Generative Programming.  in Proceedings of the 5th IEEE International Conference on Algorithms and Architecture for Parallel Processing (ICA3PP), 2002.

 

Abstract: Today's and the future's distributed software systems will certainly require combining heterogeneous software components that are geographically dispersed so that their realizations not only meet the functional requirements, but also satisfies the non-functional criteria such as the desired quality of services (QoS).  The Unified Approach (UA) incorporates the concepts of product line practice (PLP) and generative programming with the Unified Meta-component Model (UMM) to achieve automatic development, maximal reuse and seamless interoperation.  The creation of a software solution for a distributed computing system (DCS), using the UA has two levels, the component level and  the system level.  In this paper, the system-level generative programming of the UA is described.

******************************************************************

with Sun, C. , Raje, R., Auguston, M., Bryant, B., Burt, C., Huang, Z.  Composition  and Decomposition of Quality of Service Parameters in Distributed Component-Based Systems.  in Proceedings of the 5th IEEE International Conference on Algorithms and Architecture for Parallel Processing (ICA3PP), 2002.

 

Abstract: It is becoming increasingly acceptable that the component-based development is an effective, efficient and promising approach to develop distributed systems.  With components as the building blocks, it is expected that the quality of the end system can be predicted based on the qualities of components in the system.  UniFrame is one such framework that facilitates a seamless interoperation of heterogeneous distributed software components.  As a part of Uniframe, a catalog of quality of service (QoS) parameters has been created to provide a standard method for quantifying the QoS of software components.  In this paper, an approach for composition and decomposition of these QoS parameters is proposed.  A case study from the financial domain is indicated to validate this model.

******************************************************************

with Siram, N. N., Raje, R., Bryant, B.,  Burt, C, Auguston, M.  An Architecture for the UniFrame Resource Discovery Service.  in Proceedings of the 3rd International Workshop of Software Engineering and Middleware, 2002, Springer-Verlag Lecture Notes in Computer Science, Vol. 2596, 2003, pp. 20-35.<< Copyright© , All rights reserved>>

 

Abstract: Frequently, the software development for large-scale distributed systems requires combining components that adhere to different object models.  One solution for the integration of distributed and heterogeneous software components is the UniFrame approach.  It provides a comprehensive framework unifying existing and emerging distributed component models under a common meta-model that enables the discovery, interoperability, and collaboration of components via generative software techniques.  This paper presents the architecture for the resource discovery aspect of this framework, called the UniFrame Resource Discovery Service (URDS).  The proposed architecture addresses the following issues: a) dynamic discovery of heterogeneous components, and b) selection of components meeting the necessary requirements, including desired levels of QoS (Quality of Service).  This paper also compare the URDS architecture with other Resource Discovery Protocols, outlining the gaps that URDS is trying to bridge.

******************************************************************

with Burt, C., Bryant, B., Raje, R., Auguston, M.  Quality of Service Issues Related to Transforming Platform Independent Models to Platform Specific Models.  in Proceedings of the 6th IEEE International Enterprise Distributed Object Computing Conference, 2002.

******************************************************************

with Burt, C., Raje, R., Bryant, B., Auguston, M.  Quality of Service Standards for Model Driven Architecture.  in Proceedings of the SESEC Conference, 2002 in press.<< Copyright© , All rights reserved>>

 

Abstract: A number of middleware technologies have evolved over the last ten years to address specific business problems such as enabling process optimization via systems integration, rapid development of new applications, web enabling features for customers, and mechanization of supply chains.  Software architects increasingly utilize models to represent different viewpoints of a business solution.  Separation of concerns is a key characteristic of good software design.  In an effort to facilitate the design of business systems in a platform independent matter, the Object Management Group (OMG) is currently progressing the Model Driven Architecture (MDA) [1].  Model Driven architecture maintains a clean separation of Platform Independent Models (PIMs) that represent the domain from Platform Specific Models (PSMs) that expose details related to a middle ware technology.  In this way, a single PIM can be mapped to multiple implementation technologies (such as OMG CORBA©, Sum J2EE, Microsoft COM+, and W3C Web Services).  While all of the component-based technologies have established a concise means for describing functional contracts (the interface or services offered by a component in the architecture), non of these technologies have embraced architecture or a vocabulary for specifying non-functional Quality of Service (QoS) contracts.  Non-functional contracts are necessary to analyze the ability of a service to meet QoS constraints when used in a composition.  A component may, for example, guarantee a certain performance level (given a fixed set of constraints) or guarantee protection of features and/or information classified as a protected resource.  The UniFrame [2] research (which includes identification and progression of requisite standards activities) envisions a plug and play component environment where QoS contracts are part of a component description and middleware bridges and quality of service instrumentation are generated by component integration toolkits.  That is, business components that utilize diverse platform technologies may be easily integrated, and they will off both functional and non-functional service contracts.  A difficulty in progressing this work is the lack of a standard vocabulary for software component Quality of Service (QoS).  Following this work, syntax for expressing QoS in component models and the mappings that form the transformations from diverse viewpoints of a model must also be explored and standardized.  This research includes supporting and eparticipating in the progression of such standards.  This paper introduces a path for standards in the area of Quality of Service and discusses how this standardization would progress the goal of using commercial of the shelf (COTS) components in a heterogeneous system composition.

******************************************************************

with Bryant, B., Raje, R., Auguston, M., Burt, C.  Formal Specification of Generative Component assembly using Two-level Grammar.  in Proceedings  of the 14th International Conference on Software Engineering and Knowledge Engineering, 2002.

******************************************************************

with Bryant, B., Raje, R., Auguston, M., Burt, C.  A Generative Approach to Component Assembly Using the Unified Meta Model and Two-Level Grammar. 2001.

******************************************************************

with Raje, R., Bryant, B., Auguston, M. and Burt, C.  A Quality of Service-Based Framework for Creating Distributed Heterogeneous Software Components. Concurrency and Computation: Practice and Experience. 2002; 14, pp. 1-26.

<< Copyright©2002, John Wiley & Sons, All rights reserved>>

 

The abstract below is from a preprint.  Contact http://www.interscience.wiley.com/ for the published edition of the article.

 Abstract: Component-based software development offers a promising solution for taming the complexity found in today's distributed applications.  Today's and future distributed software systems will certainly require combining heterogeneous software components that are geographically dispersed.  For the successful deployment of such a software system, it is necessary that its realization, based on assembling heterogeneous components, not only meets the functional requirements, but also satisfies the non-functional criteria such as the desired QoS (quality of service).  In this paper, a framework based on the notions of a meta-component model, a generative domain model and QoS parameters is described.  A formal specification based on Two-Level Grammar is used to represent these notions in a tightly integrated way so that QoS becomes a part of the generative domain model.  A simple case study is described in the context of this framework.

******************************************************************

with Brahnmath, G., Raje, R., Bryant, B., Auguston, M., and Burt, C. A Quality of Service Catalog for Software Components.  in Proceedings of the Southeastern Software Engineering Conference, Huntsville, AL, 2002. in press.

<< Copyright© , All rights reserved>>

 

Abstract: Component-based Software Development is being recognized as the direction in which the software industry is headed.  With the proliferation of Commercial Off The Shelf (COTS) Components, this trend will continue to emerge as a preferred technique for developing distributed software systems encompassing heterogeneous components.  In order for this approach to result in software systems with a predictable quality, the COTS components utilized should in turn offer a guaranteed level of quality.  This calls for an objective paradigm for quantifying the quality of service of COTS components.  A Quality of Service (QoS) catalog, proposed here for software components, is a first step in quantifying the quality attributes.  This catalog is a critical component of the UniFrame project, which targets at unifying the existing and emerging distributed component models under a common meta-model for the purpose of enabling discovery, interoperability, and collaboration of components via generative programming techniques.

******************************************************************

with Raje, R., Bryant, B., Auguston, M., and Burt, C.  UniFrame: A Framework for Seamless Integration of Distributed, Heterogeneous Software Components.  in Proceedings of OMG Technical Meeting, Toronto, Canada, pp. 8-9, September, 2001.

******************************************************************
with Raje, R., Auguston, M., Bryant, B., and Burt, C. A Unified Approach to the Integration of Distributed Heterogeneous Software Components.  in Proceedings of the Monterey Workshop on Engineering Automation for Software Intensive System Integration, June 19-21, 2001, pp. 109-119. << Copyright© , All rights reserved>>

 

Abstract: Distributed systems are omnipresent these days. Creating efficient and robust software for such systems is a highly complex task. One possible approach to developing distributed software is based on the integration of heterogeneous software components that are scattered across many machines. In this paper, a comprehensive framework that will allow a seamless integration of distributed heterogeneous software components is proposed. This framework involves: a) a meta-model for components and associated hierarchical setup for indicating the contracts and constraints of the components, b) an automatic generation of glues and wrappers, based on a designer's specifications, for achieving interoperability, c) a formal mechanism for precisely describing the meta-model, and d) a formalization of quality of service (QoS) offered by each component and an ensemble of components. A case study from the domain of distributed information filtering is described in the context of this framework.

******************************************************************

with Chia, Eng-Hock IdeaQuest(TM), A Web-based Courseware for Teaching Computer-Supported Creativity, Innovative Problem-Solving, and Inventive Thinking: Novel Approaches to Using Computers in Education. Proceedings of the EDMEDIA '99 World Conference on Educational Multimedia, Hypermedia & Telecommunications, June, 1999, B. Collins and R. Oliver (eds.), pp. 1532-1533, Association for the Advancement of Computing in Education, Seattle, WA. << Copyright©AACE, All rights reserved>>

 

Abstract:   Many teaching packages devoted to creativity training have been developed since the 1950's. They are generally based on the conventional and popular view of creativity as divergent thinking, brainstorming and overcoming blocks and obstacles that inhibit creativity. (Divergent thinking refers to mental processes directed at finding new or fresh approaches to problems while brainstorming refers to thinking of as many solutions as possible to a particular problem.) However, analysis of real-world data, as well as controlled laboratory experiments, have called into question the effectiveness of these methods and have shown their serious inadequacy in promoting real-world creativity (see, for example, Finke, 1992; Weisberg, 1993; Jay & Perkins, 1997; Robinson & Stern, 1997). The IdeaQuest(TM) courseware is based on the newer concept of creativitiy as the exploratory and incremental design of ideas, as information processing and architecture (what the author calls 'infotecture'). In this view, the computer serves as a laboratory for prototyping ideas.

******************************************************************

Seven rules in a theory of consistency. in Design of Computing Systems: Social and Ergonomic Considerations, vol. 2 (M. J. Smith, G. Salvendy, R. J. Koubeck, eds.). Proceedings of the 7th International Conference on Human-Computer Interaction, 1997, pp. 715-718. << Copyright© All rights reserved >>

 

Abstract: Consistency in user interfaces has been somewhat of a holy grail. Everyone believes it is worth pursuing, but there is no agreement on what it is or when it is desireable. This is because, probably like the common cold, it is not one concept, but many. People debate about it, but because they shift unwittingly among the subtly interrelated concepts that compose it, conclusive definitions evade them.
    The objective of this work is to elucidate the concept of consistency and provide a logical foundation from which the user interface community can analyze it in whatever contexts it might arise. Better understanding will lead to more effective standards for applying it, and eventually, to its more appropriate use.
    People recognize that the concept comprises several levels. The disparities observed among consistency's various interpretations, however, indicate that this classification is inadequate to account for all of its many facets. It is more accurate to describe it as a family of concepts that are connected by relationships. A proper understanding of these subconcepts and relationships is essential to resolving the disagreements.
    Although popularly viewed as a collection of useful, logical tools, the discipline that is mathematics actually involves characterizing the relationships that define the structures of general systems. Thus, the concept of consistency has an inherently mathematical structure. But, what is it? The method that this work employs in analyzing consistency is to seek mathematical structures and relationships that match those found among its subconcepts. Executing this process is leading to a clearer understanding of what constitutes consistency. The mathematical characterizations found so far for some of its subconcepts provide a precise way of enunciating their interrelationships. This formal, logical structure supplies the cognitive engineer with tools for establishing standards for applying these concepts during interface design.
    The results obtained to date include the characterization of the higher levels of consistency as a family of functions. One group of these functions relates the set of the user's goals to the set of sentences in the language that the machine recognizes. A sentence typically consists of various user or machine activities. Another group relates these sentences to the computations that the machine is capable of performing. Whenever these functions deviate from being what are called "bijections", some recognised form of inconsistency is present. Restating these technical conditions as several guidelines enables the interface designer to apply them easily. For example, restrictions on the relationship between goal and sentence are:
        1] Each goal has a unique sentence that expresses it.
        2] One sentence is not used to express more than one goal.
        3] There is a goal for each sentence.
The first is necessary to avoid confusing the user by having more than one means to accomplish a single goal (lack of consistency). If the interface does not adhere to the second, the machine has no way to know from the sentence which goal is intended (inappropriate consistency). The third avoids having superfluous sentences. These rules insure that the relation between the goals and sentences is a bijection.
    Guidelines concerning the relationship between the sentences and the machine's computations that they invoke include:
        4] Not more than one sentence implies a particular computation.
        5] Each sentence implies a unique computation.
        6] There is a sentence for each computation.
Guideline 4 prevents assigning the same meaning to different sentences (lack of consistency). A given sentence should not cause the machine to do more than one computation (inappropriate consistency) or else there is no way to specify just one of them. This is the reason for 5. The last one insures that each possible computation has a means of expressing it. These rules imply that the relationship between the sentences and the computations is a bijection. Consequently, composing these two relationships creates a bijection between goals and computations.
    An additional guide is necessary to assure that this composed relationship is meaningful to the user:
        7] The computation that the interface associates with a given goal is the one that a knowledgeable user expects.
    In effect, if an interface provides distinct tasks for invoking the computations corresponding to what the user perceives as similar goals, the user experiences a lack of consistency. If it provides similar tasks for accomplishing dissimilar goals, the user experiences ambiguity, i.e. inappropriate use of consistency. It is inconsistent with expectations if it provides a computation other than what achieves the user's goal.
    Therefore, an interface deviates from properly employed consistency directly as the relationship between goal and computation that it implements deviates from these seven guidelines. The clearer understanding of the nature of the interface that such formally founded guidelines fosters will allow designers to create interfaces that support the user and machine more effectively.


*******************************************************************************

Transforming an HCI Model to a Software Design Model. International Journal of Software Engineering and Knowledge Engineering, Vol. 7, # 1, 1997. << Copyright© All rights reserved >>

 

Abstract: The software engineering and human factors communities are seeking ways to integrate their methodologies. This paper outlines an amplified, software engineering methodology that extends beyond requirements gathering to encompass human factors analyses. The methodology employs an object model that is uniform throughout the software project. It involves a procedure that transforms seamlessly a task action grammar model, from HCI theory, directly into a specification model based on user/machine dialog and, thence, into a software design model. The model's object-oriented structure makes it feasible to trace the effects of the user's needs throughout the amplified project life cycle to the final code. A case study documents evidence concerning how effectively the procedure supports the software engineering process. An examination of the extent of metamorphosis the model undergoes in the case study indicates that the transition through the amplified life history is well controlled; in particular, the transition from the software specification to the design model is more controlled than under traditional methodologies.

Keywords: Object-oriented models, human factors, scenario, use case, requirements specification, software analysis and design, HCI, software engineering process

The complete text is in the Postscript file seke1.ps in this directory for downloading and printing. << Copyright@ All rights reserved >>

*******************************************************************************

Object-oriented Analysis of Visual Computer-Human Interfaces. Journal of Visual Languages and Computing 3, 1992. << Copyright© All rights reserved >>

 

Abstract: This describes the construction of an object-oriented model of the mental and motor processes in which a person engages when working with a computer interface. It explains how the object-oriented methodology generates a model that is more suited to highly visual interfaces than pure, grammar based models. The model also preserves the essential properties of an extended task action grammar, but is more amenable to mathematical analysis. The paper discusses how the model represents various complexity and performance metrics of interface quality. As an example, it draws on the application of the methodology to the analysis of a visual interface to a system for performing mathematical computations.

*******************************************************************************

An Object-oriented Analysis Model of an Iconic Interface to MACSYMA. in Proceedings of the 2nd International Conference on Software Engineering and Knowledge Engineering, June, 1992. << Copyright© All rights reserved >>

 

Abstract: This describes the object-oriented analysis conceptual model (OOAM) of a highly visual interface to MACSYMA, which is an interactive, text-based system for performing symbolic, mathematical computations. The study shows how the prominent structural features of the OOAM permit the analyst to evaluate graphically and mathematically aspects of interface quality through various metrics. The model grows like O(n) with the number, n, of mathematical operators in the interface. It is particularly appropriate for analyzing interfaces that change over time or in which the visual aspects dominate the textual, or linguistic, ones.

 
*******************************************************************************