24,422 research outputs found
Extensible Technology-Agnostic Runtime Verification
With numerous specialised technologies available to industry, it has become
increasingly frequent for computer systems to be composed of heterogeneous
components built over, and using, different technologies and languages. While
this enables developers to use the appropriate technologies for specific
contexts, it becomes more challenging to ensure the correctness of the overall
system. In this paper we propose a framework to enable extensible technology
agnostic runtime verification and we present an extension of polyLarva, a
runtime-verification tool able to handle the monitoring of
heterogeneous-component systems. The approach is then applied to a case study
of a component-based artefact using different technologies, namely C and Java.Comment: In Proceedings FESCA 2013, arXiv:1302.478
Towards a General Framework for Formal Reasoning about Java Bytecode Transformation
Program transformation has gained a wide interest since it is used for
several purposes: altering semantics of a program, adding features to a program
or performing optimizations. In this paper we focus on program transformations
at the bytecode level. Because these transformations may introduce errors, our
goal is to provide a formal way to verify the update and establish its
correctness. The formal framework presented includes a definition of a formal
semantics of updates which is the base of a static verification and a scheme
based on Hoare triples and weakest precondition calculus to reason about
behavioral aspects in bytecode transformationComment: In Proceedings SCSS 2012, arXiv:1307.802
Towards a Java Subtyping Operad
The subtyping relation in Java exhibits self-similarity. The self-similarity
in Java subtyping is interesting and intricate due to the existence of wildcard
types and, accordingly, the existence of three subtyping rules for generic
types: covariant subtyping, contravariant subtyping and invariant subtyping.
Supporting bounded type variables also adds to the complexity of the subtyping
relation in Java and in other generic nominally-typed OO languages such as C#
and Scala. In this paper we explore defining an operad to model the
construction of the subtyping relation in Java and in similar generic
nominally-typed OO programming languages. Operads, from category theory, are
frequently used to model self-similar phenomena. The Java subtyping operad, we
hope, will shed more light on understanding the type systems of generic
nominally-typed OO languages.Comment: 13 page
Formal Verification of Security Protocol Implementations: A Survey
Automated formal verification of security protocols has been mostly focused on analyzing high-level abstract models which, however, are significantly different from real protocol implementations written in programming languages. Recently, some researchers have started investigating techniques that bring automated formal proofs closer to real implementations. This paper surveys these attempts, focusing on approaches that target the application code that implements protocol logic, rather than the libraries that implement cryptography. According to these approaches, libraries are assumed to correctly implement some models. The aim is to derive formal proofs that, under this assumption, give assurance about the application code that implements the protocol logic. The two main approaches of model extraction and code generation are presented, along with the main techniques adopted for each approac
Card-Game Marriage in Internet Environment
Import 29/09/2010Tématem této práce je síťová realizace karetní hry Mariáš. Hru hrají tři hráči proti sobě.
Aplikace má tedy dvě části – server (vytvořený pomocí Java servletu) a klient (vytvořený pomocí Java appletu).
Bylo třeba vytvořit vhodné grafické rozhraní, síťovou vrstvu a server starající se o udržování stavu hry a zajišťující komunikaci mezi klienty. Pro tento účel jsem musela vybrat vhodnou technologii. Další část práce spočívala v implementaci herní logiky, aby bylo zajištěno dodržování pravidel hry.
První kapitola je úvodní. Druhá kapitola srovnává různé serverové technologie a popisuje, proč jsem vybrala Java servlet. Třetí kapitola se týká technologií na straně klienta a zdůvodňuje použití Java appletu. Další kapitola obsahuje způsob řešení samotného programu. Po popisu použitých programů následuje uživatelská dokumentace. Jsou přiložena pravidla hry.This thesis is about creation of card-game Marriage in internet environment. The game is played by three players. The application has two parts: the server (implemented as Java Servlet) and the client (implemented as Java Applet).
First I had to create a graphical user interface, the network layer and the server to take care of the game status and to handle communication with clients. I had to choose an appropriate technology for that purpose. The next part of the work was about implementing the game logic to enforce game rules.
The first chapter contains introduction. In the second chapter, various server-side technologies are compared and reasons why Java Servlet was chosen are given. The third chapter discusses client-side technologies and the choice of Java Applet. Next chapter describes the programming part. The description of software used is then followed by user documentation. The game rules are included in Appendix A.Prezenční456 - Katedra informatikyvelmi dobř
- …