Results 1  10
of
24
The Heterogeneous Tool Set
 of Lecture Notes in Computer Science
, 2007
"... Abstract. Heterogeneous specification becomes more and more important because complex systems are often specified using multiple viewpoints, involving multiple formalisms. Moreover, a formal software development process may lead to a change of formalism during the development. However, current resea ..."
Abstract

Cited by 36 (21 self)
 Add to MetaCart
(Show Context)
Abstract. Heterogeneous specification becomes more and more important because complex systems are often specified using multiple viewpoints, involving multiple formalisms. Moreover, a formal software development process may lead to a change of formalism during the development. However, current research in integrated formal methods only deals with adhoc integrations of different formalisms. The heterogeneous tool set (Hets) is a parsing, static analysis and proof management tool combining various such tools for individual specification languages, thus providing a tool for heterogeneous multilogic specification. Hets is based on a graph of logics and languages (formalized as socalled institutions), their tools, and their translations. This provides a clean semantics of heterogeneous specification, as well as a corresponding proof calculus. For proof management, the calculus of development graphs (known from other largescale proof management systems) has been adapted to heterogeneous specification. Development graphs provide an overview of the (heterogeneous) specification module hierarchy and the current proof state, and thus may be used for monitoring the overall correctness of a heterogeneous development. 1
Type class polymorphism in an institutional framework
 IN JOSÉ FIADEIRO, EDITOR, 17TH WADT, LECTURE NOTES IN COMPUTER SCIENCE
, 2005
"... Higherorder logic with shallow type class polymorphism is widely used as a specification formalism. Its polymorphic entities (types, operators, axioms) can easily be equipped with a ‘naive ’ semantics defined in terms of collections of instances. However, this semantics has the unpleasant property ..."
Abstract

Cited by 14 (8 self)
 Add to MetaCart
