Results 1 - 10
of
79
Towards Requirements-Driven Information Systems Engineering: The Tropos Project
- INFORMATION SYSTEMS
, 2002
"... Information systems of the future will have to perform well within ever-changing organizational environments. Unfortunately, existing software development methodologies (object-oriented, structured or otherwise) have traditionally been inspired by programming concepts, not organizational ones, leadi ..."
Abstract
-
Cited by 163 (33 self)
- Add to MetaCart
Information systems of the future will have to perform well within ever-changing organizational environments. Unfortunately, existing software development methodologies (object-oriented, structured or otherwise) have traditionally been inspired by programming concepts, not organizational ones, leading to a semantic gap between the software system and its operational environment. To reduce this gap, we propose a software development methodology named Tropos which is founded on concepts used to model early requirements. Our proposal adopts the i* organizational modeling framework, which o#ers the notions of actor, goal and (actor) dependency, and uses these as a foundation to model early and late requirements, architectural and detailed design. The paper outlines Tropos phases through an e-business example, and sketches a formal language which underlies the methodology and is intended to support formal analysis. The methodology seems to complement well proposals for agent-oriented programming platforms.
Correct Architecture Refinement
- IEEE Transactions on Software Engineering
, 1995
"... A method is presented for the stepwise refinement of an abstract architecture into a relatively correct lower-level architecture that is intended to implement it. A refinement step involves the application of a predefined refinement pattern that provides a routine solution to a standard architectura ..."
Abstract
-
Cited by 159 (8 self)
- Add to MetaCart
A method is presented for the stepwise refinement of an abstract architecture into a relatively correct lower-level architecture that is intended to implement it. A refinement step involves the application of a predefined refinement pattern that provides a routine solution to a standard architectural design problem. A pattern contains an abstract architecture schema and a more detailed schema intended to implement it. The two schemas usually contain very different architectural concepts (from different architectural styles). Once a refinement pattern is proven correct, instances of it can be used without proof in developing specific architectures. Individual refinements are compositional, permitting incremental development and local reasoning. A special correctness criterion is defined for the domain of software architecture, as well as an accompanying proof technique. A useful syntactic form of correct composition is defined. The main points are illustrated by means of familiar archit...
Detection of Logical Coupling Based on Product Release History
, 1998
"... Code-based metrics such as coupling and cohesion are used to measure a system’s structural complexity. But dealing with large systems—those consisting of several millions of lines — at the code level faces many problems. An alternative approach is to concentrate on the system’s building blocks such ..."
Abstract
-
Cited by 120 (11 self)
- Add to MetaCart
Code-based metrics such as coupling and cohesion are used to measure a system’s structural complexity. But dealing with large systems—those consisting of several millions of lines — at the code level faces many problems. An alternative approach is to concentrate on the system’s building blocks such as programs or modules as the unit of examination. We present an approach that uses information in a release history of a system to uncover logical dependencies and change patterns among modules. We have developed the approach by working with 20 releases of a large Telecommunications Switching System. We use release information such as version numbers of programs, modules, and subsystems together with change reports to discover common change behavior (i.e. change patterns) of modules. Our approach identifies logical coupling among modules in such a way that potential structural shortcomings can be identified and further examined, pointing to restructuring or reengineering opportunities. 1
A survey of structured and object-oriented software specification methods and techniques
- ACM Computing Surveys
, 1998
"... This article surveys techniques used in structured and object-oriented software specification methods. The techniques are classified as techniques for the specification of external interaction and internal decomposition. The external interaction specification techniques are further subdivided into t ..."
Abstract
-
Cited by 80 (11 self)
- Add to MetaCart
This article surveys techniques used in structured and object-oriented software specification methods. The techniques are classified as techniques for the specification of external interaction and internal decomposition. The external interaction specification techniques are further subdivided into techniques for the
Chidamber & Kemerer's Metrics Suite: A Measurement Theory Perspective
, 1996
"... The metrics suite for object-oriented design put forward by Chidamber and Kemerer [8] is partly evaluated by applying principles of measurement theory. Using the object coupling measure (CBO) as an example, it is shown that failing to establish a sound empirical relation system can lead to deficienc ..."
Abstract
-
Cited by 47 (0 self)
- Add to MetaCart
The metrics suite for object-oriented design put forward by Chidamber and Kemerer [8] is partly evaluated by applying principles of measurement theory. Using the object coupling measure (CBO) as an example, it is shown that failing to establish a sound empirical relation system can lead to deficiencies of software metrics. Similarly, for the object-oriented cohesion measure (LCOM) it is pointed out that the issue of empirical testing the representation condition must not be ignored, even if other validation principles are carefully obeyed. As a by-product, an alternative formulation for LCOM is proposed. Index Terms Software Measurement, Coupling Metrics, Cohesion Metrics, Object-Orientation,Validation Copyright Notice This paper has been published in IEEE Transactions on Software Engineering, Vol. 22, No. 4, April 1996. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new coll...
CAS/PI: a Portable and Extensible Interface for Computer Algebra Systems
- In Proc. of ISSAC'92
, 1992
"... CAS/ß is a Computer Algebra System graphic user interface designed to be highly portable and extensible. It has been developed by composition of pre-existing software tools such as Maple, Sisyphe, or Ulysse systems, ZicVis 3-D plotting library, etc, using control integration technology and a set of ..."
Abstract
-
Cited by 37 (6 self)
- Add to MetaCart
CAS/ß is a Computer Algebra System graphic user interface designed to be highly portable and extensible. It has been developed by composition of pre-existing software tools such as Maple, Sisyphe, or Ulysse systems, ZicVis 3-D plotting library, etc, using control integration technology and a set of high level graphic toolkits to build the formula editor and the dialog manager. The main aim of CAS/ß is to allow a wide range of runtime reconfigurations and extensions. For instance, it is possible to add new tools to a running system, to modify connections between working tools, to extend the set of graphic symbols managed by the formula editor, to design new high level editing commands based on the syntax or semantics of mathematical formulas, to customize and extend the menu-button based user interface, etc. More generally, CAS/ß can be seen equally as a powerful system-independent graphic user interface enabling inter-systems communications, a toolkit to allow fast development of custo...
The Interleaving Problem in Program Understanding
- ENCYCLOPEDIA OF COMPUTER SCIENCE AND TECHNOLOGY
, 1995
"... One of the factors that can make a program difficult to understand is that code responsible for accomplishing more than one purpose may be woven together in a single section. We call this interleaving, and it may arise either intentionally -- for example, in optimizing a program, a programmer may us ..."
Abstract
-
Cited by 30 (8 self)
- Add to MetaCart
One of the factors that can make a program difficult to understand is that code responsible for accomplishing more than one purpose may be woven together in a single section. We call this interleaving, and it may arise either intentionally -- for example, in optimizing a program, a programmer may use some intermediate result for several purposes -- or unintentionally, due to patches, quick fixes, or other hasty maintenance practices. To understand this phenomenon, we have looked at a variety of interleaving instances in actual programs and have distilled characteristic features. If the characterization proves to be robust then it will enable the design of tools for detection of interleavings and the extraction of the individual strands of computation.
On Folk Theorems
, 1980
"... this paper is to refine this definition somewhat, adapting it to the purposes of the research community in computer science. Accordingly, we shall attempt to provide a reasonable definition of or, rather, criteria for folk theorems, followed by a detailed example illustrating the ideas. The latter e ..."
Abstract
-
Cited by 23 (0 self)
- Add to MetaCart
this paper is to refine this definition somewhat, adapting it to the purposes of the research community in computer science. Accordingly, we shall attempt to provide a reasonable definition of or, rather, criteria for folk theorems, followed by a detailed example illustrating the ideas. The latter endeavor might take one of two possible forms. We could take a piece of folklore and show that it is a theorem, or take a theorem and show that it is folklore. As an example of the first form we could have shown that the statement P NP, which is folklore, is also a theorem. However, since we have resolved to introduce no new technical material in this paper, and moreover, since researchers in our community seem to be less familiar with folklore than with theorems, 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
Open Implementation Analysis and Design
- In Symposium on Software Reusability (SSR97
, 1997
"... This paper describes a methodology for designing Open Implementations-- software modules that can adapt or change their internals to accommodate the needs of different clients. Analysis techniques are used for capturing domain knowledge, user requirements, and domain properties that influence the mo ..."
Abstract
-
Cited by 17 (1 self)
- Add to MetaCart
This paper describes a methodology for designing Open Implementations-- software modules that can adapt or change their internals to accommodate the needs of different clients. Analysis techniques are used for capturing domain knowledge, user requirements, and domain properties that influence the module's eventual implementation. Design techniques are used for determining and refining the interfaces by which clients control the modules implementation strategies. The methodology
Building a Computer Algebra Environment by Composition of Collaborative Tools
- In Proc. of DISCO'92
, 1992
"... Building a software environment for Computer Algebra is quite a complex issue. Such an environment may include one or more Symbolic Computation tools, some devices, such as plotting engines or code generators, and a way to link others scientific applications. It is also expected that any of these co ..."
Abstract
-
Cited by 15 (8 self)
- Add to MetaCart
Building a software environment for Computer Algebra is quite a complex issue. Such an environment may include one or more Symbolic Computation tools, some devices, such as plotting engines or code generators, and a way to link others scientific applications. It is also expected that any of these components may be run on a remote processor and that the whole system is used via a convenient graphical user interface. The natural extensibility of Computer Algebra software, as well as the diversity of the needs expressed by their users, necessitate a highly open and customizable software architecture allowing different kinds of extensions and adaptations. Our approach consists of building the environment by composition of separately developed packages, using state of the art software engineering technologies in the spirit of the tool integration paradigm. This way, the different software components should be able to exchange data and freely cooperate with each other, without being too tigh...

