The Experts below are selected from a list of 327 Experts worldwide ranked by ideXlab platform

J. B. Dennis - One of the best experts on this subject based on the ideXlab platform.

  • Principles to Support Modular Software Construction
    Journal of Computer Science and Technology, 2017
    Co-Authors: J. B. Dennis
    Abstract:

    The Construction of large Software systems is always achieved through assembly of independently written components — program modules. For these Software components to work together, they must share a common set of data types and principles for representing structured data such as arrays of values and files. This common set of tools for creating and operating on data objects is provided by the infrastructure of the computer system: the hardware, operating system and runtime code. Because the nature and properties of these tools are crucial for correct operation of Software components and their inter-operation, it is essential to have a precise specification that may be used for verifying correctness of application Software on one hand, and to verify correctness of system behavior on the other. We call such a specification a program execution model ( PXM ). It is evident that the properties of the PXM implemented by a computer system can have serious impact on the ability of application programmers to practice modular Software Construction. This paper discusses the concept of program execution models and presents a set of principles that a PXM must satisfy to provide a sound basis for modular Software Construction. Because parallel program execution on computer systems with many processing units is an essential part of contemporary computing environments, the expression of parallelism and modular Software Construction using components involving parallel operations is included in this treatment. The conclusion is that it is possible to build computer systems that implement a PXM within which any parallel program may be used, unmodified, as a component for building more substantial parallel programs.

  • A parallel program execution model supporting modular Software Construction
    Proceedings - 3rd Working Conference on Massively Parallel Programming Models MPPM 1997, 1997
    Co-Authors: J. B. Dennis
    Abstract:

    A watershed is near in the architecture of computer systems. There is overwhelming demand for systems that support a universal format for computer programs and Software components so users may benefit from their use on a wide variety of computing platforms. At present this demand is being met by commodity microprocessors together with standard operating system interfaces. However current systems do not offer a standard API (application program interface) for parallel programming, and the popular interfaces for parallel computing violate essential principles of modular or component-based Software Construction. Moreover microprocessor architecture is reaching the limit of what can be done usefully within the framework of superscalar and VLIW processor models. The next step is to put several processors (or the equivalent) on a single chip. This paper presents a set of principles for modular Software Construction and describes a program execution model based on functional programming that satisfies the set of principles. The implications of the principles for computer system architecture are discussed together with a sketch of the architecture of a multithread processing chip which promises to provide efficient execution of parallel computations while providing a sound base for modular Software Construction

  • IEEE PACT - General parallel computation can be performed with a cycle-free heap
    Proceedings. 1998 International Conference on Parallel Architectures and Compilation Techniques (Cat. No.98EX192), 1
    Co-Authors: J. B. Dennis
    Abstract:

    We argue that a powerful and general programming model for parallel computation exists that honors the principles of modular Software Construction, but disallows the formation of heap cycles. We believe this cycle-free Frame and Heap model can be used as the basis for a new species of computer systems that satisfies all principles of modular Software Construction and offers performance and programmability beyond what is possible within the limitations of today's computer system technology.

Rami R Razouk - One of the best experts on this subject based on the ideXlab platform.

  • using weaves for Software Construction and analysis
    International Conference on Software Engineering, 1991
    Co-Authors: Michael M Gorlick, Rami R Razouk
    Abstract:

    The authors discuss the architectural features of weaves, their implementation, and their use in a variety of applications. Weaves are networks of concurrently executing tool fragments that communicate by passing objects. Weaves are distinguished from other dataflow styles by their emphasis on instrumentation, continuous observability, and dynamic rearrangement: basic low-overhead instrumentation is inserted automatically, executing weaves can be observed at any time by means of sophisticated analysis agents, without degrading the performance of the weave, and weaves can be dynamically snipped and spliced without interrupting the data flow. >

  • ICSE - Using weaves for Software Construction and analysis
    [1991 Proceedings] 13th International Conference on Software Engineering, 1
    Co-Authors: Michael M Gorlick, Rami R Razouk
    Abstract:

    The authors discuss the architectural features of weaves, their implementation, and their use in a variety of applications. Weaves are networks of concurrently executing tool fragments that communicate by passing objects. Weaves are distinguished from other dataflow styles by their emphasis on instrumentation, continuous observability, and dynamic rearrangement: basic low-overhead instrumentation is inserted automatically, executing weaves can be observed at any time by means of sophisticated analysis agents, without degrading the performance of the weave, and weaves can be dynamically snipped and spliced without interrupting the data flow. >

