Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Noah S. Prywes is active.

Publication


Featured researches published by Noah S. Prywes.


IEEE Transactions on Software Engineering | 1985

Synchronized Distributed Termination

Boleslaw K. Szymanski; Yuan Shi; Noah S. Prywes

An efficient decentralized algorithm for synchronized termination of a distributed computation is presented. It is assumed that distributed processes are connected via unidirectional channels into a strongly connected network, in which no central controller exists. The number of processes and the network configuration are not known a priori. The number of steps required to terminate distributed computation after all processes met their local termination conditions is proportional to the diameter D of the network (D + 1 steps).


principles of distributed computing | 1985

Terminating iterative solution of simultaneous equations in distributed message passing systems

Boleslaw K. Szymanski; Yuan Shi; Noah S. Prywes

An efficient algorithm for synchronized termination of iterative solution of simultaneous equations in a distributed message passing system is presented. The algorithm is based on an assumption that distributed processors are connected via unidirectional channels into a strongly connected network, in which no central controller exists. The number of processors and the network configuration are not known a priori. Simultaneous equations are widely used for modelling of large scale systems in science and engineering. In many applications, a modelled system is composed of local models highly interdependent on each other. In particular, a cooperative computation consists of an aggregate of local modules being developed and Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission. maintained by a number of organizationally and geographically dispersed groups [5]. Integrating local models into a global system on a single computer would require solving iteratively simultaneous equations from all the local models. It would result in a large sparse coefficient matrix and a system of equations which is inefficient to solve. Instead, a distributed solution can be used, where the dense clusters of variables in each local model are solved iteratively locally and the local solutions are communicated to other models repeatedly until global convergence of the communicated variables is attained. Distributed solution supports the geographical dispersal of specialists, the testing and integration with real life data, and finally the parallelism needed to complete computation in a reasonable time. Distributed solutions should allow for independent development of local models, their testing without linkage to other models and then experimentation with progressively growing numbers of models being connected together. To achieve that, the use of a very high level language MODEL [6] along with underlying compiler and configurator has been proposed [7]. The compiler generates programs for individual models from specifications independently developed by each local group of users. Based on simple, graph-oriented description of a network of models, the configurator 287


IEEE Computer | 1995

Transition to a legacy- and reuse-based software life cycle

Judith D. Ahrens; Noah S. Prywes

Augmenting domain engineering with legacy software reengineering can help an organization move into the software reuse mode. We present a generalized model of the software life-cycle that explicitly recognizes the critical contribution of legacy software to the attainment of software production from reusable software components. The model defines information products of the software life-cycle, denoted as states, leaving the choice of processes for moving between states open to various methodologies. Then we describe alternative methodologies for transitioning from current practices to the new software life-cycle. This includes evaluation criteria for enabling an informed decision concerning the selection of a transition methodology. Finally, the key to making the alternative transition methodologies feasible is the supporting automated environments. Our experience at integrating automated environments helps us to illustrate the transitions to, and operation within, the proposed software life-cycle. >


IEEE Transactions on Software Engineering | 1983

Compilation of Nonprocedural Specifications into Computer Programs

Noah S. Prywes; Amir Pnueli

The paper describes the compilation of a program specification, written in the very high level nonprocedural MODEL language, into an object, PL/1 or Cobol, procedural language program. Nonprocedural programming languages are descriptive and devoid of procedural controls. They are therefore easier to use and require less programming skills than procedural languages. The MODEL language is briefly presented and illustrated followed by a description of the compilation process. An important early phase in the compilation is the representation of the specification by a dependency graph, denoted as array graph, which expresses the data flow interdependencies between statements. Two classes of algorithms which utilize this graph are next described. The first class checks various completeness, nonambiguity, and consistency aspects of the specification. Upon detecting any problems, the system attempts some automatic correcting measures which are reported to the user, or alternately, when no corrections appear as reasonable, it reports the error and solicits a modification from the user. The second class of algorithms produces an intermediate design of an object program in a language independent form. Finally, PL/1 or Cobol code is generated.


Journal of Systems and Software | 1995

Software process reengineering: toward a new generation of CASE technology

Judith D. Ahrens; Noah S. Prywes; Evan D. Lock

Abstract Business process reengineering is generating considerable interest in the business community because of its demonstrated capacity to reduce costs and increase an organizations responsiveness to competitive challenges and opportunities. The software crisis, as evidence by escalating costs and sluggish responsiveness to changing requirements, is similar to the business problems now being addressed through the application of business process reengineering principles. This article applies three of these same principles to the software crisis: (1) the surfacing of tacit assumptions and an examination of them for error, obsolescence, or irrelevance; (2) a radical redefinition of processes; and (3) the use of technology as a process enabler. After applying these principles to the problems of software development, maintenance, and reengineering, we derived a radical redefinition of the software process. The capabilities of three integrated multitool CASE environments are proposed as an enabling technological infrastructure for the reengineered software process. These are the software specification, software engineering, and software reengineering environments. The reengineered software process and integrated environments are shown to leverage human resources from three sources: legacy software, domain architectures, and reuse libraries.


IEEE Transactions on Software Engineering | 1984

