Scispace (Formerly Typeset)
  1. Home
  2. Topics
  3. Formal specification
  4. 2002
  1. Home
  2. Topics
  3. Formal specification
  4. 2002
Showing papers on "Formal specification published in 2002"
Proceedings Article•10.1145/503272.503275•
Mining specifications

[...]

Glenn Ammons1, Rastislav Bodik1, James R. Larus2•
University of Wisconsin-Madison1, Microsoft2
1 Jan 2002
TL;DR: In this article, a machine learning approach is proposed to discover formal specifications of the protocols that code must obey when interacting with an application program interface or abstract data type, starting from the assumption that a working program is well enough debugged to reveal strong hints of correct protocols, and concisely summarizing the frequent interaction patterns as state machines that capture both temporal and data dependences.
Abstract: Program verification is a promising approach to improving program quality, because it can search all possible program executions for specific errors. However, the need to formally describe correct behavior or errors is a major barrier to the widespread adoption of program verification, since programmers historically have been reluctant to write formal specifications. Automating the process of formulating specifications would remove a barrier to program verification and enhance its practicality.This paper describes specification mining, a machine learning approach to discovering formal specifications of the protocols that code must obey when interacting with an application program interface or abstract data type. Starting from the assumption that a working program is well enough debugged to reveal strong hints of correct protocols, our tool infers a specification by observing program execution and concisely summarizing the frequent interaction patterns as state machines that capture both temporal and data dependences. These state machines can be examined by a programmer, to refine the specification and identify errors, and can be utilized by automatic verification tools, to find bugs.Our preliminary experience with the mining tool has been promising. We were able to learn specifications that not only captured the correct protocol, but also discovered serious bugs.

775 citations

Proceedings Article•10.1145/581339.581406•
Safety critical systems: challenges and directions

[...]

John C. Knight1•
University of Virginia1
19 May 2002
TL;DR: From a software perspective, developing safety-critical systems in the numbers required and with adequate dependability is going to require significant advances in areas such as specification, architecture, verification and the software process.
Abstract: Safety-critical systems are those systems whose failure could result in loss of life, significant property damage or damage to the environment. There are many well-known examples in application areas such as medical devices, aircraft flight control, weapons and nuclear systems. Many modern information systems are becoming safety-critical in a general sense because financial loss and even loss of life can result from their failure. Future safety-critical systems will be more common and more powerful. From a software perspective, developing safety-critical systems in the numbers required and with adequate dependability is going to require significant advances in areas such as specification, architecture, verification and the software process. The very visible problems that have arisen in the area of information system security suggests that security is a major challenge too.

584 citations

Book Chapter•10.1007/3-540-47993-7_10•
A Simple and Practical Approach to Unit Testing: The JML and JUnit Way

[...]

Yoonsik Cheon1, Gary T. Leavens1•
Iowa State University1
10 Jun 2002
TL;DR: In this paper, the authors present an approach that makes writing unit tests easier by using a formal specification language's runtime assertion checker to decide whether methods are working correctly, thus automating the writing of unit test oracles.
Abstract: Writing unit test code is labor-intensive, hence it is often not done as an integral part of programming. However, unit testing is a practical approach to increasing the correctness and quality of software; for example, the Extreme Programming approach relies on frequent unit testing.In this paper we present a new approach that makes writing unit tests easier. It uses a formal specification language's runtime assertion checker to decide whether methods are working correctly, thus automating the writing of unit test oracles. These oracles can be easily combined with hand-written test data. Instead of writing testing code, the programmer writes formal specifications (e.g., pre- and postconditions). This makes the programmer's task easier, because specifications are more concise and abstract than the equivalent test code, and hence more readable and maintainable. Furthermore, by using specifications in testing, specification errors are quickly discovered, so the specifications are more likely to provide useful documentation and inputs to other tools. We have implemented this idea using the Java Modeling Language (JML) and the JUnit testing framework, but the approach could be easily implemented with other combinations of formal specification languages and unit test tools.

333 citations

Proceedings Article•10.1145/545056.545069•
ISLANDER: an electronic institutions editor

[...]

Marc Esteva1, David de la Cruz1, Carles Sierra1•
Spanish National Research Council1
15 Jul 2002
TL;DR: This tool is the first step towards having a framework for the design and development of infrastructures for open multi-agent systems and takes the stance that a verifiable formal specification is needed before starting the development of complex systems.
Abstract: In this paper we present ISLANDER, a tool for the specification and verification of agent mediated electronic institutions.We have defined a textual declarative language for the specification of the components of an institution. Also an ISLANDER editor is presented. It facilitates the work of the institution designer permitting the combination of graphical and textual specifications. We take the stance that a verifiable formal specification is needed before starting the development of complex systems. This tool is our first step towards having a framework for the design and development of infrastructures for open multi-agent systems.

281 citations

Journal Article•10.1109/52.976937•
Correctness by construction: developing a commercial secure system

[...]

A. Hall1, Roderick Chapman1•
Praxis1
01 Jan 2002-IEEE Software
TL;DR: A systematic process from requirements elicitation through formal specification, user interface prototyping, rigorous design, and coding is used to deliver a highly reliable system that meets all its throughput and usability goals.
Abstract: Praxis Critical Systems recently developed a secure certification authority for smart cards that had to satisfy performance and usability requirements while meeting stringent security constraints. The authors used a systematic process from requirements elicitation through formal specification, user interface prototyping, rigorous design, and coding to ensure these objectives' achievement. They show how a process that achieves normal commercial productivity can deliver a highly reliable system that meets all its throughput and usability goals.

281 citations

Journal Article•10.1007/S00766-003-0174-0•
Application of linguistic techniques for Use Case analysis

[...]

Alessandro Fantechi1, Stefania Gnesi, Giuseppe Lami, A. Maccari2•
University of Florence1, Nokia2
9 Sep 2002
TL;DR: The application of analysis techniques based on a linguistic approach to detect, within requirements documents, defects related to such an inherent ambiguity related to natural language sentences is discussed.
Abstract: The Use Case formalism is an effective way of capturing both business process and functional system requirements in a very simple and easy-to-learn way Use Cases may be modeled in a graphical way (eg using the UML notation), mainly serving as a table of content for Use Cases System behavior can more effectively be specified by structured natural language (NL) sentences The use of NL as a way to specify the behavior of a system is however a critical point, due to the inherent ambiguity originating from different interpretations of natural language descriptions We discuss the use of methods, based on a linguistic approach, to analyze functional requirements expressed by means of textual (NL) Use Cases The aim is to collect quality metrics and detect defects related to such inherent ambiguity In a series of preliminary experiments, we applied a number of tools for quality evaluation of NL text (and, in particular, of NL requirements documents) to an industrial Use Cases document The result of the analysis is a set of metrics that aim to measure the quality of the NL textual description of Use Cases We also discuss the application of selected linguistic analysis techniques that are provided by some of the tools to semantic analysis of NL expressed Use Case

208 citations

Proceedings Article•10.1145/581339.581345•
PROPEL: an approach supporting property elucidation

[...]

Rachel L. Smith, George S. Avrunin, Lori A. Clarke, Leon J. Osterweil
19 May 2002
TL;DR: Propel aims to make the job of writing and understanding properties easier by providing templates that explicitly capture details as options for commonly-occurring property patterns by using both "disciplined" natural language and finite-state automata.
Abstract: Property specifications concisely describe what a software system is supposed to do. It is surprisingly difficult to write these properties correctly. There are rigorous mathematical formalisms for representing properties, but these are often difficult to use. No matter what notation is used, however, there are often subtle, but important, details that need to be considered. Propel aims to make the job of writing and understanding properties easier by providing templates that explicitly capture these details as options for commonly-occurring property patterns. These templates are represented using both "disciplined" natural language and finite-state automata, allowing the specifier to easily move between these two representations.

194 citations

Proceedings Article•10.1109/HASE.2002.1173119•
Extending WSDL to facilitate Web services testing

[...]

Wei-Tek Tsai1, R. Paul, Yamin Wang2, Chun Fan1, Dong Wang1 •
Arizona State University1, University of Minnesota2
23 Oct 2002
TL;DR: Four kinds of extension are considered: input-output dependency, invocation sequence, hierarchical functional description and concurrent sequence specifications, which aim to extend the WSDL to support this kind of information description.
Abstract: Web services might be the most popular and powerful software development technology in today's software world. Yet it brings software developers and testers a lot of challenges also. This is mainly caused by the insufficient information provided by the WSDL file of a Web service. From the WSDL file, we can not get the information useful for testing, such as dependence information. To solve this problem, we proposed and practiced to extend the WSDL to support this kind of information description. In this paper, four kinds of extension are considered: input-output dependency, invocation sequence, hierarchical functional description and concurrent sequence specifications. Also their advantages are discussed.

159 citations

Proceedings Article•10.1145/581339.581353•
Agent-based tactics for goal-oriented requirements elaboration

[...]

Emmanuel Letier1, Axel van Lamsweerde1•
Université catholique de Louvain1
19 May 2002
TL;DR: A systematic technique to support the process of refining goals, identifying agents, and exploring alternative responsibility assignments is described, which systematically derive a catalog of tactics for refining goals and identifying agents so as to resolve realizability problems.
Abstract: Goal orientation is an increasingly recognized paradigm for eliciting, structuring, analyzing and documenting system requirements. Goals are statements of intent ranging from high-level, strategic concerns to low-level, technical requirements on the software-to-be and assumptions on its environment. Achieving goals require the cooperation of agents such as software components, input/output devices and human agents. The assignment of responsibilities for goals to agents is a critical decision in the requirements engineering process as alternative agent assignments define alternative system proposals. The paper describes a systematic technique to support the process of refining goals, identifying agents, and exploring alternative responsibility assignments. The underlying principles are to refine goals until they are assignable to single agents, and to assign a goal to an agent only if the agent can realize the goal. There are various reasons why a goal may not be realizable by an agent, e.g., the goal may refer to variables that are not monitorable or controllable by the agent. The notion of goal realizability is first defined on formal grounds; it provides a basis for identifying a complete taxonomy of realizability problems. From this taxonomy we systematically derive a catalog of tactics for refining goals and identifying agents so as to resolve realizability problems. Each tactics corresponds to the application of a formal refinement pattern that relieves the specifier from verifying the correctness of refinements in temporal logic. Our techniques have been used in two case studies of significant size; excerpts are shown to illustrate the main ideas.

152 citations

Proceedings Article•10.1109/ICSM.2002.1167775•
Automating impact analysis and regression test selection based on UML designs

[...]

Lionel C. Briand1, Yvan Labiche1, G. Soccar1•
Carleton University1
1 Jan 2002
TL;DR: A methodology and tool to support test selection from regression test suites based on change analysis in object-oriented designs and a formal mapping between design changes and a classification of regression test cases, i.e., reusable, retestable, and obsolete are presented.
Abstract: We present a methodology and a tool to support test selection from regression test suites based on change analysis in object-oriented designs. We assume that designs are represented using the Unified Modeling Language (UML) and we propose a formal mapping between design changes and a classification of regression test cases, i.e., three categories: reusable, retestable, and obsolete. We provide evidence of the feasibility of the methodology and its usefulness by using our prototype tool on an industrial case study.

147 citations

Proceedings Article•10.1145/544862.544866•
Open protocol design for complex interactions in multi-agent systems

[...]

Hamza Mazouzi1, Amal El Fallah Seghrouchni1, Serge Haddad1•
University of Paris1
15 Jul 2002
TL;DR: The main interest of abstraction is the design of fexible protocols giving agents more autonomy during interaction, which allows concise modeling and easier verification.
Abstract: This paper proposes a generic approach or protocol engineering through the analysis,the specification,and the verification of such protocols when several agents are involved. This approach is three folds:1)Starting from semi-formal specification by means o Protocol Diagrams (AUML),both formal specification of interaction protocols and their verification are allowed thanks to Colored Petri Nets (CPN);2) Debugging and qualitative analysis o interactions are based on distributed observation associated with the true concurrency semantics (i.e.CPN unfolding)and ;3)CPN formalism is extended to Recursive CPN (RCPN)with abstraction in order to deal with open protocols.The main interest of abstraction is the design of fexible protocols giving agents more autonomy during interaction.In addition,abstraction allows concise modeling and easier verification. measures,performance measures .
Journal Article•10.3233/JCS-2002-101-209•
Model-based analysis of configuration vulnerabilities

[...]

