學術出版;;Publications
Permanent URI for this communityhdl:11536/1
收集所有交通大學研究人員與學生個人或團體所發表之各項學術著作,涵蓋期刊論文、教師專書、學位論文等項。;;Collections of Publications of NCTU Researchers and Students Like Journal Papers and Thesis.
Browse
30 results
Search Results
Item type:Item, Parallelizing a level 3 BLAS library for LAN-connected workstations(1996-10-10) ;Huang, KC ;Wang, FJ ;Wu, PC ;資訊工程學系Department of Computer ScienceLAN-connected workstations are a heterogeneous environment, where each workstation provides time-varying computing power, and thus dynamic load balancing mechanisms are necessary for parallel applications to run efficiently. Parallel basic linear algebra subprograms (BLAS) have recently shown promise as a means of taking advantage of parallel computing in solving scientific problems. Most existing parallel algorithms of BLAS are designed for conventional parallel computers; they do not take the particular characteristics of LAN-connected workstations into consideration. This paper presents a parallelizing method of Level 3 BLAS for LAN-connected workstations. The parallelizing method makes dynamic load balancing through column-blocking data distribution. The experiment results indicate that this dynamic load balancing mechanism really leads to a more efficient parallel level 3 BLAS for LAN-connected workstations. (C) 1996 Academic Press, Inc.Item type:Item, Constructing an integrated visual programming environment(1998-06-01) ;Hu, CH ;Wang, FJ ;資訊工程學系Department of Computer ScienceThis paper presents an object-oriented architecture, called the Model-View-Shape (MVS) architecture, for constructing an Integrated Visual Programming Environment (IVPE), whose constituent tools deal with (fine-grained) language semantics, as well as a mass of graphics-drawing activities. This architecture enforces a layered and loosely-coupled structure, so that the user-interface part of components may be more independent, maintainable, and reusable than those proposed in the original model-view-controller architecture. An MVS class hierarchy, systematically constructed using C++, can be reused and extended with new semantics to rapidly develop new tools for an existing IVPE, or even an IVPE supporting more than one language, The present editors developed can be used to construct programs by specifying the associated flow information in explicit (visual) or implicit (textual) ways, while the (incremental) flow analysers can help analyse incomplete program fragments to locate and inform the user of possible errors or anomalies during programming. (C) 1998 John Wiley & Sons, Ltd.Item type:Item, An inheritance flow model for class hierarchy analysis(1998-06-30) ;Chen, JL ;Wang, FJ ;資訊工程學系Department of Computer ScienceThis paper presents an inheritance flow model, which represents the inheritance relationships among classes as a flow graph. A flow operation is associated with each attribute and method in a class to denote the defined (redefined) or inherited member. An inherited member can be deemed as being handled by a sequence of how operations along a path in the flow graph. This model provides several analyses in a class hierarchy, such as implicit inherited member and polymorphic method invocation. These analyses may be applied in various fields of software engineering, such as static analysis, maintenance, and complexity measurement. (C) 1998 Elsevier Science B.V. All rights reserved.Item type:Item, A domain-independent software reuse framework based on a hierarchical thesaurus(1998-07-10) ;Liao, HC ;Chen, MF ;Wang, FJ ;資訊工程學系Department of Computer ScienceSoftware reuse is an effective way to improve software productivity and quality. Software libraries are getting bigger, while most of them, such as those for object-oriented languages, use Simple but somewhat ineffective classification methods. These libraries typically provide search aids for novices, but not for experts. They are not flexible enough to adequately serve users with different abilities. In this paper, a Software Reuse Framework (SRF) for overcoming these drawbacks is proposed. Based on a built-in hierarchical thesaurus, the classification process can be made semiautomatic. SRF is a domain-independent framework that can be adapted to various libraries. SRF also provides four search levels to serve users with different skill levels. Two sample SRF systems* are implemented, one for Smalltalk-80 and the other for MFC 4.0 (Microsoft(R) Foundation Class) libraries. (C) 1998 John Wiley & Sons, Ltd.Item type:Item, Two design patterns for data-parallel computation based on master-slave model(1999-05-28) ;Huang, KC ;Wang, FJ ;Tsai, JH ;資訊工程學系Department of Computer ScienceThis paper presents two design patterns useful for parallel computations of master-slave model. These patterns are concerned with task management and parallel and distributed data structures. They can be used to help addressing the issues of data partition and mapping, dynamic task allocation and management in parallel programming with the benefit of less programming efforts and better program structures. The patterns are described in object-oriented notation, accompanied with illustrative examples in C++. We also provide our experience in applying these patterns to two scientific simulation programs simulating Ising model and plasma physics respectively. Since master-slave model is a widely used parallel programming paradigm, the design patterns presented in this paper have large potential application in parallel computations. (C) 1999 Elsevier Science B.V. All rights reserved.Item type:Item, Towards a practical visual object-oriented programming environment: Desirable functionalities and their implementation(1999-07-01) ;Hu, CH ;Wang, FJ ;資訊科學與工程研究所Institute of Computer Science and EngineeringThe ultimate goal of a programming environment is to help simplify the software development process. For an object-oriented language, a visual (object-oriented) program ming environment (VOOPE) must at least satisfy four essential requirements to meet this goal: interactivity: integration, incrementality, and intelligence. In this study, object-oriented techniques were systematically applied to construct such a VOOPE. On the other hand, some characteristics of object-oriented languages, such as inheritance and polymorphism, may themselves be barriers to understanding, maintaining, and even constructing object-oriented programs. To solve, or at least alleviate, this problem, a language-based editing process has been designed and incorporated into our VOOPE. This process contains two key elements: syntax-directed editing facilities and an in-place editing assistant, which facilitate object-oriented program development by providing useful programming guidance and by reducing the number of potential programming errors. We have so far developed a window-based environment prototype using Visual C++ and the Microsoft Foundation Classes library.Item type:Item, Constructing flow-based tools with generative and compositional techniques(2000-04-01) ;Yang, JT ;Wang, FJ ;Chu, WC ;Hu, CH資訊科學與工程研究所In this paper, a model called object-oriented attribute grammar (OOAG), which combines both compositional and generative techniques, is presented to effectively construct flow-based tools that deal with fine-grained language semantics as well as a mass of graphics-drawing activities. OOAG, which consists of two interrelated parts: a model-view-shape (MVS) class framework and an AG++, an object-oriented extension to traditional AGs, is intended to preserve both advantages introduced by respective OO and AG models, such as rapid prototyping, reusability, extensibility, incrementality, and applicability. So far, a flow-based editor associated with two flow-analyzer prototypes, DU/UD tools and a program slicer, have been implemented using OOAG on the Windows environment. Our flow-based editor can be used to construct programs by specifying the associated flow information in a visual way, while (incremental) flow analyzers incorporated into the editor can help analyze incomplete program fragments to locate and inform the user of possible errors or anomalies during programming.Item type:Item, A project model for software development(2000-05-01) ;Liang, BS ;Chen, JN ;Wang, FJ ;資訊科學與工程研究所Institute of Computer Science and EngineeringUncertainty and dynamic changes in a software project cause iterations during development and the need for decision-making in planning and controlling a project. This paper presents a Software Project Review and Evaluation Model, SPREM, a superset of CPM/PERT which extends CPM/PERT's notation to four types of vertices (AA, AX, XA, and XX vertices) to express the non-deterministic and iterative behaviors of software engineering projects. Several behavioral properties of SPREM and analysis of them are discussed. For example, the enaction capability can be used to evaluate the possibility that a vertex will enact processes beforehand. Project managers can revise a SPREM graph to rescue dead vertices before project execution. Furthermore, enaction ordering allows project managers to calculate the dependency between processes to be enacted. This might help in computing important information such as critical paths among these processes.Item type:Item, Flow analysis of class relationships for object-oriented programs(2000-07-01) ;Chen, JL ;Wang, FJ ;資訊工程學系Department of Computer ScienceProgram analysis techniques have been widely applied in various fields of software engineering, such as debugging, testing, and proof of simple correctness properties. In object-oriented (OO) programs, inheritance, association, and aggregation relationships may introduce complicated dependencies concealed within classes that might obstruct program analysis. This paper proposes a class relationship flow models to provide analysis for inheritance, association, and aggregation of class relationships. The flow model consists of three flows, inheritance, association, and aggregation flows, corresponding to these relationships. A sequence of class relationships is represented as a flow path from one class to another. Along a flow path, each member within a class is associated with an operation, define or use, to represent whether its status is changed or referenced. Thereby, the concealed dependencies introduced by class relationships can be analyzed according to the flow operations. The analysis might be used as a technique for program understanding, anomaly detection, and program testing.Item type:Item, Constructing an object-oriented architecture for Web application testing(2002-01-01) ;Yang, JT ;Huang, JL ;Wang, FJ ;Chu, WC資訊工程學系The variety of existing web application frameworks has lead to the development of a wide range of Web applications for both the Internet and intranets. Web applications are constructed based on various frameworks ranging from simple HTML-based forms to complicated distributed-object computations based on Java and CORBA. Web software enables programmers to choose a proper framework for their own Web applications. The prevalence of Web-based applications has also led to the need to adapt software testing frameworks and tools for them, This study presents a software testing architecture that integrates several common but enhanced testing tools as a sub-architecture to fit a common Web application framework. The architecture reuses several software patterns and architectures from traditional testing environments. A Web application testing environment prototype is also constructed to demonstrate the feasibility of the proposed architecture.