Results 1 - 10
of
16
Software Architecture Design: Evaluation and Transformation
- In 1999 IEEE Engineering of Computer Based Systems Symposium. IEEE Computer Based Systems
, 1999
"... Since the architecture of a software system constrains the non-functional requirements, the decisions taken during architectural design have a large impact in the resulting system. An architectural design method is presented that employs iterative evaluation and transformation of the software archit ..."
Abstract
-
Cited by 39 (7 self)
- Add to MetaCart
Since the architecture of a software system constrains the non-functional requirements, the decisions taken during architectural design have a large impact in the resulting system. An architectural design method is presented that employs iterative evaluation and transformation of the software architecture in order to satisfy the nonfunctional requirements (NFRs). Architecture evaluation is performed by using scenarios, simulation, mathematical modelling and reasoning. The architecture can be transformed by imposing an architectural style, imposing an architectural pattern, using a design pattern, converting an NFR to functionality and by distributing NFRs. The method has, in various forms, been applied in several industrial projects. Keywords Software architecture design, non-functional
Formal Methods: The Very Idea -- Some Thoughts About Why They Work When They Work
"... The paper defines formal methods (FMs) and describes economic issues involved in their application. From these considerations and the concepts implicit in “No Silver Bullet”, it becomes clear that FMs are best applied during requirements engineering. A explanation of why FMs work when they work is o ..."
Abstract
-
Cited by 18 (2 self)
- Add to MetaCart
The paper defines formal methods (FMs) and describes economic issues involved in their application. From these considerations and the concepts implicit in “No Silver Bullet”, it becomes clear that FMs are best applied during requirements engineering. A explanation of why FMs work when they work is offered and it is suggested that FMs help the most when the applier is most ignorant about the problem domain.
Principled Strength Reduction
- Algorithmic Languages and Calculi
, 1996
"... This paper presents a principled approach for optimizing iterative (or recursive) programs. The approach formulates a loop body as a function f and a change operation \Phi, incrementalizes f with respect to \Phi, and adopts an incrementalized loop body to form a new loop that is more efficient. Thre ..."
Abstract
-
Cited by 10 (9 self)
- Add to MetaCart
This paper presents a principled approach for optimizing iterative (or recursive) programs. The approach formulates a loop body as a function f and a change operation \Phi, incrementalizes f with respect to \Phi, and adopts an incrementalized loop body to form a new loop that is more efficient. Three general optimizations are performed as part of the adoption; they systematically handle initializations, termination conditions, and final return values on exits of loops. These optimizations are either omitted, or done in implicit, limited, or ad hoc ways in previous methods. The new approach generalizes classical loop optimization techniques, notably strength reduction, in optimizing compilers, and it unifies and systematizes various optimization strategies in transformational programming. Such principled strength reduction performs drastic program efficiency improvement via incrementalization and appreciably reduces code size via associated optimizations. We give examples where this app...
Superposition: Composition vs Refinement of Non-deterministic, Action-Based Systems
- Electronic Notes in Theoretical Computer Science
, 2002
"... We show that the traditional notion of superposition as used for supporting parallel program design can subsume both composition and refinement relationships when non-deterministic behaviour of action-based systems is considered. For that purpose, we rely on a categorical formalisation of program de ..."
Abstract
-
Cited by 4 (1 self)
- Add to MetaCart
We show that the traditional notion of superposition as used for supporting parallel program design can subsume both composition and refinement relationships when non-deterministic behaviour of action-based systems is considered. For that purpose, we rely on a categorical formalisation of program design in the language CommUnity that we are also using for addressing architectural concerns.
Nondeterminism, Fairness and a Fundamental Analogy
"... In this note we propose a model for unbounded nondeterministic computation which provides a very natural basis for the structural analogy between recursive function theory and computational complexity theory: P : NP ¸ = REC : RE At the same time this model presents an alternative version of the ha ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
In this note we propose a model for unbounded nondeterministic computation which provides a very natural basis for the structural analogy between recursive function theory and computational complexity theory: P : NP ¸ = REC : RE At the same time this model presents an alternative version of the halting problem which has been known for a decade to be highly intractable. 1 Introduction Structural complexity theory is often presented as the theory in which the results obtained for classes of languages recognized by Turing machines are transferred to a resource bounded setting. Notions like reduction, simplicity, immunity, the arithmetical hierarchy, relativizations etc. were all first defined in recursive function theory and later (relativizations of) these notions were introduced in complexity theory. All of this work was inspired by the frustration originating from the difficulty of the fundamental problem in computational complexity theory which has become known as the P ? = NP pr...
Designing technical systems as social systems. In: The language action perspective on communication modelling
- Proceedings of the 8th International Working Conference on the Language-Action Perspective on Communication Modelling (LAP 2003), July 1-2 2003
, 2003
"... Technical systems are intuitively understood as rather different from organizations. Yet, this holds merely for their implementation. It appears to be very convenient to consider technical systems as ’automated ’ social systems. The first results of a research project, investigating the benefits of ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
Technical systems are intuitively understood as rather different from organizations. Yet, this holds merely for their implementation. It appears to be very convenient to consider technical systems as ’automated ’ social systems. The first results of a research project, investigating the benefits of this ’social stance ’ towards technical systems, are reported upon in this paper. Two example technical systems are investigated: an automatic teller machine and an elevator control system. The benefits of taking the social stance for the architectural design of these systems are demonstrated by applying the LAP-based DEMO methodology. The conclusion is that taking the social stance a design is produced that is fully independent of any implementation, including ICT related, issue. This is a great benefit for (re)designing and (re)engineering technical systems. 1
A Knowledge-Based System for Software Maintenance
- in Proceedings for the Conference on Software Maintenance
, 1988
"... A description of an Intelligent, Knowledge-Based maintenance tool, being developed by the Centre for Software Maintenance at the University of Durham is described. The tool is intended to help reduce the amount of time spent on analysing code. Code analysis is performed when a programmer is familiar ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
A description of an Intelligent, Knowledge-Based maintenance tool, being developed by the Centre for Software Maintenance at the University of Durham is described. The tool is intended to help reduce the amount of time spent on analysing code. Code analysis is performed when a programmer is familiarising himself with a piece of code, and when the effects of a proposed modification of the code is being assessed.
Formalization of Workflows and Correctness Issues in the Presence of Concurrency
, 1998
"... . In this paper, main components of a workflow system that are relevant to the correctness in the presence of concurrency are formalized based on set theory and graph theory. The formalization which constitutes the theoretical basis of the correctness criterion provided can be summarized as follows: ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
. In this paper, main components of a workflow system that are relevant to the correctness in the presence of concurrency are formalized based on set theory and graph theory. The formalization which constitutes the theoretical basis of the correctness criterion provided can be summarized as follows: ffl Activities of a workflow are represented through a notation based on set theory to make it possible to formalize the conceptual grouping of activities. ffl Control-flow is represented as a special graph based on this set definition, and it includes serial composition, parallel composition, conditional branching, and nesting of individual activities and conceptual activities themselves. ffl Data-flow is represented as a directed acyclic graph in conformance with the control-flow graph. The formalization of correctness of concurrently executing workflow instances is based on this framework by defining two categories of constraints on the workflow environment with which the workflow ins...
Procedures and Atomicity Refinement
, 1995
"... We define a return statement for procedures in an action systems framework and show that it corresponds to carrying out an atomicity refinement. Hence, the introduction of an early return from a (remote) procedure call can increase the degree of parallelism in a parallel or distributed algorithm mod ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
We define a return statement for procedures in an action systems framework and show that it corresponds to carrying out an atomicity refinement. Hence, the introduction of an early return from a (remote) procedure call can increase the degree of parallelism in a parallel or distributed algorithm modelled by an action system.