(Show Context)
Higherorder logic with shallow type class polymorphism is widely used as a specification formalism. Its polymorphic entities (types, operators, axioms) can easily be equipped with a ‘naive ’ semantics defined in terms of collections of instances. However, this semantics has the unpleasant property that while model reduction preserves satisfaction of sentences, model expansion generally does not. In other words, unless further measures are taken, type class polymorphism fails to constitute a proper institution, being only a socalled rps preinstitution; this is unfortunate, as it means that one cannot use institutionindependent or heterogeneous structuring languages, proof calculi, and tools with it. Here, we suggest to remedy this problem by modifying the notion of model to include information also about its potential future extensions. Our construction works at a high level of generality in the sense that it provides, for any preinstitution, an institution in which the original preinstitution can be represented. The semantics of polymorphism used in the specification language HasCasl makes use of this result. In fact, HasCasl’s polymorphism is a special case of a general notion of polymorphism in institutions introduced here, and our construction leads to the right notion of semantic consequence when applied to this generic polymorphism. The appropriateness of the construction for other frameworks that share the same problem depends on methodological questions to be decided case by case. In particular, it turns out that our method is apparently unsuitable for observational logics, while it works well with abstract state machine formalisms such as statebased Casl.
Heterogeneous development graphs and heterogeneous borrowing
 In M. Nielsen (Ed.) Foundations of Software Science and Computation Structures (FOSSACS02
, 2002
"... Abstract. Development graphs are a tool for dealing with structured specifications in a formal program development in order to ease the management of change and reusing proofs. Often, different aspects of a software system have to be specified in different logics, since the construction of a huge lo ..."
Abstract

Cited by 11 (7 self)
 Add to MetaCart
(Show Context)
Abstract. Development graphs are a tool for dealing with structured specifications in a formal program development in order to ease the management of change and reusing proofs. Often, different aspects of a software system have to be specified in different logics, since the construction of a huge logic covering all needed features would be too complex to be feasible. Therefore, we introduce heterogeneous development graphs as a means to cope with heterogeneous specifications. We cover both the semantics and the proof theory of heterogeneous development graphs. A proof calculus can be obtained either by combining proof calculi for the individual logics, or by representing these in some “universal ” logic like higherorder logic in a coherent way and then “borrowing” its calculus for the heterogeneous language. 1
Qualitative constraint calculi: Heterogeneous verification of composition tables
 In 20th International FLAIRS Conference
, 2007
"... In the domain of qualitative constraint reasoning, a subfield of AI which has evolved in the past 25 years, a large number of calculi for efficient reasoning about spatial and temporal entities has been developed. Reasoning techniques developed for these constraint calculi typically rely on socalle ..."
Abstract

Cited by 6 (2 self)
 Add to MetaCart
(Show Context)
In the domain of qualitative constraint reasoning, a subfield of AI which has evolved in the past 25 years, a large number of calculi for efficient reasoning about spatial and temporal entities has been developed. Reasoning techniques developed for these constraint calculi typically rely on socalled composition tables of the calculus at hand, which allow for replacing semantic reasoning by symbolic operations. Often these composition tables are developed in a quite informal, pictorial manner and hence composition tables are prone to errors. In view of possible safety critical applications of qualitative calculi, however, it is desirable to formally verify these composition tables. In general, the verification of composition tables is a tedious task, in particular in cases where the semantics of the calculus depends on higherorder constructs such as sets. In this paper we address this problem by presenting a heterogeneous proof method that allows for combining a higherorder proof assistance system (such as Isabelle) with an automatic (first order) reasoner (such as SPASS or VAMPIRE). The benefit of this method is that the number of proof obligations that is to be proven interactively with a semiautomatic reasoner can be minimized to an acceptable level.
CASL specifications of qualitative calculi
 Spatial Information Theory: Cognitive and Computational Foundations, Proceedings of COSIT’05, LNCS 3693
, 2005
"... Abstract. In AI a large number of calculi for efficient reasoning about spatial and temporal entities have been developed. The most prominent temporal calculi are the point algebra of linear time and Allen’s interval calculus. Examples of spatial calculi include mereotopological calculi, Frank’s car ..."
Abstract

Cited by 5 (1 self)
 Add to MetaCart
(Show Context)
Abstract. In AI a large number of calculi for efficient reasoning about spatial and temporal entities have been developed. The most prominent temporal calculi are the point algebra of linear time and Allen’s interval calculus. Examples of spatial calculi include mereotopological calculi, Frank’s cardinal direction calculus, Freksa’s double cross calculus, Egenhofer and Franzosa’s intersection calculi, and Randell, Cui, and Cohn’s region connection calculi. These calculi are designed for modeling specific aspects of space or time, respectively, to the effect that the class of intended models may vary widely with the calculus at hand. But from a formal point of view these calculi are often closely related to each other. For example, the spatial region connection calculus RCC5 may be considered a coarsening of Allen’s (temporal) interval calculus. And vice versa, intervals can be used to represent spatial objects that feature an internal direction. The central question of this paper is how these calculi as well as their mutual dependencies can be axiomatized by algebraic specifications. This question will be investigated within the framework of the Common Algebraic Specification Language (CASL), a specification language developed by the Common Framework Initiative for algebraic specification and development (COFI). We explain scope and expressiveness of CASL by discussing the specifications of some of the calculi mentioned before. 1
Toward ComponentOriented Formal Software Development: An Algebraic Approach (Extended Abstract)
"... Component based design and development of software is one of the most challenging issues in software engineering. In this paper, we adopt a somewhat simplified view of software components and discuss how they can be conveniently modeled in a framework that provides a modular approach to formal ..."
Abstract

Cited by 5 (2 self)
 Add to MetaCart
(Show Context)
Component based design and development of software is one of the most challenging issues in software engineering. In this paper, we adopt a somewhat simplified view of software components and discuss how they can be conveniently modeled in a framework that provides a modular approach to formal software development by means of stepwise refinements. In particular we take into account an observational interpretation of requirements specifications and study its impact on the definition of the semantics of specifications of (parametrized) components. Our study is carried out in the context of Casl architectural specifications.
Algebraic HigherOrder Nets: Graphs and Petri Nets as Tokens
 Proc. 16th International Workshop of Algebraic Development Techniques, LNCS 2755
, 2003
"... Petri nets and Algebraic HighLevel Nets are wellknown to model parallel and concurrent systems. In this paper, we introduce the concept of Algebraic HigherOrder Nets, which allow to have dynamical tokens like graphs or (ordinary lowlevel) Petri nets. For this purpose, we specify graphs and Petri ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
(Show Context)
Petri nets and Algebraic HighLevel Nets are wellknown to model parallel and concurrent systems. In this paper, we introduce the concept of Algebraic HigherOrder Nets, which allow to have dynamical tokens like graphs or (ordinary lowlevel) Petri nets. For this purpose, we specify graphs and Petri nets in the higherorder algebraic specification language HasCasl such that graphs and Petri nets become firstclass citizens, i.e. members of algebras (rather than algebras themselves). As an example, we model hospital therapeutic processes by a single higherorder net. Individual care plans for each patient are tokens modeled by lowlevel nets.
Parametrized exceptions
 IN CALCO 05, LNCS 3629
, 2005
"... Following the paradigm of encapsulation of side effects via monads, the Java execution mechanism has been described by the socalled Java monad, encorporating essentially stateful computation and exceptions, which are heavily used in Java control flow. A technical problem that appears in this model ..."
Abstract

Cited by 4 (3 self)
 Add to MetaCart
(Show Context)
Following the paradigm of encapsulation of side effects via monads, the Java execution mechanism has been described by the socalled Java monad, encorporating essentially stateful computation and exceptions, which are heavily used in Java control flow. A technical problem that appears in this model is the fact that the return exception in Java is parametrized by the return value, so that method calls actually move between slightly different monads, depending on the type of the return value. We provide a treatment of this problem in the general framework of exception monads as introduced in earlier work by some of the authors; this framework includes generic partial and total Hoare calculi for abrupt termination. Moreover, we illustrate this framework by means of a verification of a pattern match algorithm.