Network


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

Hotspot


Dive into the research topics where Robert F. Stärk is active.

Publication


Featured researches published by Robert F. Stärk.


Bulletin of The European Association for Theoretical Computer Science | 2003

Abstract State Machines

Egon Börger; Robert F. Stärk

State Machines


Archive | 2001

Java and the Java Virtual Machine

Robert F. Stärk; Joachim Schmid; Egon Börger

method declarations


Theoretical Computer Science | 2005

A high-level modular definition of the semantics of C#

Egon Börger; Nicu G. Fruja; Vincenzo Gervasi; Robert F. Stärk

We propose a structured mathematical definition of the semantics of C# programs to provide a platform-independent interpreter view of the language for the C# programmer, which can also be used for a precise analysis of the ECMA standard of the language and as a reference model for teaching. The definition takes care to reflect directly and faithfully--as much as possible without becoming inconsistent or incomplete--the descriptions in the C# standard to become comparable with the corresponding models for Java in Stark et al. (Java and Java Virtual Machine--Definition, Verification, Validation, Springer, Berlin, 2001) and to provide for implementors the possibility to check their basic design decisions against an accurate high-level model. The model sheds light on some of the dark corners of C# and on some critical differences between the ECMA standard and the implementations of the language.


CTIT technical reports series | 2004

An ASM specification of C# threads and the .NET memory model

Robert F. Stärk; Egon Börger

We present a high-level ASM model of C# threads and the .NET memory model. We focus on purely managed, fully portable threading features of C#. The sequential model interleaves the computation steps of the currently running threads and is suitable for uniprocessors. The parallel model addresses problems of true concurrency on multiprocessor systems. The models provide a sound basis for the development of multi-threaded applications in C#. The thread and memory models complete the abstract operational semantics of C# in [2].


formal methods | 2003

Exploiting Abstraction for Specification Reuse. The Java/C# Case Study

Egon Börger; Robert F. Stärk

From the models provided in [14] and [4] for the semantics of Java and C# programs we abstract the mathematical structure that underlies the semantics of both languages. The resulting model reveals the kernel of object-oriented programming language constructs and can be used for teaching them without being bound to a particular language. It also allows us to identify precisely some of the major differences between Java and C#.


Theoretical Computer Science | 2005

Formal specification and verification of the C# thread model

Robert F. Stärk

We present a high-level Abstract State Machine (ASM) model of Cg threads and the .NET memory model. We focus on purely managed, fully portable threading features of C#. The sequential model interleaves the computation steps of the currently running threads and is suitable for uniprocessors. The parallel model addresses problems of true concurrency on multi-processor systems. The models provide a sound basis for the development of multi-threaded applications in C#. The thread and memory models complete the abstract operational semantics of C# in [Borger et al. Theoret. Comput. Sci., to appear]. The main invariants of the thread model concerning locks, monitors and mutual exclusion are formally verified in the AsmTP system, an interactive proof assistant based on ASM logic.


Journal of Automated Reasoning | 2003

Completeness of a Bytecode Verifier and a Certifying Java-to-JVM Compiler

Robert F. Stärk; Joachim Schmid

During an attempt to prove that the Java-to-JVM compiler generates code that is accepted by the bytecode verifier, we found examples of legal Java programs that are rejected by the verifier. We propose therefore to restrict the rules of definite assignment for the try-finally statement as well as for the labeled statement so that the example programs are no longer allowed. Then we can prove, using the framework of Abstract State Machines, that each program from the slightly restricted Java language is accepted by the Bytecode Verifier. In the proof we use a new notion of bytecode type assignment without subroutine call stacks.


Lecture Notes in Computer Science | 2004

A Security Logic for Abstract State Machines

Stanislas Nanchen; Robert F. Stärk

We extend the logic for Abstract State Machines by a read predicate that allows to make precise statements about the accesses of locations of an ASM. The logic can be used to prove security properties of ASMs like that the machine does not read locations containing critical information or that all accesses of the machine are in a well-defined region of the abstract memory. The new read predicate is also useful for proving refinements of parallel ASMs to sequential C-like programs. The logic is complete for hierarchical ASMs and still sound for turbo ASMs. It is integrated in the ASMKeY theorem prover.


Lecture Notes in Computer Science | 2003

The hidden computation steps of turbo abstract state machines

Nicu G. Fruja; Robert F. Stärk

Turbo Abstract State Machines are ASMs with parallel and sequential composition and possibly recursive submachine calls. Turbo ASMs are viewed as black-boxes that can combine arbitrary many steps of one or more submachines into one big step. The intermediate steps of a turbo ASM are not observable from outside. It is not even clear what exactly the intermediate steps are, because the semantics of turbo ASMs is usually defined inductively along the call graph of the ASM and the structure of the rule bodies. The most important application of turbo ASMs are recursive algorithms. Such algorithms can directly be simulated on turbo ASMs without transforming them into multi-agent (distributed) ASMs. In this article we analyze the hidden intermediate steps of turbo ASMs and characterize them using PAR/SEQ trees. We also address the problem of the reserve in the presence of recursion and sequential composition. Turbo ASMs with return values are obtained by syntactic sugar.


computer science logic | 2001

A Logic for Abstract State Machines

Robert F. Stärk; Stanislas Nanchen

We introduce a logic for sequential, non distributed Abstract State Machines. Unlike other logics for ASMs which are based on dynamic logic, our logic is based on atomic propositions for the function updates of transition rules. We do not assume that the transition rules of ASMs are in normal form, for example, that they concern distinct cases. Instead we allow structuring concepts of ASM rules including sequential composition and possibly recursive submachine calls. We show that several axioms that have been proposed for reasoning about ASMs are derivable in our system and that the logic is complete for hierarchical (non-recursive) ASMs.

Collaboration


Dive into the Robert F. Stärk's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge