Jean‐Baptiste Faure, Pierre Farissier, Grégory Bonnet · HAL (Le Centre pour la Communication Scientifique Directe) · 2000
We present a new toolbox dedicated to free surface hydraulic applications in river and channel networks. We will focus on design methodology based on UML (Unified Modeling Language) / OOP (Object Oriented Programming), Java code generation and quality insurance. We will discuss case tools organization, our choices of modeling and coding languages, coupling Java modeling application and Fortran numerical solvers, portability, adaptability and performance. We will also present some test cases and study examples. / Nous présentons une nouvelle boîte à outils dédiée aux applications en hydraulique à surface libre pour les réseaux de rivières et de canaux. Nous nous intéressons plus particulièrement à la méthode de conception basée sur UML ( Unified Modeling Language), la programmation orientée objet, la génération de code Java et le développement sous plan qualité. Nous discuterons nos choix en matière d'atelier de génie logiciel, de langages de modélisation et de programmation, du couplage d'applications de modélisation écrites en Java et de solveurs numériques codés en Fortran. Nous insisterons sur les question de portabilité, d'évolutivité et de performances. Enfin nous présentons quelques cas test et exemples d'étude.
Cited by 0
Geoffrey C. Fox, Wojtek Furmanski · 1997
Cited by 0
Robby, Patrice Chalin · 2009
As a Behavioral Interface Specification Language (BISL) for Java, the Java Modeling Language (JML) is tightly coupled to the base language it enhances. Up until Java 1.4, JML kept apace with the evolution of its base language. Java 5 and subsequent revisions have yet to be fully supported by JML tools. Recent efforts such as JML4 have been addressing this issue by providing an Eclipse-based tooling infrastructure. In its current form, JML4 has a fairly steep learning curve for developers wishing to contribute to or extend it. To address this issue and bring JML tools one step closer to a desired plug-in model, we propose a JML Intermediate Representation (JIR) and supporting software infrastructure for JML front-ends and back-ends.
Cited by 12
Julien Groslambert, et al. · 2006
This paper proposes a way to verify temporal properties of a Java class in an extension of JML (Java Modeling Language) called JTPL (Java Temporal Pattern Language). We particularly address the verification of liveness properties by automatically translating the temporal properties into JML annotations for this class. This automatic translation is implemented in a tool called JAG (JML Annotation Generator). Correctness of the generated annotations ensures that the temporal property is established for the executions of the class in isolation.
Cited by 0
D. Zhang, Dragan Bošnački, Mark van den Brand et al. · TU/e Research Portal · 2014
We present work in progress on, verified, transformation of a modeling language based on communicating concurrent state machines, SLCO, to Java. Some concurrency related challenges, related to atomicity and non-standard fairness issues, are pointed out. We discuss solutions based on Java synchronization concepts.
Cited by 6Open access
Georges G. Merx, Ronald J. Norman · Medical Entomology and Zoology · 2006
Preface 1. Introduction to Java in the Context of Software Engineering 2. Experimenting With Classes and Objects 3. The Structure and Syntax of Java 4. Design and Development of Java Applications 5. Architecture-Driven Component Development 6. Introduction to Distributed Computing Concepts 7. Interfacing with Users 8. Implementing Java Programs 9. Software Quality Assurance 10. Information Management in Java 11. Reality Check: Java Programs in the Real World 12. Software Integration and Deployment 13. Java on Various Computer Platforms 14. Advanced Topics in Java Software Engineering 15. The Unified Modeling Language: A Primer
Cited by 1
Nobakht, Behrooz · Leiden Repository (Leiden University) · 2017
The core contributions of this thesis target the intersection of object orientation, actor\nmodel, and concurrency. We choose Java as the main target programming language\nand as one of the mainstream object-oriented languages. We formalize a subset of\nJava and its concurrency API to facilitate formal verification and reasoning\nabout it. We create an abstract mapping from a concurrent-object modeling language, ABS, to the programming semantics of concurrent Java. We provide the formal semantics of the mapping and runtime properties of the concurrency layer including deadlines and scheduling policies. We provide an implementation of the ABS concurrency layer as a Java API library and framework utilizing the latest language additions in Java 8.
Cited by 0Open access
Ricardo Lima · 2015
The Java Modeling Language (JML) is a behavioral in-terface specification language (BISL) designed for Java. It was developed with the aim of improving the functional software correctness of Java applications. The JML com-piler (jmlc) generates bytecodes that use the Java reflection mechanism and data structures not supported by Java ME applications. In order to overcome this limitation, we pro-pose the use of AspectJ to implement a new JML compiler, which generates an instrumented bytecode compliant with both Java SE and Java ME applications. The paper also includes a comparative study to demonstrate the quality of the final code generated by our compiler. Results indicate that the overhead in code size produced by our compiler is very small, which is essential for Java ME applications. 1
Cited by 0
Nobakht, Behrooz · Data Archiving and Networked Services (DANS) · 2016
The core contributions of this thesis target the intersection of object orientation, actor\nmodel, and concurrency. We choose Java as the main target programming language\nand as one of the mainstream object-oriented languages. We formalize a subset of\nJava and its concurrency API to facilitate formal verification and reasoning\nabout it. We create an abstract mapping from a concurrent-object modeling language, ABS, to the programming semantics of concurrent Java. We provide the formal semantics of the mapping and runtime properties of the concurrency layer including deadlines and scheduling policies. We provide an implementation of the ABS concurrency layer as a Java API library and framework utilizing the latest language additions in Java 8.
Cited by 0Open access
Matteo Avalle, A. Pironti, Riccardo Sisto et al. · 2011
This paper presents JavaSPI, a "model-driven" development framework that allows the user to reliably develop security protocol implementations in Java, starting from abstract models that can be verified formally. The main novelty of this approach stands in the use of Java as both a modeling language and the implementation language. By using the SSL handshake protocol as a reference example, this paper illustrates the JavaSPI framework.
Cited by 18
2008
Mobile communicating systems are ubiquitous in the modern world. The π-calculus proposed by Milner et al [Milner et al. 1992] sets a theoretical foundation for modeling mobile communicating systems such as the Internet, in which links can be sent from processes to processes and a process can use a received link to interact with another process. Here, we present a language named π-language for programming π-calculus processes and a compiler named pi2j for translating the π-programs to Java code, which can be compiled with the Java compiler to JVM bytecode and, then, executed on the Java Virtual Machine. Thus, we implement the π-calculus in the Java language. 1
Cited by 0
Matthew Barry, Richard N. Osborne · NASA STI Repository (National Aeronautics and Space Administration) · 2006
A computer program called "Rational Sequence" generates Universal Modeling Language (UML) sequence diagrams of a target Java program running on a Java virtual machine (JVM). Rational Sequence thereby performs a reverse engineering function that aids in the design documentation of the target Java program. Whereas previously, the construction of sequence diagrams was a tedious manual process, Rational Sequence generates UML sequence diagrams automatically from the running Java code.
Cited by 0Open access
Gary T. Leavens · 2015
JML, the Java Modeling Language, is a formal specification language tailored to the specification of sequential Java classes and interfaces. It features contracts in the style of design by contract (as in Eiffel), as well as more sophisticated features that allow it to be used with a variety of tools from dynamic assertion checking to static verification. The talk will explain JML using some small examples.
Cited by 4
Abi-Antoun, Marwan, Aldrich, Jonathan, Garlan, David et al. · KiltHub Repository · 2005
We demonstrate a tool to incrementally synchronize an Acme architectural model described in the Acme Architectural Description Language (ADL) with an implementation in ArchJava, an extension of the Java programming language that includes explicit architectural modeling constructs
Cited by 0Open access
David J. Murray, Dale E. Parson · ArXiv.org · 2001
Correctness constraints provide a foundation for automated debugging within object-oriented systems. This paper discusses a new approach to incorporating correctness constraints into Java development environments. Our approach uses the Object Constraint Language ("OCL") as a specification language and the Java Debug Interface ("JDI") as a verification API. OCL provides a standard language for expressing object-oriented constraints that can integrate with Unified Modeling Language ("UML") software models. JDI provides a standard Java API capable of supporting type-safe and side effect free runtime constraint evaluation. The resulting correctness constraint mechanism: (1) entails no programming language modifications; (2) requires neither access nor changes to existing source code; and (3) works with standard off-the-shelf Java virtual machines ("VMs"). A prototype correctness constraint auditor is presented to demonstrate the utility of this mechanism for purposes of automated debugging.
Cited by 8Open access
Marwan Abi-antoun, Jonathan Aldrich, David Garlan et al. · 2008
We demonstrate a tool to incrementally synchronize an Acme architectural model described in the Acme Architectural Description Language (ADL) with an implementation in ArchJava, an extension of the Java programming language that includes explicit architectural modeling constructs.
Cited by 0
Paulo Augusto Nardi · 2013
data type ANN -Artificial neural network GUI -graphical user interface IFN -Info-fuzzy network JML -Java Modeling Language MITL -Microsoft Transformation Language MMS -Main memory space NN -Neural network (as ANN) OIU -Oracle information unit RBF -Radial
Cited by 5Open access
Abi-Antoun, Marwan, Aldrich, Jonathan, Garlan, David et al. · KiltHub Repository · 2005
We demonstrate a tool to incrementally synchronize an Acme architectural model described in the Acme Architectural Description Language (ADL) with an implementation in ArchJava, an extension of the Java programming language that includes explicit architectural modeling constructs
Cited by 0Open access
Copyright Gary, Gary Leavens, Gary T. Leavens et al. · 1998
JML is a behavioral interface specification language tailored to Java. JML is designed to be used by working software engineers, and requires only modest mathematical training. To achieve this goal, JML uses Eiffel-style assertion syntax combined with model-based approach to specifications. However, JML supports quantifiers, specification-only variables, frame conditions, and other enhancements that make it more expressive for specification than Eiffel. This paper discusses the goals of JML, the overall approach, and describes the language through examples. It is intended for readers who have some familiarity with both Java and behavioral specification using pre- and postconditions. 1 Introduction JML stands for "Java Modeling Language." JML is a behavioral interface specification language (BISL) [Win87] designed to specify Java [AG98, GJS96] modules. Java modules are classes and interfaces. The main goal of the research presented in this paper is to better understand how to make BIS...
Cited by 0
Ghaith Haddad, Ghaith N. Haddad, Major Professor et al. · 2012
The Java platform is becoming a vital tool for developing real-time and safety-critical systems. Design patterns and the availability of Java libraries, both provide solutions to many known problems. Furthermore, the object-oriented nature of Java simplifies modular development of real-time systems. However, limitations of Java as a programming language for real-time systems are a notable obstacle to producing safe real-time systems. These limitations are found in the unpredectible execution model of the language, due to Java’s garbage collector, and the lack of support for non-functional specification and verification tools. In this dissertation I introduce SafeJML, a specification language for support of functional and non-functional specifications, based on an implementation of a safety-critical Java platform and the Java Modeling Language (JML). This dissertation concentrates on techniques that enable specification and dynamic checking of timing constraints for some important Java features, including methods and subtyping. SafeJML and these dynamic checking techniques allow modular specification and checking of safety-critical systems, including those that use object-orientation and design patterns.
Cited by 0