By Topic

Computer Software and Applications Conference, 1993. COMPSAC 93. Proceedings., Seventeenth Annual International

Date 1-5 Nov. 1993

Filter Results

Displaying Results 1 - 25 of 59
  • Proceedings of 1993 IEEE 17th International Computer Software and Applications Conference COMPSAC '93

    Save to Project icon | Request Permissions | PDF file iconPDF (22 KB)  
    Freely Available from IEEE
  • SD/sup 2/-A system for distributed software development

    Page(s): 131 - 137
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (474 KB)  

    We design and implementation a system for distributed software development. The system helps the program designer by first extracting the program model (in Petri nets). The system then monitors the program run and collects program trace into a database. The monitor also interacts with the network management system for resource allocation. Program debugging is achieved by replaying the trace data, both textually and graphically, in coordination with the program model.<> View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A method of drawing tree-structured program diagrams on the Euclidian plane

    Page(s): 193 - 201
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (632 KB)  

    A tree-structured diagram is considered as a tree in which each node has four attributes: (1) width, (2) depth, (3) horizontal coordinate and (4) vertical coordinate. The placing problem of the tree-structured diagram satisfying certain given eumorphous conditions is called a tidy drawing problem. The eumorphous conditions of tree-structured diagrams, oriented to program diagrams, have been formulated by modifying the eumorphous conditions of trees. formalized eumorphous conditions and corresponding unformalized methods of placement on the integral lattice were developed by Ogura etal. (1992). In this paper, we introduce new eumorphous conditions on the Euclidian plane. We also formulate O(n)-time and O(n2)-time practical algorithms to provide placements which satisfy new eumorphous conditions by modifying the former conditions on the integral lattice As a result, we have new relationships among the eurmorphous conditions View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Adaptive algorithm selection method (AASM) for dynamic software tuning

    Page(s): 248 - 256
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (528 KB)  

    This paper presents a new approach to dynamic software tuning called the adaptive algorithm selection method (AASM). The AASM is built into the calling sequence of a library. When the library is called, the AASM is activated. The AASM selects and executes the optimum algorithm from registered algorithms in a library, based on data and machine type. As a result, the software is automatically tuned and the execution time is shortened. The relation between the data and the best algorithm for a given machine is learned by a neural network from the results of performance tests of the registered algorithms. We experimented on a multi-strings search problem with the AASM on the following machines: the CRAY X-MP/216, FACOM M 1800/30, and SUN Sparc Station 2. From these experiments we demonstrated that the AASM is able to minimize the execution time View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Developmental testing of abstract data types

    Page(s): 49 - 55
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (568 KB)  

    Abstract data types (ADTs) represent the fundamental building blocks of object-oriented software development. Consequently, a number of different testing techniques for ADT modules have been proposed in the literature. Most of these techniques at least tacitly assume that the ADT module under test has been completely implemented. In this paper, we present a class of testing techniques that are easily applicable to partially completed ADT modules, thus supporting an incremental approach to ADT module development. We then present a testing tool that automatically generates test cases for partially completed ADTs with very little overhead. As such, our testing techniques may be repeatedly applied, with relatively little expense, to generate new test cases as the ADT module increases in size View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Software process assessment and improvement using production models

    Page(s): 34 - 40
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (504 KB)  

    With the advent of process assessment and process improvement as key objectives for many software development organizations, it has become important to provide viable mechanisms to do so. This paper suggests to use production models paired with software metrics that quantify key drivers of productivity. We also show capabilities of production models with two examples. Production models must be used with proper parameterization to be successful. This may mean a new look at which metrics are helpful for process assessment View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Entity behaviour descriptions-A specification model for communicating entities

    Page(s): 2 - 10
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (692 KB)  

    This paper presents the Entity Behavior Description (EBD) modelling technique for specifying the behavioral requirements of a set of communicating entities in a concurrent system. EBDs are finite state machines which describe the abstract behaviour of an entity. This abstract behavior is defined as the combination of the application-specific behavior, and the semantics of the communications. EBDs are given formal operational semantics which explicitly separate these two behavioral components; and, as such, are a fundamental component of a design process which emphasizes the strong traceability of behavioral requirements in a design View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A practical and space efficient scheme for keeping source location in parse trees

    Page(s): 374 - 379
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (352 KB)  

    Many CASE tools use graphical notations to represent program source code, which provide an effective visual aid for program analysis. In such systems, it is important that facilities exist for tracing back to source code from, say, a node in a control-flow graph. We describe a scheme by which source code location information is kept with parse trees. The most attractive feature of this scheme is that it requires minimal amount of storage space and it is very simple to implement, particularly well suited for an implementation where an LALR parser generator (e.g., YACC) is used View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Object prototyping: Concept and specification language

    Page(s): 209 - 215
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (696 KB)  

    Object-oriented (OO) database systems are becoming popular for CAD, VLSI, and CASE applications. One of the reasons is the support of prototyping through inheritance and/or scheme evolution. In this paper, we propose another rapid prototyping technique: object prototyping. It assumes that a database schema is fixed and rapid prototyping is achieved by applying alternative values into attributes of an object. This is useful especially for design applications in which determining a design object's properties is not straightforward. We design a specification language based on the what-for-if construct for modeling the object prototyping. This specification language can (1) help the designer to simulate alternative design parameters to find out the optimal design parameters, (2) reduce the need for writing database programs, (3) support the development and construction of complex applications on top of the database, and (4) test the functionality and performance of design objects View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Maintenance support needs for object-oriented software

    Page(s): 63 - 69
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (584 KB)  

    The object-oriented (OO) programming paradigm for developing software systems has become more mainstream in the past several years. Existing research into the use of the OO paradigm is heavily biased toward front-end problems: design, programming languages, and development environments. Lost in this has been support for maintenance of OO system, yet maintenance is 80% of the effort for successful software systems. This paper focuses on software tools that support and enhance the software maintenance effort for OO systems. As the industry matures in its use of OO concepts, systems will move along a spectrum of object-oriented-ness, from non-OO systems at one end to fully OO systems at the other. Each end of the spectrum has different maintenance and tools needs View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • An integrated data structure with multiple access paths for database and its performance

    Page(s): 241 - 247
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (608 KB)  

    An integrated data structure is presented in this paper which offers multiple access paths for processing different types of queries efficiently. Our approach is to fuse those data structures which offer efficient access path of a particular type. To show the feasibility of our scheme we fused the B+-tree, the grid file and extendible hashing, using a proper interface. We implemented and measured its performance through simulation modeling. Our results show that the integrated data structure does improve concurrency and offers a higher throughput for a variety of transaction processing workloads. We argue that our scheme is different than creating secondary indexes for improving concurrency View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Degrees of consciousness for reuse of software in practice: Maintainability, balance, standardization

    Page(s): 107 - 114
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (656 KB)  

    The following paper deals with a model for reuse of software providing different levels of reuse intensity. The model is designed for industrial use based on experiences from consulting a large inhouse developer (administrative software). It is drawn from state-of-the-art suggestions in reuse research as well as from typical constraints of time and costs in a less ideal development scenario. The model can be taken as a receipt for reuse in practice as it provides three different levels of reuse intensities/investments, and thus returns three different levels of reuse maturity. A basic level of reuse maturity in practice is to achieve maintainability: Many, especially older, programs turn out to be widely undocumented; often requirements and/or abstract design are missing, the programs do not meet basic criteria of maintainability. A medium level of reuse maturity is represented by balance within similar projects: A well designed and therefore maintainable software system contains system-specific and general components. We define a group of software systems as balanced, if there is a clear top-down structure from the general to the specific in documents concerning analysis, design, code and test. A new but similar system can be designed reusing upper level components and adapting lower level ones. A top-level reuse maturity in practice affords several technical and organizational efforts. We favor the term reuse culture. The design of a new project goes along with the use of repositories for all phases of development. Making a reuse culture work needs developing, providing and enforcing of standards. On the technical level this requires the use of quality assurance methodology, on the organizational level this includes a rather precise project information flow model. The roles for a reuse culture are defined View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Secure group communication protocol for distributed systems

    Page(s): 159 - 165
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (580 KB)  

    In distributed applications like groupware, group communication among multiple entities is required. The local area networks (LANs) and radio networks provide broadcast communication at the media access control (MAC) layer, that is, every entity can receive every protocol data unit (PDU) transmitted in the network. Group communication among multiple entities can be easily realized by these networks. One problem in the broadcast network is how to provide secure communication for the group. In this paper, we discuss how to provide secure group communication in the presence of attacks by malicious entities. The protocol is based on the distributed control scheme by using less-secure broadcast networks. A group of entities is named a cluster. By the protocol, only and all the entities in the cluster can agree on a same secret key by exchanging the nonce enciphered by the public key. A subset of the cluster may require such secure communication that the other entities in the cluster cannot join the communication. In this paper, we discuss how to establish the secure subcluster communication in the cluster View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • System dependence graph construction for recursive programs

    Page(s): 414 - 420
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (564 KB)  

    In a previous paper we demonstrated that a parse-tree-based system dependence graph (SDG) provides us with smaller and therefore more precise slices than a statement-based SDG. Furthermore, we described extensions to the SDG that were made to handle particular constructs found in ANSI C. In this paper, we describe a new method for the calculation of transitive dependences (in the presence of recursion) and therefore build a SDG that does not require calculation of the GMOD and GREF sets. Furthermore, this method does not require construction of a linkage grammar and its corresponding subordinate characteristic graphs. Additionally, we illustrate the versatility of the SDG as an internal program representation by briefly presenting a tool that we have developed that can perform interprocedural slicing, dicing, and ripple analysis in addition to other software engineering activities on programs written in a subset of ANSI C View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Two-level processor scheduling for multiprogrammed NUMA multiprocessors

    Page(s): 343 - 351
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (776 KB)  

    Non-uniform memory access multiprocessors have potential gains for achieving high performance. These machines are frequently used as computation servers with multiple parallel processes (we use this word instead of jobs) executing at the same time. In such environments, the efficiency of a parallel process can be significantly affected by the processor scheduling strategy. LA two-level scheduling strategy, which is a kind of space-multiplexing scheduling strategy, is a promising one for large-scale multiprocessors. This paper describes the structure and interface of the two-level scheduling strategy. We also propose basic alternatives in this strategy: as alternatives of handling free processors, (1) running-process-first scheme and (2) waiting-process-first scheme; as alternatives of handling idle processors, (1) idle-processor-hold scheme and (2) idle-processor-release scheme. These alternatives are examined through simulation experiments View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Specification slicing in formal methods of software development

    Page(s): 313 - 319
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (396 KB)  

    Specifications are important in software development because a large percentage of the errors at implementation and test phases are traceable to a lack of precision of the specifications. Formal methods are studied and applied to produce clear specifications and argue about them rigorously. As formal methods may even increase the ratio of specification phase in the software life-cycle, it is necessary to be efficient in debugging, modification, and reuse of specifications to reduce cost of the whole software development process. In a large scale specification in particular, parts extracted from the specification are useful. We introduce here a specification slicing that supports debugging, modification and reuse of specifications. In this paper, we define specification slice as a part of a specification that defines or restricts values of a particular variable used in the specification. Attention is also directed to applications of specification slicing and support tools View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Z meets Haskell: A case study

    Page(s): 320 - 326
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (556 KB)  

    Z is a popular specification language which has also been used as a design tool, although much less frequently. Haskell is a programming language that was recently developed to serve as a standard for non-strict, purely functional languages. Although functional languages have proved to be excellent prototyping tools, Haskell was designed as a general purpose language which could be employed to build large applications. In this paper, we show that the formal language Z is an effective design tool when a software system is implemented in a functional language. We trace the development of a simple system from its beginning specification written in Z to its final implementation as a Haskell program. The case study is based on a specification, the class manager's assistant, found in the literature View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Coordination of software-development activities among sites that are geographically separated

    Page(s): 70 - 75
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (440 KB)  

    The Department of Defense is sponsoring development of a centralized, integrated database, which will be a repository of international surface cargo movement data. Scheduled for implementation in early 1994, the system will include a relational database management system, processing modules, and complex communication components. Four geographically separated sites are involved with development. Design and development of a major computer system is never simple, but when design and development occur at multiple sites, the problems are compounded, especially when the timeframe for project completion is extremely tight. Issues such as identical development platforms and communications strategies must be addressed. A design plan must be strictly followed to ensure consistency and to coordinate integration of modules developed at different sites View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Process dependence net of distributed programs and its applications in development of distributed systems

    Page(s): 231 - 240
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (796 KB)  

    In addition to the usual control and data dependences proposed and studied for sequential and centralized programs, this paper introduces three new types of primary program dependences in concurrent and distributed programs, named the selection dependence, synchronization dependence, and communication dependence, and a new program representation for concurrent and distributed programs, named the process dependence net (PDN), which is an arc-classified digraph to explicitly represent the five types of primary program dependences in the programs. The paper also shows some applications of the representation View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • An integrated environment for software reliability modeling

    Page(s): 395 - 401
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (496 KB)  

    This paper introduces an integrated environment for software reliability modeling. The environment consists of three major components: (1) a software reliability modeling tool SMERFS adapted to fit our development environment; (2) a general data analysis environment in S-PLUS customized for software reliability modeling; and (3) some supporting programs written in C and AWK. This environment has been successfully used in the IBM Programming Systems Toronto Lab View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Tool integration frameworks-Facts and fiction

    Page(s): 115 - 116
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (124 KB)  

    Tool integration frameworks are gaining popularity as a means to provide integrated support for activities across the software development life cycle. Framework-based integrations leverage best-in-class tools and use vendor-neutral interfaces and mechanisms to support relationships between individual tools. This panel brings together framework providers, tool providers, and integrators/end users to provide a snapshot of the state of the art and practice in tool integration frameworks and framework-based integrations View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A reduced incremental ECFSM-based protocol verification

    Page(s): 166 - 172
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (532 KB)  

    The extended communication finite state machine (ECFSM) model, which belongs to the state transition model, has been used to formally specify protocols with context variables and predicates. Global state reachability analysis is one of the most straight-forward ways to verify communication protocols specified in the state transition model. Many CFSM-based global state reduction techniques have been proposed to reduce the complexity of global state reachability analysis. However, these reduction techniques cannot be directly applied to ISO's Estelle and CCITT's SDL, which are ECFSM-based formal description techniques (FDTs)-based protocol verification systems. Based on Itoh and Ichikawa's (1983) CFSM-based, Chu and Liu's (1989) ECFSM-based reduction techniques, and Huang et al.'s (1990) CFSM-based incremental verification technique, this paper proposes a protocol verification technique for ECFSM-based n-entity protocols. In this way, the integrated reduced incremental verification technique can be directly applied to Estelle or SDL -based protocol verification systems View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A framework for modelling evolving requirements

    Page(s): 83 - 89
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (616 KB)  

    The most crucial aspect of software engineering is the gathering of requirements. Increasing the amount of time and improving the quality of effort expended at this stage will lead to fewer and more manageable problems later on in the development life-cycle. The purpose of this paper is to highlight one of the most crucial problems that afflict user organizations when engaging in IT systems: the problem that the requirements for the system may change and evolve during the construction of the system. What we propose in this paper is a framework in which evolving and emerging requirements can be dealt with in an iterative manner within a method constructed upon a user-centered design philosophy. This paper is a presentation of recent developments made in the ORDIT project which was reported on last year View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Fault-tolerant distributed deadlock detection/resolution

    Page(s): 224 - 230
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (608 KB)  

    In an unreliable distributed system, faulty processors may prevent a deadlock detection algorithm from properly detecting deadlocks. However, few of the algorithms proposed in the literature address the issue of handling process failures in a distributed system. This paper proposes a fault-tolerant distributed deadlock detection algorithm which integrates a priority-based probe algorithm with a PMC-based diagnosis model. This algorithm detects deadlock cycles as well as identifies process failures under a bounded number of failures in a deadlock cycle by using extended probe messages that contain additional information about faulty processors View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Parallel software engineering with PARSE

    Page(s): 124 - 130
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (576 KB)  

    The aims of the PARSE methodology are described, and the process graph design notation is summarised. Process graphs are a new graphical notation for describing systems comprising a collection of parallel processes in a language- and architecture-independent fashion. Further, process graph designs can be mechanically transformed into Petri nets to give a more detailed, executable design specification. Some simple process graphs and their corresponding Petri nets are described in order to demonstrate this transformation process. A more extensive example then illustrates the initial stages of the design process in practice View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.