C. R. Ramakrishnan1, R. C. Sekar1•
State University of New York System1
01 Jul 2002-Journal of Computer Security
TL;DR: This paper demonstrates a new approach to vulnerability analysis based on model checking by modelling a simplified version of a UNIX-based system, and analyzing this system using model-checking techniques to identify nontrivial Vulnerabilities.
Abstract: Vulnerability analysis is concerned with the problem of identifying weaknesses in computer systems that can be exploited to compromise their security. In this paper we describe a new approach to vulnerability analysis based on model checking. Our approach involves: • Formal specification of desired security properties. An example of such a property is "no ordinary user can overwrite system log files". • An abstract model of the system that captures its security-related behaviors. This model is obtained by composing models of system components such as the file system, privileged processes, etc. • A verification procedure that checks whether the abstract model satisfies the security properties, and if not, produces execution sequences (also called exploit scenarios) that lead to a violation of these properties. An important benefit of a model-based approach is that it can be used to detect known and as-yet-unknown vulnerabilities. This capability contrasts with previous approaches (such as those used in COPS and SATAN) which mainly address known vulnerabilities.This paper demonstrates our approach by modelling a simplified version of a UNIX-based system, and analyzing this system using model-checking techniques to identify nontrivial Vulnerabilities. A key contribution of this paper is to show that such an automated analysis is feasible in spite of the fact that the system models are infinite-state systems. Our techniques exploit some of the latest techniques in model-checking, such as constraint-based (implicit) representation of state-space, together with domain-specific optimizations that are appropriate in the context of vulnerability analysis.Clearly, a realistic UNIX system is much more complex than the one that we have modelled in this paper. Nevertheless, we believe that our results show automated and systematic vulnerability analysis of realistic systems to be feasible in the near future, as model-checking techniques continue to improve.
Proceedings Article•10.1145/581339.581361•
Deriving executable process descriptions from UML

[...]

E. Di Nitto1, Luigi Lavazza1, M. Schiavoni1, E. Tracanella1, M. Trombetta1 •
Polytechnic University of Milan1
19 May 2002
TL;DR: The article proposes a formalization of the semantics of the UML subset and presents the translation of UML process models into code, which can be enacted in the OPSS process-centered environment.
Abstract: In the recent past, a relevant effort has been devoted to the definition of process modeling languages (PMLs). The resulting languages and environments -although technically successful-did not receive much attention from industry. On the contrary, researchers and practitioners have recently started experimenting with the usage of UML as a PML. Being so popular and widely used, UML has an important competitive advantage compared to any specialized PML. However, it has also a main limitation. While most PMLs are executable by some process engine, UML was conceived as a non-executable, semi-formal language. The work described here aims at assessing the possibility of employing a subset of UML as an executable PML. The article proposes a formalization of the semantics of the UML subset and presents the translation of UML process models into code, which can be enacted in the OPSS process-centered environment. The paper also presents a case study to validate the approach. We expect that process modeling by means of UML is easier and available to a larger community of software process managers. Moreover, process enactment makes the process more efficient, reliable, predictable and controllable, as widely shown by previous research.
Book•10.1007/3-540-45648-1•
ZB 2002:Formal Specification and Development in Z and B

[...]

Didier Bert, Jonathan P. Bowen, Martin C. Henson, Ken Robinson
1 Jan 2002
TL;DR: In this paper, the authors present a formal analysis of CORBA's CORBA Security Service and the type synthesis in B and the translation of B to PVS, and a comparison of the BTT and TTF Test-Generation Methods.
Abstract: Theories, Implementations, and Transformations.- Incremental Proof of the Producer/Consumer Property for the PCI Protocol.- Controlling Control Systems: An Application of Evolving Retrenchment.- Checking Z Data Refinements Using an Animation Tool.- Encoding Object-Z in Isabelle/HOL.- Characters + Mark-up = Z Lexis.- Extraction of Abstraction Invariants for Data Refinement.- An Approach to Combining B and Alloy.- Software Construction by Stepwise Feature Introduction.- The Semantics of Circus.- Handling Inconsistencies in Z Using Quasi-Classical Logic.- Loose Specification and Refinement in Z.- On Using Conditional Definitions in Formal Theories.- A Theory of Generalised Substitutions.- Reinforced Condition/Decision Coverage (RC/DC): A New Criterion for Software Testing.- A Comparison of the BTT and TTF Test-Generation Methods.- A Formal Analysis of the CORBA Security Service.- Type Synthesis in B and the Translation of B to PVS.- "Higher-Order" Mathematics in B.- ABS Project: Merging the Best Practices in Software Design from Railway and Aircraft Industries.- Generalised Substitution Language and Differentials.- Communicating B Machines.- Synchronized Parallel Composition of Event Systems in B.- Global and Communicating State Machine Models in Event Driven B: A Simple Railway Case Study.- Verification of Dynamic Constraints for B Event Systems under Fairness Assumptions.- A Formal Model of the UML Metamodel: The UML State Machine and Its Integrity Constraints.- Coming and Going from UML to B: A Proposal to Support Traceability in Rigorous IS Development.
Journal Article•10.1016/S0306-4379(01)00055-2•
A formal framework for business process modelling and design