Use of Very High Level Languages and Program Generation by Management Professionals

Thomas T. Cheng; Evan D. Lock; Noah S. Prywes

The introduction of very high level languages (VHLL) and automatic program generation are expected to reduce significantly the needed programming skills and considerably increase software development productivity. The paper explores the hypothesis that the preferred mode of developing management systems will be for the management professional to directly specify, generate, and debug the needed software without involvement of professional programmers. The investigation is experimental, by having an accountant develop an accounting system, using the equational type MODEL VHLL and program generator, and by monitoring carefully the times that it takes to perform certain steps or debug certain types of errors. The investigation consisted of progressive development of an accounting system in three stages: first a general ledger, extended for inventory management, and concluding with a major modification to incorporate reporting for the effects of changing prices in accordance with Financial Accounting Standard 33 (FAS 33). In this way the work pattern in modifying and maintaining a system was investigated as well. The developer was an M.B.A. candidate majoring in accounting with a limited computer background who determined the requirements of the accounting system and used MODEL to generate the programs, along with their extensions and modifications. A description of the accounting system design is presented first. Next, a sample MODEL specification is discussed in order to communicate generally the style of specifying computations in MODEL. This sample is used also to demonstrate the incorporation of FAS 33.


IEEE Transactions on Software Engineering | 1987

Very High Level Concurrent Programming

Yuan Shi; Noah S. Prywes; Boleslaw K. Szymanski; Amir Pnueli

Concurrent systems are typically large and complex, requiring long, development time and much labor. They are, therefore, prime candidates for simplification and automation of the design and programming process. Their major application areas include real time systems, operating systems and cooperative computation. New applications are emerging with the trends towards wide usage of personal computers connected in a network and towards use of parallel processing in supercomputer architectures.


Science of Computer Programming | 1988

Efficient handling of data structures in definitional languages

Boleslaw K. Szymanski; Noah S. Prywes

Abstract Implementations of operations on general data structures in definitional languages often lead to excessive copying and storage requirements. To partially overcome this problem, users are given facilities to select efficient storage structures or to guide storage allocation. This contradicts the spirit of definitional languages, requiring the user to get involved with implementation details. This paper presents a method for automatically recognizing excessive copying and optimizing the storage for data structures. Based on analysis of data dependencies, the storage may be reduced from an entire structure to individual elements of the structure. The benefits are especially significant in incremental structures, where only a constant number of elements of a large data structure is modified in each operation. For incremental structures, copying of unchanged parts of the structure is avoided, and unnecessary iterations are eliminated, without involving the user in this consideration. The user is thus relieved of considering the inefficiencies inherent in specifications in definitional languages. The method is applicable to a variety of language processors and computer architectures. The proposed optimization method produces better results than those obtained by explicit storage references. The paper describes the implementation of the method in the compiler of the MODEL definitional language. First, criteria are presented for recognizing structures that may be optimized. Then, a transformation that removes iterations implied by the operations on incremental structures is described. The method is exemplified by its application to the non-recursive iteration computation of the Ackermanns function.


IEEE Transactions on Software Engineering | 1986

Real-time software life cycle with the model system

Jine S. Tseng; Boleslaw K. Szymanski; Yuan Shi; Noah S. Prywes

The use of an assertive specification language for real-time software development and maintenance is considered. The language is used for asserting the acts or relations inherent in the problem to be solved; this is in contrast to conventional programming languages, which are used to express the computer solution. Expressing a problem in Model consists of declaring array variables and defining their relationships through equations. This is different from conventional programming, which relates the problem in terms of computer operations. The language is supported by an automatic system which interacts with the user in soliciting missing definitions or correcting inconsistencies, and which translates the specification into a near-optimal computer solution. The main advantages of this approach are indicated. The use of Model in real-time software development and maintenance is reviewed. Differences from conventional programming are stressed through an example, which also illustrates the use of the three automatic components of the Model system.


systems man and cybernetics | 1984

Automatic program generation in distributed cooperative computation

Noah S. Prywes; Amir Pnueli

Describes the use of a very high-level equational language and distributed processing in a methodology for the development of large-scale systems in natural and social sciences, or engineering. The methodology denoted as cooperative computation, consists of dividing the labour among a number of organizationally and geographically dispersed groups, with each responsible for a respective local area, and the integration of the local areas into a global system. With an equational language, the user is able to express computations in terms of equations that are commonly used in science and engineering, without the detail required in programming computers. Object programs are then produced automatically through the use of a program generator and a configurator. The methodology is discussed primarily through an example, using the model language applied in environment of Project Link.

Collaboration


Dive into the Noah S. Prywes's collaboration.

Top Co-Authors

Avatar

Boleslaw K. Szymanski

Rensselaer Polytechnic Institute

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Insup Lee

University of Pennsylvania

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

David Lefkovitz

University of Pennsylvania

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Allen L. Lang

University of Pennsylvania

View shared research outputs
Top Co-Authors

Avatar

Barry Zimmerman

University of Pennsylvania

View shared research outputs
Top Co-Authors

Avatar

D. Lefkovitz

University of Pennsylvania

View shared research outputs
Researchain Logo
Decentralizing Knowledge