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.
*******************************************************************************