[...]

Manolis Koubarakis1, Dimitris Plexousakis2•
Technical University of Crete1, University of Crete2
01 Jul 2002-Information Systems
TL;DR: This work presents a formal framework for enterprise and business process modelling and outlines the basic steps of a methodology that allows business analysts to produce detailed, formal specifications of business processes from high-level enterprise objectives.
Proceedings Article•10.1145/581339.581362•
Verification support for workflow design with UML activity graphs

[...]

Rik Eshuis, Roel Wieringa
19 May 2002
TL;DR: A tool that supports verification of workflow models specified in UML activity graphs by translating an activity graph into an input format for a model checker according to a semantics the authors published earlier.
Abstract: We describe a tool that supports verification of workflow models specified in UML activity graphs. The tool translates an activity graph into an input format for a model checker according to a semantics we published earlier. With the model checker arbitrary propositional requirements can be checked against the input model. If a requirement fails to hold an error trace is returned by the model checker. The tool automatically translates such an error trace into an activity graph trace by high-lighting a corresponding path in the activity graph. One of the problems that is dealt with is that model checkers require a finite state space whereas workflow models in general have an infinite state space. Another problem is that strong fairness is necessary to obtain realistic results. Only model checkers that use a special model checking algorithm for strong fairness are suitable for verifying workflow models. We analyse the structure of the state space. We illustrate our approach with some example verifications.
Proceedings Article•10.1109/SECPRI.2002.1004369•
Improving computer security using extended static checking

[...]

Brian Chess1•
University of California, Santa Cruz1
12 May 2002
TL;DR: A method for finding security flaws in source code by way of static analysis that works by using an automated theorem prover to analyze verification conditions generated from C source code and a set of specifications that define security properties is described.
Abstract: We describe a method for finding security flaws in source code by way of static analysis. The method is notable because it allows a user to specify a wide range of security properties while also leveraging a set of predefined common flaws. It works by using an automated theorem prover to analyze verification conditions generated from C source code and a set of specifications that define security properties. We demonstrate that the method can be used to identify real vulnerabilities in real programs.
Proceedings Article•10.1109/ICECCS.2002.1181504•
Using aspects to design a secure system

[...]

Geri Georg1, Indrakshi Ray•
Agilent Technologies1
2 Dec 2002
TL;DR: It is illustrated how an aspect-oriented approach to modeling allows developers to encapsulate design concerns so that they can be woven into a design in a systematic and consistent manner.
Abstract: Developers of complex systems have to address concerns such as security, availability of services, and timeliness that often are non-orthogonal to traditional design structures, that is, the concerns cross-cut traditional design units. We illustrate how an aspect-oriented approach to modeling allows developers to encapsulate such design concerns so that they can be woven into a design in a systematic and consistent manner. The paper focuses on the use of aspects for modeling and weaving in security concerns.
Proceedings Article•10.1109/DEXA.2002.1045903•
English as a formal specification language

[...]

Rolf Schwitter1•
Macquarie University1
2 Sep 2002
TL;DR: This work reformulated Schubert's steamroller puzzle in PENG, translated the resulting specification via discourse representation structures into first-order predicate logic with equality, and proved the steamroller's conclusion with OTTER, a standard theorem prover.
Abstract: PENG is a computer-processable controlled natural language designed for writing unambiguous and precise specifications. PENG covers a strict subset of standard English and is precisely defined by a controlled grammar and a controlled lexicon. In contrast to other controlled languages, the author does not need to know the grammatical restrictions explicitly. ECOLE, a look-ahead text editor, indicates the restrictions while the specification is written. The controlled lexicon contains domain-specific content words that can be defined by the author on the fly and predefined function words. Specifications written in PENG can be deterministically translated into discourse representations structures to cope with anaphora and presuppositions and also into first-order predicate logic. To test the formal properties of PENG, we reformulated Schubert's steamroller puzzle in PENG, translated the resulting specification via discourse representation structures into first-order predicate logic with equality, and proved the steamroller's conclusion with OTTER, a standard theorem prover.
The Coq Proof Assistant : A Tutorial : Version 7.2