Benoit Baudry - One of the best experts on this subject based on the ideXlab platform.

  • Question-learn-test-feedback pattern to test emerging Software Construction paradigms
    2010
    Co-Authors: Benoit Baudry
    Abstract:

    This habilitation introduces the question-learn-test-feedback pattern that resulted from a series of investigations in the domains of Software testing and modular Software Construction. The contributions to these fields are of various natures, but are all fundamentally related through two major assumptions: Software Construction paradigms have to constantly evolve in order to deal with the increasingly complex requirements that Software-intensive systems have to meet; a tester's perspective can support this evolution through the development of effective testing techniques and new empirical knowledge about these paradigms. Abstraction, modularity and separation of concerns have been advocated as key factors for rigorous Software engineering for a long time. These principles have been incarnated by various Software Construction paradigms such as object-oriented programming and design, model-driven development and aspect-oriented modeling. These paradigms evolve in order to deal with the increasing number of heterogeneous requirements, the large number of variations and the need for adaptation that Software-intensive systems have to integrate. The work presented here is about the integration of effective testing techniques in these paradigms and how this led us towards a more precise understanding of these paradigms. A major discovery in our work is that we could follow a systematic pattern when investigating these paradigms to integrate error detection capabilities. First, we have to question these paradigms about the new assumptions they introduce on Software systems. When answering these questions we can can perform the following actions: learn through rigorous evaluation of hypotheses about these paradigms; test Software systems developed in these new paradigms; provide feedback to the paradigms in the form of new Construction techniques that improve testability. We capture these four facets for the investigation of Software Construction paradigms in the question-learn-test-feedback pattern (QLTF). This habilitation reports on investigations in three Software Construction techniques: object-oriented programming and design, aspect-oriented programming, model transformations. Each investigation is synthesized around the question-learn-test-feedback pattern.

  • Question-learn-test-feedback pattern to test emerging Software Construction paradigms
    2010
    Co-Authors: Benoit Baudry
    Abstract:

    This habilitation introduces the question-learn-test-feedback pattern that resulted from a series of investigations in the domains of Software testing and modular Software Construction. The contributions to these fields are of various natures, but are all fundamentally related through two major assumptions: Software Construction paradigms have to constantly evolve in order to deal with the increasingly complex requirements that Software-intensive systems have to meet; a tester's perspective can support this evolution through the development of effective testing techniques and new empirical knowledge about these paradigms. Abstraction, modularity and separation of concerns have been advocated as key factors for rigorous Software engineering for a long time. These principles have been incarnated by various Software Construction paradigms such as object-oriented programming and design, model-driven development and aspect-oriented modeling. These paradigms evolve in order to deal with the increasing number of heterogeneous requirements, the large number of variations and the need for adaptation that Software-intensive systems have to integrate. The work presented here is about the integration of effective testing techniques in these paradigms and how this led us towards a more precise understanding of these paradigms. A major discovery in our work is that we could follow a systematic pattern when investigating these paradigms to integrate error detection capabilities. First, we have to question these paradigms about the new assumptions they introduce on Software systems. When answering these questions we can can perform the following actions: learn through rigorous evaluation of hypotheses about these paradigms; test Software systems developed in these new paradigms; provide feedback to the paradigms in the form of new Construction techniques that improve testability. We capture these four facets for the investigation of Software Construction paradigms in the question-learn-test-feedback pattern (QLTF). This habilitation reports on investigations in three Software Construction techniques: object-oriented programming and design, aspect-oriented programming, model transformations. Each investigation is synthesized around the question-learn-test-feedback pattern.

Michael M Gorlick - One of the best experts on this subject based on the ideXlab platform.

  • using weaves for Software Construction and analysis
    International Conference on Software Engineering, 1991
    Co-Authors: Michael M Gorlick, Rami R Razouk
    Abstract:

    The authors discuss the architectural features of weaves, their implementation, and their use in a variety of applications. Weaves are networks of concurrently executing tool fragments that communicate by passing objects. Weaves are distinguished from other dataflow styles by their emphasis on instrumentation, continuous observability, and dynamic rearrangement: basic low-overhead instrumentation is inserted automatically, executing weaves can be observed at any time by means of sophisticated analysis agents, without degrading the performance of the weave, and weaves can be dynamically snipped and spliced without interrupting the data flow. >

  • ICSE - Using weaves for Software Construction and analysis
    [1991 Proceedings] 13th International Conference on Software Engineering, 1
    Co-Authors: Michael M Gorlick, Rami R Razouk
    Abstract:

    The authors discuss the architectural features of weaves, their implementation, and their use in a variety of applications. Weaves are networks of concurrently executing tool fragments that communicate by passing objects. Weaves are distinguished from other dataflow styles by their emphasis on instrumentation, continuous observability, and dynamic rearrangement: basic low-overhead instrumentation is inserted automatically, executing weaves can be observed at any time by means of sophisticated analysis agents, without degrading the performance of the weave, and weaves can be dynamically snipped and spliced without interrupting the data flow. >

Huaikou Miao - One of the best experts on this subject based on the ideXlab platform.

  • a specification based Software Construction framework for reuse
    International Conference on Formal Engineering Methods, 2002
    Co-Authors: Huaikou Miao
    Abstract:

    Software reuse includes low-level components reuse, high-level components reuse and system architecture reuse. High-level components reuse and Software architecture reuse are still limited to some domain specific models, while low-level components reuse is constrained by machine's retrieve ability. This paper proposes a mechanism that builds Software in three levels, namely Software system, high-level components and low-level components. Each level has a unique structure and organization manner. The focus of the paper is on the Construction of high-level components and their matching and composition approaches. Design pattern is proposed for building generic high-level components with large number of alternatives. Once a pattern model of high-level component is constructed, it can be directly used or generalized. Design space incorporated with formal specification technology is introduced to not only precisely describe the relationship between high-level components but also easily analyze components matching and composing. The method is illustrated with a debugger example.

  • ICFEM - A Specification-Based Software Construction Framework for Reuse
    Formal Methods and Software Engineering, 2002
    Co-Authors: Jing Liu, Huaikou Miao, Xiaolei Gao
    Abstract:

    Software reuse includes low-level components reuse, high-level components reuse and system architecture reuse. High-level components reuse and Software architecture reuse are still limited to some domain specific models, while low-level components reuse is constrained by machine's retrieve ability. This paper proposes a mechanism that builds Software in three levels, namely Software system, high-level components and low-level components. Each level has a unique structure and organization manner. The focus of the paper is on the Construction of high-level components and their matching and composition approaches. Design pattern is proposed for building generic high-level components with large number of alternatives. Once a pattern model of high-level component is constructed, it can be directly used or generalized. Design space incorporated with formal specification technology is introduced to not only precisely describe the relationship between high-level components but also easily analyze components matching and composing. The method is illustrated with a debugger example.