The Safety-Critical Java Memory Model A Formal Account
|
|
- Gregory Chambers
- 7 years ago
- Views:
Transcription
1 The Safety-Critical Java Memory Model A Formal Account Ana Cavalcanti Andy Wellings Jim Woodcock University of York IFIP WG 2.3, September / 24
2 Outline Safety-Critical Java (SCJ) Unifying theories of programming (UTP) Invariants in the UTP A theory for the Safety-Critical Java memory model Memory safety Programming variables and their values Conclusions 2 / 24
3 Safety-Critical Java two languages dominate high-integrity real-time systems safer C/C++ subsets little formal support Ada subsets: Spark, Ravenscar profile Spark Examiner new development: Safety-Critical Java international effort lead by the Open Group performed under Java Community Process based on RTSJ: Real-Time Specification for Java 3 / 24
4 Java all objects placed on heap, scanned by garbage collector method local variables stored in stack each thread of control has associated stack variables and object fields primitive or reference programmer doesn t need to worry about memory management 4 / 24
5 RTSJ regionalised memory areas for dynamic objects scoped and immortal memory object scopes depend on threads when supporting threads die, objects are collected immortal objects persist scope rules forbid dangling references rule violation is a run-time error programmer must place object in appropriate scope tool support required for efficiency and exception-freedom 5 / 24
6 SCJ restricts RTSJ use of the heap annotations for static memory-safety checking rules & tools by Tang, Plsek, Vitek non-trivial validation: e.g., overly restrictive rules independent correctness criteria required contributions? informal description: SCJ memory model rationale relational memory semantics starting point for program development technique 6 / 24
7 Safety-Critical Java Memory model safety-critical software spectrum single thread, single processor, simple timing constraint multi-thread, multi-mode, multi-processor three compliance levels level 1: roughly Ravenscar profile mission: bounded set of asynchronous event handlers (ASEHs) sequence of releases periodic: time triggered aperiodic: event triggered safety-critical programming no memory allocation during execution manual allocation too error-prone garbage collection too complex SCJ memory model safe, predictable dynamic memory management restricted scoped memory no garbage collection 7 / 24
8 Application structure Start MissionSequencer Halt Mission Selection Mission Initialisation Mission Execution Mision Cleanup 8 / 24
9 Scoped memory area Immortal lm Memory X X X Per Mission Memory (a Scoped Memory Area) X X X ASEH 1 Per Release Scoped Memory Per Release Scoped Memory Per Release Scoped Memory X Per Release Scoped Memory Temporary Private Scoped Memory ASEH2 ASEH3 Temporary Private Scoped Memory ASEH1 Thread Stacks (one per ASEH and one each for the mission sequencer and main program) Key: X Valid object references an illegal reference ASEH4. SCJ Memory Areas 9 / 24
10 hijac: High Integrity Java Applications in Circus Five-year project First effort to formalise the SCJ paradigm Highly constrained programming architecture Java is a vehicle Paradigm not identified Circus family: Z and CSP + time + object-orientation Semantic model: UTP 10 / 24
11 Unifying theories of programming Relational predicative model: alphabetised predicates Combination of paradigms Refinement Theories Observational variables (and their dashed counterparts) Healthiness conditions Relations: x > x Designs: (x > 0 x = x + 1) 11 / 24
12 Designs Theory Pre and postcondition specifications Observational variables: ok and ok (P Q) = (ok P ok Q) Design healthiness conditions H1 P = ok P H2 P = P ; J where J = (ok ok ) v = v Every design D can be written as ( D f D t ) D b = D[b/ok ] 12 / 24
13 Invariants in the UTP Operation invariants P Q Ψ OIH(Ψ) D = D (ok D f Ψ) State invariants (P ψ Q ψ ) ISH(ψ) D = D (ok D f ψ ok D t ) OSH(ψ) D = D (ok D f ψ ψ ) SIH(ψ) = ISH(ψ) OSH(ψ) 13 / 24
14 Type Definitions program, mission sequencer, event handlers: stacks of frames frames: execution context for methods variables: VName values are primitive values or references: Value = PValue Ref null: a primitive value Frame = VName Value mission handlers: HName 14 / 24
15 Type Definitions references in a frame: refsin F (f ) = ran(f Ref ) object values: OValue = VName Value memory contents: MAreaC = Ref OValue references to resident objects in a memory area: refsres(ma) = dom ma references in a memory area: refsin MA (ma) = { r : Ref r : refsres(ma) r ran(ma(r )) } profile maps resident references to their object fields profile : MAreaC (Ref F VName) profile(ma) = { r : dom ma r dom(ma(r)) } 15 / 24
16 A theory for the SCJ memory model Alphabet pstack, msstack : stack Frame handlers : F HName hstack : handlers stack Frame immortal, mission : MAreaC perr : handlers MAreaC tpriv : handlers stack MAreaC. Diagram Types Frame = VName Value MAreaC = Ref OValue 16 / 24
17 Healthiness conditions Objects only ever added to immortal memory HSCJ1 = OIH(profile(immortal) profile(immortal )) Program stack related to immortal memory HSCJ2 = SIH(refsIn(pStack) refsres(immortal)) Immortal memory is closed HSCJ3 = SIH(refsIn(immortal) refsres(immortal)) 17 / 24
18 Healthiness conditions Objects only ever added to immortal memory HSCJ1 = OIH(profile(immortal) profile(immortal )) Sequencer stack related to immortal and mission memory HSCJ4 = SIH(refsIn(msStack) refsres({immortal, mission})) Mission memory is closed HSCJ5 = SIH(refsIn(mission) refsres({immortal, mission})) 17 / 24
19 Healthiness conditions Similar for the other stacks and memory areas. Profile of mission, per release, and temporary private areas We cannot relate mission and mission, for instance. History variables Similar to timed model Memory areas are disjoint HSCJ9 = SIH disjoint refsres immortal, refsres mission seqpr(perr) seqtp(tpriv) seqpr(perr)/seqtp(tpriv): sequences of sets of references residing in per-release/temporary private memory 18 / 24
20 Memory safety s f 2 x r2 b r3 f 1 z 2 y r1 m 1 r2 m n r3 r4 m 2 r1 x r3 r3 u v null r5 r5 c 6 w r2. Stack-areas Example 19 / 24
21 Memory safety Regions and dangling references Frame = VName Value MAreaC = Ref OValue OValue = VName Value regionrefs(rs, mas) = ((( mas) o 9 ran) Ref ) ( rs ) regionframe(f, mas) = regionrefs(refsin F (f ), mas) region(sf, mas) = { f : sf regionframe(f, mas) } nodangref (sf, mas) = (region(sf, mas) refsres(mas)) r3 r2 r4 r1 r5 20 / 24
22 Memory safety Healthiness conditions HMS1 = SIH(noDangRef (pstack, {immortal})) HMS2 = SIH(noDangRef (msstack, {immortal, mission})) HMS3 = SIH( h : handlers nodangref (hstack(h), mas)) where mas = {immortal, mission, perr(h) } ran(tpriv(h)) Theorem: Every SCJ-healthy predicate is HMS-healthy 21 / 24
23 Programming variables and their values The AVS model A: valid addresses V : values of terminals S: sharing relation. Example Example: x Addresses: x, x.m, x.n, x.m.u, and so on. Values of terminals: x.m.u is null, x.m.v.c is 6, and so on. 22 / 24
24 Programming variables and their values Healthiness conditions HV1 = SIH( v : vars(pstack) v =!(v, pstack, {immortal})) ( v : vars(msstack) HV2 = SIH v =!(v, msstack, {immortal, mission}) ) HV3 = h : handlers ( v : vars(hstack h) ) SIH v, hstack h, v =! {immortal, mission, perr h} ran(tpriv h) 23 / 24
25 Conclusions and future work First formalisation of the SCJ memory model Essential ingredient for reasoning by refinement General results on UTP theories Future work Connections to other theories Extension to Circus Refinement laws and strategies 24 / 24
Reasoning about Safety Critical Java
Reasoning about Safety Critical Java Chris Marriott 27 th January 2011 Motivation Safety critical systems are becoming part of everyday life Failure can potentially lead to serious consequences Verification
More informationJava in sicherheits-kritischen Systemen: Das HIJA-Profil
Java in sicherheits-kritischen Systemen: Das HIJA-Profil... Korrektheitsnachweis für (echtzeit-) Java Anwendungen Dr. Fridtjof Siebert Director of Development, aicas GmbH Java Forum, Stuttgart, 7. Juli
More informationAntonio Kung, Trialog. HIJA technical coordinator. Scott Hansen, The Open Group. HIJA coordinator
HIJA Antonio Kung, Trialog HIJA technical coordinator Scott Hansen, The Open Group HIJA coordinator 1 Presentation Outline HIJA project ANRTS platforms Requirements for ANRTS platforms Profiles based on
More informationValidating Java for Safety-Critical Applications
Validating Java for Safety-Critical Applications Jean-Marie Dautelle * Raytheon Company, Marlborough, MA, 01752 With the real-time extensions, Java can now be used for safety critical systems. It is therefore
More informationChecking Memory Safety of Level 1 Safety-Critical Java Programs using Static-Analysis without Annotations
Checking Memory Safety of Level 1 Safety-Critical Java Programs using Static-Analysis without Annotations Chris Marriott University of York, UK Thesis Seminar - July 2014 Chris Marriott - University of
More informationIntegrated Development of Distributed Real-Time Applications with Asynchronous Communication
Integrated Development of Distributed Real-Time Applications with Asynchronous Communication Marc Schanne International Workshop on Java Technologies for Real-time and Embedded Systems (JTRES) 26-28 September
More informationRealtime Java. Christoph Neijenhuis
Realtime Java Christoph Neijenhuis Agenda 2 RT Problems in Java Solutions: RTSJ and others Guiding Principles Memory Management Threads Asynchronous Event Handling Scheduling Time Synchronization Implementations
More informationReal Time Programming: Concepts
Real Time Programming: Concepts Radek Pelánek Plan at first we will study basic concepts related to real time programming then we will have a look at specific programming languages and study how they realize
More informationApplying RAMS Principles to the Development of a Safety-Critical Java Specification. broad issues: reliability, availability, maintainability,
Applying RAMS Principles to the Development of a Safety-Critical Java Specification Almost all software for aerospace and defense applications is required to satisfy reliable, available, maintainable,
More informationMechanical Reasoning about Families of UTP Theories
Mechanical Reasoning about Families of UTP Theories Frank Zeyda and Ana Cavalcanti February 10, 2009 Abstract In this paper we present a semantic embedding of Hoare and He s Unifying Theories of Programming
More informationTutorial: Getting Started
9 Tutorial: Getting Started INFRASTRUCTURE A MAKEFILE PLAIN HELLO WORLD APERIODIC HELLO WORLD PERIODIC HELLO WORLD WATCH THOSE REAL-TIME PRIORITIES THEY ARE SERIOUS SUMMARY Getting started with a new platform
More informationDesign Pattern for the Adaptive Scheduling of Real-Time Tasks with Multiple Versions in RTSJ
Design Pattern for the Adaptive Scheduling of Real-Time Tasks with Multiple Versions in RTSJ Rodrigo Gonçalves, Rômulo Silva de Oliveira, Carlos Montez LCMI Depto. de Automação e Sistemas Univ. Fed. de
More informationJava technology trends offer renewed promise for portable embedded applications
Java technology trends offer renewed promise for portable embedded applications By Dave Wood Because of the promise of increased productivity and reduced error incidence, achieving program portability
More information3 Extending the Refinement Calculus
Building BSP Programs Using the Refinement Calculus D.B. Skillicorn? Department of Computing and Information Science Queen s University, Kingston, Canada skill@qucis.queensu.ca Abstract. We extend the
More informationRecent Advances in Financial Planning and Product Development
Memory Management in Java and Ada Language for safety software development SARA HOSSEINI-DINANI, MICHAEL SCHWARZ & JOSEF BÖRCSÖK Computer Architecture & System Programming University Kassel Wilhelmshöher
More informationThe EMSX Platform. A Modular, Scalable, Efficient, Adaptable Platform to Manage Multi-technology Networks. A White Paper.
The EMSX Platform A Modular, Scalable, Efficient, Adaptable Platform to Manage Multi-technology Networks A White Paper November 2002 Abstract: The EMSX Platform is a set of components that together provide
More informationOperating Systems. 05. Threads. Paul Krzyzanowski. Rutgers University. Spring 2015
Operating Systems 05. Threads Paul Krzyzanowski Rutgers University Spring 2015 February 9, 2015 2014-2015 Paul Krzyzanowski 1 Thread of execution Single sequence of instructions Pointed to by the program
More informationMAC A Run Time monitoring and checking tool
MAC A Run Time monitoring and checking tool Gursharan Singh Mohd. Salman Mehmood Agenda Motivation Software Development Steps Methods New Paradigm (Runtime Verification) Materializing Runtime Verification
More informationArchitecture-Awareness for Real-Time Big Data Systems
Architecture-Awareness for Real-Time Big Data Systems ABSTRACT Ian Gray ian.gray@york.ac.uk Yu Chan yc522@york.ac.uk Existing programming models for distributed and cloudbased systems tend to abstract
More informationIntroduction to Static Analysis for Assurance
Introduction to Static Analysis for Assurance John Rushby Computer Science Laboratory SRI International Menlo Park CA USA John Rushby Static Analysis for Assurance: 1 Overview What is static analysis?
More informationAn evaluation of the Java Card environment
An evaluation of the Java Card environment Christophe Rippert, Daniel Hagimont Contact: Christophe Rippert, Sirac Laboratory INRIA Rhône-Alpes, 655 avenue de l Europe Montbonnot 38334 St Ismier Cedex,
More informationOrganization of Programming Languages CS320/520N. Lecture 05. Razvan C. Bunescu School of Electrical Engineering and Computer Science bunescu@ohio.
Organization of Programming Languages CS320/520N Razvan C. Bunescu School of Electrical Engineering and Computer Science bunescu@ohio.edu Names, Bindings, and Scopes A name is a symbolic identifier used
More informationProgramming real-time systems with C/C++ and POSIX
Programming real-time systems with C/C++ and POSIX Michael González Harbour 1. Introduction The C language [1], developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories, is the most widely
More informationReal Time Cloud Computing
Real Time Cloud Computing Nitesh Kumar Jangid Amity Institute of Information Technology, Amity University Rajasthan, Jaipur, Rajasthan, India njangid@jpr.amity.edu Proceedings of the 1 st National Conference;
More informationMulti-core Programming System Overview
Multi-core Programming System Overview Based on slides from Intel Software College and Multi-Core Programming increasing performance through software multi-threading by Shameem Akhter and Jason Roberts,
More informationProgramming Embedded Systems
Programming Embedded Systems Lecture 13 Overview of memory management Monday Feb 27, 2012 Philipp Rümmer Uppsala University Philipp.Ruemmer@it.uu.se 1/32 Lecture outline Memory architecture of microcontrollers,
More informationMonitoring Java enviroment / applications
Monitoring Java enviroment / applications Uroš Majcen uros@quest-slo.com Java is Everywhere You Can Expect More. Java in Mars Rover With the help of Java Technology, and the Jet Propulsion Laboratory (JPL),
More informationCSCI E 98: Managed Environments for the Execution of Programs
CSCI E 98: Managed Environments for the Execution of Programs Draft Syllabus Instructor Phil McGachey, PhD Class Time: Mondays beginning Sept. 8, 5:30-7:30 pm Location: 1 Story Street, Room 304. Office
More informationReplication on Virtual Machines
Replication on Virtual Machines Siggi Cherem CS 717 November 23rd, 2004 Outline 1 Introduction The Java Virtual Machine 2 Napper, Alvisi, Vin - DSN 2003 Introduction JVM as state machine Addressing non-determinism
More informationRun-Time Monitoring of Goal-Oriented Requirements Specifications
Department of Computer Science University College London University of London Run-Time Monitoring of Goal-Oriented Requirements Specifications Andrew Ross Dingwall-Smith Submitted for the degree of Doctor
More informationJava Virtual Machine Locks
Java Virtual Machine Locks SS 2008 Synchronized Gerald SCHARITZER (e0127228) 2008-05-27 Synchronized 1 / 13 Table of Contents 1 Scope...3 1.1 Constraints...3 1.2 In Scope...3 1.3 Out of Scope...3 2 Logical
More informationCloud Computing and Robotics for Disaster Management
2016 7th International Conference on Intelligent Systems, Modelling and Simulation Cloud Computing and Robotics for Disaster Management Nitesh Jangid Information Technology Department Green Research IT
More informationReal-Time Big Data: the JUNIPER Approach
Big Data: the JUNIPER Approach N. C. Audsley, Y. Chan, I. Gray & A. J. Wellings Research Group, Department of Computer Science, University of York, UK Abstract Cloud computing offers the possibility for
More informationUsing UML Part Two Behavioral Modeling Diagrams
UML Tutorials Using UML Part Two Behavioral Modeling Diagrams by Sparx Systems All material Sparx Systems 2007 Sparx Systems 2007 Page 1 Trademarks Object Management Group, OMG, Unified Modeling Language,
More informationTowards practical reactive security audit using extended static checkers 1
Towards practical reactive security audit using extended static checkers 1 Julien Vanegue 1 Shuvendu K. Lahiri 2 1 Bloomberg LP, New York 2 Microsoft Research, Redmond May 20, 2013 1 The work was conducted
More informationDepartamento de Investigación. LaST: Language Study Tool. Nº 143 Edgard Lindner y Enrique Molinari Coordinación: Graciela Matich
Departamento de Investigación LaST: Language Study Tool Nº 143 Edgard Lindner y Enrique Molinari Coordinación: Graciela Matich Noviembre 2005 Para citar este documento: Lindner, Edgard; Enrique Molinari,
More informationOperatin g Systems: Internals and Design Principle s. Chapter 10 Multiprocessor and Real-Time Scheduling Seventh Edition By William Stallings
Operatin g Systems: Internals and Design Principle s Chapter 10 Multiprocessor and Real-Time Scheduling Seventh Edition By William Stallings Operating Systems: Internals and Design Principles Bear in mind,
More informationConstant-Time Root Scanning for Deterministic Garbage Collection
Constant-Time Root Scanning for Deterministic Garbage Collection Fridtjof Siebert Institut für Programmstrukturen and Datenorganisation (IPD) Universität Karlsruhe Am Fasanengarten 5 76128 Karlsruhe, Germany
More informationFachbereich Informatik und Elektrotechnik SunSPOT. Ubiquitous Computing. Ubiquitous Computing, Helmut Dispert
Ubiquitous Computing Ubiquitous Computing The Sensor Network System Sun SPOT: The Sun Small Programmable Object Technology Technology-Based Wireless Sensor Networks a Java Platform for Developing Applications
More informationSequence Diagrams. Massimo Felici. Massimo Felici Sequence Diagrams c 2004 2011
Sequence Diagrams Massimo Felici What are Sequence Diagrams? Sequence Diagrams are interaction diagrams that detail how operations are carried out Interaction diagrams model important runtime interactions
More information1 The Java Virtual Machine
1 The Java Virtual Machine About the Spec Format This document describes the Java virtual machine and the instruction set. In this introduction, each component of the machine is briefly described. This
More informationSemester Review. CSC 301, Fall 2015
Semester Review CSC 301, Fall 2015 Programming Language Classes There are many different programming language classes, but four classes or paradigms stand out:! Imperative Languages! assignment and iteration!
More informationStaRVOOrS: A Tool for Combined Static and Runtime Verification of Java
StaRVOOrS: A Tool for Combined Static and Runtime Verification of Java Jesús Mauricio Chimento 1, Wolfgang Ahrendt 1, Gordon J. Pace 2, and Gerardo Schneider 3 1 Chalmers University of Technology, Sweden.
More informationLinking CSP-OZ with UML and Java: A Case Study
Linking CSP-OZ with UML and Java: A Case Study Michael Möller, Ernst-Rüdiger Olderog, Holger Rasch, and Heike Wehrheim Department of Computing Science University of Oldenburg 26111 Oldenburg, Germany {michael.moeller,olderog,rasch,wehrheim}@informatik.uni-oldenburg.de
More informationInstrumentation Software Profiling
Instrumentation Software Profiling Software Profiling Instrumentation of a program so that data related to runtime performance (e.g execution time, memory usage) is gathered for one or more pieces of the
More informationProgramming Language Pragmatics
Programming Language Pragmatics THIRD EDITION Michael L. Scott Department of Computer Science University of Rochester ^ШШШШШ AMSTERDAM BOSTON HEIDELBERG LONDON, '-*i» ЩЛ< ^ ' m H NEW YORK «OXFORD «PARIS»SAN
More informationSoftware Architecture Document
Software Architecture Document Natural Language Processing Cell Version 1.0 Natural Language Processing Cell Software Architecture Document Version 1.0 1 1. Table of Contents 1. Table of Contents... 2
More informationAUTOMATED TEST GENERATION FOR SOFTWARE COMPONENTS
TKK Reports in Information and Computer Science Espoo 2009 TKK-ICS-R26 AUTOMATED TEST GENERATION FOR SOFTWARE COMPONENTS Kari Kähkönen ABTEKNILLINEN KORKEAKOULU TEKNISKA HÖGSKOLAN HELSINKI UNIVERSITY OF
More informationSoftware Service Engineering Architect s Dream or Developer s Nightmare?
Software Service Engineering Architect s Dream or Developer s Nightmare? Gregor Hohpe Google, 1600 Amphitheatre Parkway, Mountain View, CA 94043 gregor@hohpe.com Abstract. Architectural principles such
More informationRestraining Execution Environments
Restraining Execution Environments Segurança em Sistemas Informáticos André Gonçalves Contents Overview Java Virtual Machine: Overview The Basic Parts Security Sandbox Mechanisms Sandbox Memory Native
More informationICECCS 08/Workshop «UML&AADL 2008», April, 2, 2008
Contract-based approach to analyze software components Abdelhafid Zitouni Lionel SEINTURIER Mahmoud BOUFAIDA Laboratory LIRE LIFL-INRIA ADAM Laboratory LIRE University of Constantine University of Lille
More informationRUNTIME software monitoring has been used for profiling,
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 30, NO. 12, DECEMBER 2004 859 A Taxonomy and Catalog of Runtime Software-Fault Monitoring Tools Nelly Delgado, Student Member, IEEE, Ann Quiroz Gates, Member,
More informationKWIC Implemented with Pipe Filter Architectural Style
KWIC Implemented with Pipe Filter Architectural Style KWIC Implemented with Pipe Filter Architectural Style... 2 1 Pipe Filter Systems in General... 2 2 Architecture... 3 2.1 Pipes in KWIC system... 3
More informationRun-Time Assertion Checking and Monitoring Java Programs
Run-Time Assertion Checking and Monitoring Java Programs Envisage Bertinoro Summer School June 2014 June 19, 2014 Your Lecturers Today Frank en Stijn What This Talk Is All About Formal Methods in Practice:
More informationOpen Source Implementation of Hierarchical Scheduling for Integrated Modular Avionics
Open Source Implementation of Hierarchical Scheduling for Integrated Modular Avionics Juan Zamorano, Juan A. de la Puente Universidad Politécnica de Madrid (UPM) E-28040 Madrid, Spain jzamora@fi.upm.es,
More informationRUMBA: Runtime Monitoring and Behavioral Analysis Framework for Java Software Systems
RUMBA: Runtime Monitoring and Behavioral Analysis Framework for Java Software Systems by Azin Ashkan A thesis presented to the University of Waterloo in fulfilment of the thesis requirement for the degree
More informationJapan Communication India Skill Development Center
Japan Communication India Skill Development Center Java Application System Developer Course Detail Track 2a Java Application Software Developer: Phase1 SQL Overview 70 Introduction Database, DB Server
More informationGeneral Introduction
Managed Runtime Technology: General Introduction Xiao-Feng Li (xiaofeng.li@gmail.com) 2012-10-10 Agenda Virtual machines Managed runtime systems EE and MM (JIT and GC) Summary 10/10/2012 Managed Runtime
More informationToday. Intro to real-time scheduling Cyclic executives. Scheduling tables Frames Frame size constraints. Non-independent tasks Pros and cons
Today Intro to real-time scheduling Cyclic executives Scheduling tables Frames Frame size constraints Generating schedules Non-independent tasks Pros and cons Real-Time Systems The correctness of a real-time
More informationAda 2005 The GNAT Pro Company
Safe and Secure Software An Invitation to Ada 2005 Foreward / Contents / Introduction / Bibliography Courtesy of The GNAT Pro Company John Barnes Foreword The aim of this booklet is to show how the study
More informationAdvanced Operating Systems (M) Dr Colin Perkins School of Computing Science University of Glasgow
Advanced Operating Systems (M) Dr Colin Perkins School of Computing Science University of Glasgow Rationale Radical changes to computing landscape; Desktop PC becoming irrelevant Heterogeneous, multicore,
More informationHardware/Software Co-Design of a Java Virtual Machine
Hardware/Software Co-Design of a Java Virtual Machine Kenneth B. Kent University of Victoria Dept. of Computer Science Victoria, British Columbia, Canada ken@csc.uvic.ca Micaela Serra University of Victoria
More informationTest Automation Architectures: Planning for Test Automation
Test Automation Architectures: Planning for Test Automation Douglas Hoffman Software Quality Methods, LLC. 24646 Heather Heights Place Saratoga, California 95070-9710 Phone 408-741-4830 Fax 408-867-4550
More informationAutomated Detection of Non-Termination and NullPointerExceptions for Java Bytecode
Automated Detection of Non-Termination and NullPointerExceptions for Java Bytecode Marc Brockschmidt, Thomas Ströder, Carsten Otto, and Jürgen Giesl LuFG Informatik 2, RWTH Aachen University, Germany Abstract.
More informationEmbedded Systems Conference April 3-7, San Jose [ESC-447] Safety-Critical Design Techniques for Secure and Reliable Systems
Embedded Systems Conference April 3-7, San Jose [ESC-447] Safety-Critical Design Techniques for Secure and Reliable Systems Robert B. K. Dewar AdaCore dewar@adacore.com What is a Safety Critical Program?
More informationUmbrello UML Modeller Handbook
2 Contents 1 Introduction 7 2 UML Basics 8 2.1 About UML......................................... 8 2.2 UML Elements........................................ 9 2.2.1 Use Case Diagram.................................
More informationEmbedded/Real-Time Software Development with PathMATE and IBM Rational Systems Developer
Generate Results. Real Models. Real Code. Real Fast. Embedded/Real-Time Software Development with PathMATE and IBM Rational Systems Developer Andreas Henriksson, Ericsson andreas.henriksson@ericsson.com
More informationClient/Server Computing Distributed Processing, Client/Server, and Clusters
Client/Server Computing Distributed Processing, Client/Server, and Clusters Chapter 13 Client machines are generally single-user PCs or workstations that provide a highly userfriendly interface to the
More informationZing Vision. Answering your toughest production Java performance questions
Zing Vision Answering your toughest production Java performance questions Outline What is Zing Vision? Where does Zing Vision fit in your Java environment? Key features How it works Using ZVRobot Q & A
More informationJava and Java Virtual Machine Security
Java and Java Virtual Machine Security Vulnerabilities and their Exploitation Techniques by Last Stage of Delirium Research Group http://lsd-pl.net Version: 1.0.0 Updated: October 2nd, 2002 Copyright c
More informationAN OSEK/VDX-BASED MULTI-JVM FOR AUTOMOTIVE APPLIANCES
AN OSEK/VDX-BASED MULTI-JVM FOR AUTOMOTIVE APPLIANCES Christian Wawersich, Michael Stilkerich, Wolfgang Schröder-Preikschat University of Erlangen-Nuremberg Distributed Systems and Operating Systems Erlangen,
More informationHarmless Advice. Daniel S Dantas Princeton University. with David Walker
Harmless Advice Daniel S Dantas Princeton University with David Walker Aspect Oriented Programming Aspect Oriented Programming IBM - 2004 IBM reports positive results in aspect-oriented programming experiments
More informationCharacteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming
Characteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming Java has become enormously popular. Java s rapid rise and wide acceptance can be traced to its design
More informationHow to create/avoid memory leak in Java and.net? Venkat Subramaniam venkats@durasoftcorp.com http://www.durasoftcorp.com
How to create/avoid memory leak in Java and.net? Venkat Subramaniam venkats@durasoftcorp.com http://www.durasoftcorp.com Abstract Java and.net provide run time environment for managed code, and Automatic
More informationLanguage for reconfiguring runtime infrastructure of component-based systems
Language for reconfiguring runtime infrastructure of component-based systems Michal Malohlava, Tomáš Bureš DISTRIBUTED SYSTEMS RESEARCH GROUP http://dsrg.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE FACULTY
More informationFormally speaking: How to apply OCL
Page 1 of 6 Copyright IBM Corporation 2004 http://www-106.ibm.com/developerworks/rational/library/5390.html Search for: within All of dw Use + - ( ) " " Search help IBM home Products & services Support
More informationJapan Communication India Skill Development Center
Japan Communication India Skill Development Center Java Application System Developer Course Detail Track 1B Java Application Software Developer: Phase1 DBMS Concept 20 Entities Relationships Attributes
More informationReal-Time Java for Latency Critical Banking Applications. Bertrand Delsart JavaRTS Technical Leader Author of Sun's RTGC technology
Real-Time Java for Latency Critical Banking Applications Bertrand Delsart JavaRTS Technical Leader Author of Sun's RTGC technology R eal-time S ystem Agenda Background Benefits of a Real-Time Java Virtual
More informationShanelle M. Harris, LeeRoy Bronner Ph.D., P.E. Morgan State University
A Modified System Development Life Cycle for the Analysis of Complex Systems Using the Formal Specification of Software for a Kitchen Cooking Application Shanelle M. Harris, LeeRoy Bronner Ph.D., P.E.
More informationUnified Static and Runtime Verification of Object-Oriented Software
Unified Static and Runtime Verification of Object-Oriented Software Wolfgang Ahrendt 1, Mauricio Chimento 1, Gerardo Schneider 2, Gordon J. Pace 3 1 Chalmers University of Technology, Gothenburg, Sweden
More informationSHIELDS UP! DEFENDING SOFTWARE AGAINST SAFETY & SECURITY RELATED PROGRAMMING ERRORS
SHIELDS UP! DEFENDING SOFTWARE AGAINST SAFETY & SECURITY RELATED PROGRAMMING ERRORS Dr Darren Buttle ETAS GmbH ABSTRACT Software in the modern car is astonishingly complex, comprising thousands of functions
More informationIntroduction to programming
Unit 1 Introduction to programming Summary Architecture of a computer Programming languages Program = objects + operations First Java program Writing, compiling, and executing a program Program errors
More informationTrace-Based and Sample-Based Profiling in Rational Application Developer
Trace-Based and Sample-Based Profiling in Rational Application Developer This document is aimed at highlighting the importance of profiling in software development and talks about the profiling tools offered
More informationDesigning Real-Time and Embedded Systems with the COMET/UML method
By Hassan Gomaa, Department of Information and Software Engineering, George Mason University. Designing Real-Time and Embedded Systems with the COMET/UML method Most object-oriented analysis and design
More informationYour partner when introducing and using modern software development tools. Klaus Wachsmuth Dr. Peter Dencker
Your partner when introducing and using modern software development tools Klaus Wachsmuth Dr. Peter Dencker Aonix - Worldwide Presence In business since 1980 HQ in San Diego In Software TOP 500 300+ employees
More informationSoftware Health Management An Introduction. Gabor Karsai Vanderbilt University/ISIS
Software Health Management An Introduction Gabor Karsai Vanderbilt University/ISIS Tutorial at PHM 2009 Outline Definitions Backgrounds Approaches Summary Definitions Software Health Management: A branch
More informationHow To Write A Multi Threaded Software On A Single Core (Or Multi Threaded) System
Multicore Systems Challenges for the Real-Time Software Developer Dr. Fridtjof Siebert aicas GmbH Haid-und-Neu-Str. 18 76131 Karlsruhe, Germany siebert@aicas.com Abstract Multicore systems have become
More informationA Parameterized Type System for Race-Free Java Programs
ACM Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA), October 2001 A Parameterized Type System for Race-Free Java Programs Chandrasekhar Boyapati Martin Rinard Laboratory
More information2 Introduction to Java. Introduction to Programming 1 1
2 Introduction to Java Introduction to Programming 1 1 Objectives At the end of the lesson, the student should be able to: Describe the features of Java technology such as the Java virtual machine, garbage
More information09336863931 : provid.ir
provid.ir 09336863931 : NET Architecture Core CSharp o Variable o Variable Scope o Type Inference o Namespaces o Preprocessor Directives Statements and Flow of Execution o If Statement o Switch Statement
More informationSafe Object-Oriented Software: The Verified Design-By-Contract Paradigm
Safe Object-Oriented Software: The Verified Design-By-Contract Paradigm David Crocker Escher Technologies Ltd. Aldershot, United Kingdom dcrocker@eschertech.com Abstract. In recent years, large sectors
More informationMemory Safety for Low-Level Software/Hardware Interactions
Memory Safety for Low-Level Software/Hardware Interactions John Criswell University of Illinois criswell@uiuc.edu Nicolas Geoffray Université Pierre et Marie Curie INRIA/Regal nicolas.geoffray@lip6.fr
More informationIn this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology?
In this Lecture you will Learn: Systems Development Methodologies What a systems development methodology is Why methodologies are used The need for different methodologies The main features of one methodology
More informationAmbientes de Desenvolvimento Avançados
Ambientes de Desenvolvimento Avançados http://www.dei.isep.ipp.pt/~jtavares/adav/adav.htm Aula 5 Engenharia Informática 2006/2007 José António Tavares jrt@isep.ipp.pt 1 O que é um componente e o que não
More informationLecture 1 Introduction to Android
These slides are by Dr. Jaerock Kwon at. The original URL is http://kettering.jrkwon.com/sites/default/files/2011-2/ce-491/lecture/alecture-01.pdf so please use that instead of pointing to this local copy
More informationCertification Authorities Software Team (CAST) Position Paper CAST-13
Certification Authorities Software Team (CAST) Position Paper CAST-13 Automatic Code Generation Tools Development Assurance Completed June 2002 NOTE: This position paper has been coordinated among the
More informationSafe Locking for Multi-threaded Java
Safe Locking for Multi-threaded Java Einar Broch Johnsen, Thi Mai Thuong Tran, Olaf Owe, Martin Steffen University of Oslo, Norway NWPT 10 10-12 November, 2010 Motivation Concurrency control mechanisms
More informationDeveloping Embedded Software in Java Part 1: Technology and Architecture
Developing Embedded Software in Java Part 1: Technology and Architecture by Michael Barr Embedded Systems Conference Europe The Netherlands November 16-18, 1999 Course #300 Sun s introduction of the Java
More informationOptimising Cloud Computing with SBSE
Optimising Cloud Computing with SBSE David R. White & Jeremy Singer {david.r.white, jeremy.singer}@glasgow.ac.uk University of Glasgow Monday 25 July 2011 OUTLINE VIRTUAL MACHINES OPPORTUNITIES FOR SBSE
More informationJava in Education. Choosing appropriate tool for creating multimedia is the first step in multimedia design
Java in Education Introduction Choosing appropriate tool for creating multimedia is the first step in multimedia design and production. Various tools that are used by educators, designers and programmers
More information