[...]

Gérard Huet, Gilles Kahn, Christine Paulin-Mohring
1 Feb 2002
TL;DR: Coq is a proof assistant based on a higher-order logic as discussed by the authors, which allows to handle calculus mathematical assertions and to check mechanically proofs of these assertions, and it helps to find formal proofs, and allows extraction of a certified program from the constructive proof of its formal specification.
Abstract: Coq is a proof assistant based on a higher-order logic. Coq allows to handle calculus mathematical assertions and to check mechanically proofs of these assertions. It helps to find formal proofs, and allows extraction of a certified program from the constructive proof of its formal specification. This document is a tutorial for the version V7.2 of Coq which is available from http://coq.inria.fr.
Proceedings Article•10.1109/ASE.2002.1115026•
SeDiTeC-testing based on sequence diagrams

[...]

F. Fraikin1, T. Leonhardt1•
Technische Universität Darmstadt1
23 Sep 2002
TL;DR: A concept for automated testing of object-oriented applications and a tool called SeDiTeC that implements these concepts for Java applications that can easily be integrated into the development process as soon as the design phase starts are presented.
Abstract: In this paper we present a concept for automated testing of object-oriented applications and a tool called SeDiTeC that implements these concepts for Java applications. SeDiTeC uses UML sequence diagrams, that are complemented by test case data sets consisting of parameters and return values for the method calls, as test specification and therefore can easily be integrated into the development process as soon as the design phase starts. SeDiTeC supports specification of several test case data sets for each sequence diagram as well as to combine several sequence diagrams to so-called combined sequence diagrams thus reducing the number of diagrams needed. For classes and their methods whose behavior is specified in sequence diagrams and the corresponding test case data sets SeDiTeC can automatically generate test stubs thus enabling testing right from the beginning of the implementation phase. Validation is not restricted to comparing the test case data sets with the observed data, but can also include validation of pre- and postconditions.
Proceedings Article•10.1145/581339.581355•
Detection of conflicting functional requirements in a use case-driven approach: a static analysis technique based on graph transformation

[...]

Jan Hendrik Hausmann1, Reiko Heckel1, Gabi Taentzer1•
University of Paderborn1
19 May 2002
TL;DR: A formal interpretation of use case models consisting of UML use case, activity, and collaboration diagrams is proposed, which allows to make precise the notions of conflict and dependency between functional requirements expressed by different use cases.
Abstract: In object-oriented software development, requirements of different stakeholders are often manifested in use case models which complement the static domain model by dynamic and functional requirements. In the course of development, these requirements are analyzed and integrated to produce a consistent overall requirements specification. Iterations of the model may be triggered by conflicts between requirements of different parties.However, due to the diversity, incompleteness, and informal nature, in particular of functional and dynamic requirements, such conflicts are difficult to find. Formal approaches to requirements engineering, often based on logic, attack these problems, but require highly specialized experts to write and reason about such specifications.In this paper, we propose a formal interpretation of use case models consisting of UML use case, activity, and collaboration diagrams. The formalization, which is based on concepts from the theory of graph transformation, allows to make precise the notions of conflict and dependency between functional requirements expressed by different use cases. Then, use case models can be statically analyzed, and conflicts or dependencies detected by the analysis can be communicated to the modeler by annotating the model.An implementation of the static analysis within a graph transformation tool is presented.
Proceedings Article•10.1145/581352.581355•
Detection of conflicting functional requirements in a use case-driven approach

[...]

Jan Hendrik Hausmann1, Reiko Heckel1, Gabriele Taentzer1•
University of Paderborn1
25 May 2002
TL;DR: A formal interpretation of use case models consisting of UML use case, activity, and collaboration diagrams is proposed, which allows to make precise the notions of conflict and dependency between functional requirements expressed by different use cases.
Abstract: In object-oriented software development, requirements of different stakeholders are often manifested in use case models which complement the static domain model by dynamic and functional requirements. In the course of development, these requirements are analyzed and integrated to produce a consistent overall requirements specification. Iterations of the model may be triggered by conflicts between requirements of different parties. However, due to the diversity, incompleteness, and informal nature, in particular of functional and dynamic requirements, such conflicts are difficult to find. Formal approaches to requirements engineering, often based on logic ' attack these problems, but require highly specialized experts to write and reason about such specifications. We propose a formal interpretation of use case models consisting of UML use case, activity, and collaboration diagrams. The formalization, which is based on concepts from the theory of graph transformation, allows to make precise the notions of conflict and dependency between functional requirements expressed by different use cases. Then, use case models can be statically analyzed, and conflicts or dependencies detected by the analysis can be communicated to the modeler by annotating the model. An implementation of the static analysis within a graph transformation tool is presented.
Book Chapter•10.1007/3-540-44667-2_1•
Formal methods for performance evaluation

[...]

Ulrich Herzog
17 Jan 2002
TL;DR: The main goal of this contribution is to advocate the increased use of formal methods (FM) in the field of performance evaluation (PE) and reduce the mutual reservations between both areas, formal specification techniques and performance evaluation since both can profit from such an integration.
Abstract: The main goal of this contribution is to advocate the increased use of formal methods (FM) in the field of performance evaluation (PE). Moreover, we try to reduce the mutual reservations between both areas, formal specification techniques and performance evaluation since both can profit from such an integration: FMs may find their way into a new and very attractive area of applications and some fundamental problems of PE may be overcome. The first part summarizes the evolution of PE, its methodology and the basic concepts of performance modeling and analysis, elaborated in specific contributions of this book. Classical modeling and analysis techniques have a high standard and have been quite successful. However, there are important problem classes still open, and there are some fundamental deficiencies: Task interdependencies and synchronization, interfacing in modeling hierarchies, methods and tools for automating the performance engineering process are typical examples. We therefore advocate the integration of FMs and PE and survey three advanced approaches, again, treated in detail in specific contributions: Stochastic Petri-Nets, Stochastic Activity Networks and Stochastic Process Algebras. We try to summarize our own experience with these techniques and conclude with a list of challenging topics and current research directions.
Book Chapter•10.1007/978-3-540-45133-4_4•
Formal Specification of Interaction in Agent Societies

[...]

Virginia Dignum1, John-Jules Ch. Meyer, Frank Dignum2, Hans Weigand2•
Achmea1, Tilburg University2
29 Oct 2002-Lecture Notes in Computer Science
TL;DR: LC is introduced, a very expressive logic for describing interaction in multi-agent systems and makes it possible to check whether agents in an agent society follow some desired interaction patterns and whether desired social states are preserved by agent activity.
Abstract: The Agent Society framework that we have developed distinguishes between the mechanisms though which the structure and global behavior of the model is described and coordinated, and the aims and behavior of the service-providers (agents) that populate the model. In this framework contracts are used to integrate the top-down specification of organizational structures with the autonomy of participating agents. In this paper we introduce LCR, a very expressive logic for describing interaction in multi-agent systems. We also show how LCR behaves in contrary-to-duty situations common to deontic logic frameworks. LCR makes it possible to check whether agents in an agent society follow some desired interaction patterns and whether desired social states are preserved by agent activity. LCR is used as a formal basis for the framework for agents societies that we are developing.
Book Chapter•10.1007/3-540-45687-2_42•
Unit Testing for Casl Architectural Specifications

[...]

Patrícia D. L. Machado1, Donald Sannella2•
Federal University of Paraíba1, University of Edinburgh2
26 Aug 2002
TL;DR: This work considers how to test modular systems where the decomposition into parts is specified by a Casl-style architectural specification and the parts are developed separately, perhaps by an independent supplier.
Abstract: The problem of testing modular systems against algebraic specifications is discussed. We focus on systems where the decomposition into parts is specified by a Casl-style architectural specification and the parts (units) are developed separately, perhaps by an independent supplier. We consider how to test such units without reference to their context of use. This problem is most acute for generic units where the particular instantiation cannot be predicted.
Book•10.1007/3-540-45711-9•
Formal and natural computing

[...]

Wilfried Brauer1, Hartmut Ehrig2, Juhani Karhumäki3, Arto Salomaa4•
Technische Universität München1, Technical University of Berlin2, University of Turku3, Turku Centre for Computer Science4
1 Jan 2002
Journal Article•
Unit testing for CASL architectural specifications

[...]

Patrícia D. L. Machado, Donald Sannella
01 Jan 2002-Lecture Notes in Computer Science
TL;DR: The problem of testing modular systems against algebraic specifications is discussed in this paper, where the decomposition into parts is specified by a CASL-style architectural specification and the parts (units) are developed separately, perhaps by an independent supplier.
Abstract: The problem of testing modular systems against algebraic specifications is discussed. We focus on systems where the decomposition into parts is specified by a CASL-style architectural specification and the parts (units) are developed separately, perhaps by an independent supplier. We consider how to test such units without reference to their context of use. This problem is most acute for generic units where the particular instantiation cannot be predicted.
Proceedings Article•10.1145/581339.581394•
Invariant-based specification, synthesis, and verification of synchronization in concurrent programs

[...]

Xianghua Deng1, Matthew B. Dwyer1, John Hatcliff1, Masaaki Mizuno1•
Kansas State University1
19 May 2002
TL;DR: This paper describes an approach to automatically synthesizing complex synchronization implementations from formal high-level specifications that is simple to use, has a solid semantic foundation, is language independent, and has demonstrated that it is powerful enough to solve numerous challenging synchronization problems.
Abstract: Concurrency is used in modern software systems as a means of addressing performance, availability, and reliability requirements. The collaboration of multiple independently executing components is fundamental to meeting such requirements and such collaboration is realized by synchronizing component execution.Using current technologies developers are faced with a tension between correct synchronization and performance. Developers can be confident when simple forms of synchronization are used, for example, locking all accesses to shared data. Unfortunately, such simple approaches can result in significant run-time overhead, and, in fact, there are many cases in which such simple approaches cannot implement required synchronization policies. Implementing more sophisticated (and less constraining) synchronization policies may improve run-time performance and satisfy synchronization requirements, but fundamental difficulties in reasoning about concurrency make it difficult to assess their correctness.This paper describes an approach to automatically synthesizing complex synchronization implementations from formal high-level specifications. Moreover, the generated coded is designed to be processed easily by software model-checking tools such as Bandera. This enables the generated synchronization solutions to be verified for important system correctness properties. We believe this is an effective approach because the tool-support provided makes it simple to use, it has a solid semantic foundation, it is language independent, and we have demonstrated that it is powerful enough to solve numerous challenging synchronization problems.
Book Chapter•10.1007/3-540-45648-1_22•
Communicating B Machines

[...]

Steve Schneider1, Helen Treharne1•
Royal Holloway, University of London1
23 Jan 2002-Lecture Notes in Computer Science
TL;DR: This paper describes a way of using the process algebra CSP to enable controlled interaction between B machines and supports compositional verification: each of the controlled machines, and the combination of controller processes, can be analysed and verified separately in such a way as to guarantee correctness of the combined communicating system.
Abstract: This paper describes a way of using the process algebra CSP to enable controlled interaction between B machines. This approach supports compositional verification: each of the controlled machines, and the combination of controller processes, can be analysed and verified separately in such a way as to guarantee correctness of the combined communicating system. Reasoning about controlled machines separately is possible due to the introduction of guards and assertions into description of the controller processes in order to capture assumptions about other controlled machines and provide guarantees to the rest of the system. The verification process can be completely supported by different tools. The use of separate controller processes facilitates the iterative development and analysis of complex control flows within the system. The approach is motivated and illustrated with a non-trivial running example.
...

Tools

SciSpace AgentBiomedical AgentSciSpace RecruitSciSpace for EnterpriseAgent GalleryChat with PDFLiterature ReviewAI WriterFind TopicsParaphraserCitation GeneratorExtract DataAI DetectorCitation Booster

Learn

ResourcesLive Workshops

SciSpace

CareersSupportBrowse PapersPricingSciSpace Affiliate ProgramCancellation & Refund PolicyTermsPrivacyData Sources

Directories

PapersTopicsJournalsAuthorsConferencesInstitutionsCitation StylesWriting templates

Extension & Apps

SciSpace Chrome ExtensionSciSpace Mobile App

Contact

support@scispace.com
SciSpace

© 2026 | PubGenius Inc. | Suite # 217 691 S Milpitas Blvd Milpitas CA 95035, USA

soc2
Secured by Delve