The document discusses the SuReal methodology for modeling and timing analysis of embedded real-time systems. SuReal uses a model-based approach with UML profiles and MARTE annotations to capture real-time requirements and behavior. It performs timing analysis at both the code level using AbsInt aiT and the system level using Symtavision SymTA/S. The toolchain integrates these analyses to verify schedulability and detect potential runtime errors. The document provides an overview of the SuReal techniques and processes timing analysis, scheduling analysis, and data flow analysis to optimize real-time system development.
El documento describe tres proyectos de arquitectura y diseño: el Centro Marítimo Juvenil, el Parque Highline diseñado por Diller Scofidio + Renfro con paisajismo de James Corner, y el Muelle de Baño en el Puerto.
The document discusses a professor who teaches computer science courses at Santa Fe College in Gainesville, Florida. She has been a tenured faculty member there for 11 years. She received her degree in Computer and Information Sciences from the University of Florida and previously worked as a software developer for IBM and AT&T. She enjoys spending time with her family, which includes her husband of 23 years, three children, and a 7-year old Pomeranian named Biscuit. She also enjoys reading, biking, running and watching British television shows.
El documento describe tres proyectos de arquitectura y diseño: el Centro Marítimo Juvenil, el Parque Highline diseñado por Diller Scofidio + Renfro con paisajismo de James Corner, y el Muelle de Baño en el Puerto.
The document describes and provides code implementations for several root-finding numerical methods, including:
1) Bisection method to find roots of a function within a given interval.
2) Newton-Raphson method to iteratively find successively better approximations to the roots of a function.
3) Secant method, another iterative root-finding method similar to Newton-Raphson but uses information from two previously computed points.
4) False position method, also known as regula falsi, to bracket a root within two intervals where the function changes sign and narrow the intervals at each step.
This short message wishes Jessica a happy birthday from Andrés and Catherine. It references an inside joke from a bowl game in Detroit and expresses their wish that Jessica has a special day full of friends and laughter, signing off that they miss her and wish they could sing to her in person.
El documento describe tres proyectos de arquitectura y diseño: el Centro Marítimo Juvenil, el Parque Highline diseñado por Diller Scofidio + Renfro con paisajismo de James Corner, y el Muelle de Baño en el Puerto.
The document discusses a professor who teaches computer science courses at Santa Fe College in Gainesville, Florida. She has been a tenured faculty member there for 11 years. She received her degree in Computer and Information Sciences from the University of Florida and previously worked as a software developer for IBM and AT&T. She enjoys spending time with her family, which includes her husband of 23 years, three children, and a 7-year old Pomeranian named Biscuit. She also enjoys reading, biking, running and watching British television shows.
El documento describe tres proyectos de arquitectura y diseño: el Centro Marítimo Juvenil, el Parque Highline diseñado por Diller Scofidio + Renfro con paisajismo de James Corner, y el Muelle de Baño en el Puerto.
The document describes and provides code implementations for several root-finding numerical methods, including:
1) Bisection method to find roots of a function within a given interval.
2) Newton-Raphson method to iteratively find successively better approximations to the roots of a function.
3) Secant method, another iterative root-finding method similar to Newton-Raphson but uses information from two previously computed points.
4) False position method, also known as regula falsi, to bracket a root within two intervals where the function changes sign and narrow the intervals at each step.
This short message wishes Jessica a happy birthday from Andrés and Catherine. It references an inside joke from a bowl game in Detroit and expresses their wish that Jessica has a special day full of friends and laughter, signing off that they miss her and wish they could sing to her in person.
The document discusses HTML5 and how to transition from older markup languages. HTML5 is the basis for web applications and includes semantic elements, video, audio, canvas, and SVG. It provides backwards compatibility and faster rendering. To start, use a simple doctype declaration and remove type attributes from links and scripts. New HTML5 elements like header, nav, section, article, aside, and footer can be used to structure pages instead of divs.
The document describes the MONK project which provides over 1400 works of English literature from the 16th-19th century tagged and stored in a database. It discusses using the data for various types of text analysis including predictive modeling, sentiment analysis, and information extraction. Specific techniques are described like named entity recognition, co-reference resolution, and semantic role analysis. Visualization of results is also mentioned.
The document introduces the Unified Modeling Language (UML) as a standard modeling language used to visualize, specify, construct and document software systems. It discusses what models are, provides examples of modeling, and outlines the history and development of UML through the merging of existing object-oriented modeling languages and methods. The key concepts of UML including modeling system components, relationships, architectures and diagrams are also summarized.
This document discusses developing e-commerce applications using Oracle and Java. It covers challenges of e-commerce such as high availability, performance, and security. It then discusses important Java features, when to use Java, and PL/SQL packages and their Java equivalents. The document also discusses Java server platforms, ensuring JVM setup, configuration tips, checking IIOP connectivity, supporting application developers, and choosing appropriate client-side interfaces like JDBC and SQLJ. It provides tips on choosing the right tools, reducing footprint, improving speed, increasing concurrent connections, using PL/SQL in Java, and Java security.
This document discusses the Scala programming language. It begins by asking why Scala should be used instead of Java on the JVM. It then provides quotes from experts like James Gosling and Charles Nutter saying Scala is the heir to Java and they would have used Scala instead of creating other languages if they knew about it earlier. The document then discusses key aspects of Scala like being object-functional, statically typed, expression-oriented, concise, pragmatic and interoperable with Java. It concludes by advertising live demos that will showcase features like classes, testing with ScalaTest, implicit conversions, functional programming with lists, traits, type parameters and pattern matching.
This document introduces the General Endeavor Management (GEM) methodology and how it relates to the Carver Policy Governance methodologies. It provides an overview of GEM as a closed loop system for managing an endeavor within its environment. It also maps GEM management functions to the four categories of policy used in Carver's Policy Governance - Ends, Executive Limitations, Board-Staff Linkage, and Governance Process. Finally, it presents a model for migrating an endeavor's mission capability from its current to desired performance levels through strategy implementation.
This document discusses the Scala programming language. It introduces Scala and provides reasons for using Scala over Java, including that Scala is the current heir to the Java throne. The document also summarizes key features of Scala like being object-functional, statically typed, lightweight yet expressive, concise but precise, pragmatic and interoperable with Java. It highlights live demos that will be shown on topics like Hello World, object-oriented foundations, ScalaTest, implicit conversions, functional lists, traits, type parameters, pattern matching and XML support.
This document describes MPEG-V Sensory Information (SI), also known as RoSE WD v3.0. It discusses the scope and structure of the standard, which aims to describe sensory effects and map them to device capabilities to trigger human senses. The standard includes a sensory effect description language, vocabulary, and context descriptions. It is being developed by an ad-hoc group and referenced in other MPEG requirements and standards documents.
1. OneOne Hundred Ltd developed a project management tool called ApproachTM over several versions from 2008-2009, starting in Excel and eventually becoming Joomla! components.
2. The tool helps identify points of failure in projects and where to focus efforts for maximum effect, as only 30% of projects are considered successful.
3. OneOne Hundred created two proprietary tools, ApproachTM and Approach-GTM, as well as other custom components, modules, tables and integrations to build out the tool for use in Joomla!.
The document discusses customer-centered design practices at HP. It provides an overview of HP's Customer-Centered Design Services group, which conducts user research and designs user interfaces. The document also describes two case studies: 1) designing a complex application suite for storage network management, involving user research, prototyping, and iterative design and testing, and 2) merging the Compaq and HP support websites.
Etsy is an online bazaar for handmade goods, and one for the key aspects for the site itself is the Etsy communities and sub-communities that have and continue to form and grow. The Etsy development community is the group of smart engineers that grow and maintain the site that helps to facilitate these amazing Etsy communities. While these engineers are very smart, you should recall the old adage, "A stupid person is someone who never learns from his mistakes, a smart person is someone who learns from his mistakes, and a wise person is someone who learns from other mistakes." At Etsy we embrace learning from mistakes and sharing with others so that they may learn from these mistakes as well because we also know that no one is perfect. Here, I will share several of the bumps along the way that took us from being small to large and still growing with more community and emphasis on culture, all while maintaing that small startup feeling.
Dive into the realm of operating systems (OS) with Pravash Chandra Das, a seasoned Digital Forensic Analyst, as your guide. 🚀 This comprehensive presentation illuminates the core concepts, types, and evolution of OS, essential for understanding modern computing landscapes.
Beginning with the foundational definition, Das clarifies the pivotal role of OS as system software orchestrating hardware resources, software applications, and user interactions. Through succinct descriptions, he delineates the diverse types of OS, from single-user, single-task environments like early MS-DOS iterations, to multi-user, multi-tasking systems exemplified by modern Linux distributions.
Crucial components like the kernel and shell are dissected, highlighting their indispensable functions in resource management and user interface interaction. Das elucidates how the kernel acts as the central nervous system, orchestrating process scheduling, memory allocation, and device management. Meanwhile, the shell serves as the gateway for user commands, bridging the gap between human input and machine execution. 💻
The narrative then shifts to a captivating exploration of prominent desktop OSs, Windows, macOS, and Linux. Windows, with its globally ubiquitous presence and user-friendly interface, emerges as a cornerstone in personal computing history. macOS, lauded for its sleek design and seamless integration with Apple's ecosystem, stands as a beacon of stability and creativity. Linux, an open-source marvel, offers unparalleled flexibility and security, revolutionizing the computing landscape. 🖥️
Moving to the realm of mobile devices, Das unravels the dominance of Android and iOS. Android's open-source ethos fosters a vibrant ecosystem of customization and innovation, while iOS boasts a seamless user experience and robust security infrastructure. Meanwhile, discontinued platforms like Symbian and Palm OS evoke nostalgia for their pioneering roles in the smartphone revolution.
The journey concludes with a reflection on the ever-evolving landscape of OS, underscored by the emergence of real-time operating systems (RTOS) and the persistent quest for innovation and efficiency. As technology continues to shape our world, understanding the foundations and evolution of operating systems remains paramount. Join Pravash Chandra Das on this illuminating journey through the heart of computing. 🌟
More Related Content
Similar to Sureal Methodology and Timing Analysis Innovations Forum
The document discusses HTML5 and how to transition from older markup languages. HTML5 is the basis for web applications and includes semantic elements, video, audio, canvas, and SVG. It provides backwards compatibility and faster rendering. To start, use a simple doctype declaration and remove type attributes from links and scripts. New HTML5 elements like header, nav, section, article, aside, and footer can be used to structure pages instead of divs.
The document describes the MONK project which provides over 1400 works of English literature from the 16th-19th century tagged and stored in a database. It discusses using the data for various types of text analysis including predictive modeling, sentiment analysis, and information extraction. Specific techniques are described like named entity recognition, co-reference resolution, and semantic role analysis. Visualization of results is also mentioned.
The document introduces the Unified Modeling Language (UML) as a standard modeling language used to visualize, specify, construct and document software systems. It discusses what models are, provides examples of modeling, and outlines the history and development of UML through the merging of existing object-oriented modeling languages and methods. The key concepts of UML including modeling system components, relationships, architectures and diagrams are also summarized.
This document discusses developing e-commerce applications using Oracle and Java. It covers challenges of e-commerce such as high availability, performance, and security. It then discusses important Java features, when to use Java, and PL/SQL packages and their Java equivalents. The document also discusses Java server platforms, ensuring JVM setup, configuration tips, checking IIOP connectivity, supporting application developers, and choosing appropriate client-side interfaces like JDBC and SQLJ. It provides tips on choosing the right tools, reducing footprint, improving speed, increasing concurrent connections, using PL/SQL in Java, and Java security.
This document discusses the Scala programming language. It begins by asking why Scala should be used instead of Java on the JVM. It then provides quotes from experts like James Gosling and Charles Nutter saying Scala is the heir to Java and they would have used Scala instead of creating other languages if they knew about it earlier. The document then discusses key aspects of Scala like being object-functional, statically typed, expression-oriented, concise, pragmatic and interoperable with Java. It concludes by advertising live demos that will showcase features like classes, testing with ScalaTest, implicit conversions, functional programming with lists, traits, type parameters and pattern matching.
This document introduces the General Endeavor Management (GEM) methodology and how it relates to the Carver Policy Governance methodologies. It provides an overview of GEM as a closed loop system for managing an endeavor within its environment. It also maps GEM management functions to the four categories of policy used in Carver's Policy Governance - Ends, Executive Limitations, Board-Staff Linkage, and Governance Process. Finally, it presents a model for migrating an endeavor's mission capability from its current to desired performance levels through strategy implementation.
This document discusses the Scala programming language. It introduces Scala and provides reasons for using Scala over Java, including that Scala is the current heir to the Java throne. The document also summarizes key features of Scala like being object-functional, statically typed, lightweight yet expressive, concise but precise, pragmatic and interoperable with Java. It highlights live demos that will be shown on topics like Hello World, object-oriented foundations, ScalaTest, implicit conversions, functional lists, traits, type parameters, pattern matching and XML support.
This document describes MPEG-V Sensory Information (SI), also known as RoSE WD v3.0. It discusses the scope and structure of the standard, which aims to describe sensory effects and map them to device capabilities to trigger human senses. The standard includes a sensory effect description language, vocabulary, and context descriptions. It is being developed by an ad-hoc group and referenced in other MPEG requirements and standards documents.
1. OneOne Hundred Ltd developed a project management tool called ApproachTM over several versions from 2008-2009, starting in Excel and eventually becoming Joomla! components.
2. The tool helps identify points of failure in projects and where to focus efforts for maximum effect, as only 30% of projects are considered successful.
3. OneOne Hundred created two proprietary tools, ApproachTM and Approach-GTM, as well as other custom components, modules, tables and integrations to build out the tool for use in Joomla!.
The document discusses customer-centered design practices at HP. It provides an overview of HP's Customer-Centered Design Services group, which conducts user research and designs user interfaces. The document also describes two case studies: 1) designing a complex application suite for storage network management, involving user research, prototyping, and iterative design and testing, and 2) merging the Compaq and HP support websites.
Etsy is an online bazaar for handmade goods, and one for the key aspects for the site itself is the Etsy communities and sub-communities that have and continue to form and grow. The Etsy development community is the group of smart engineers that grow and maintain the site that helps to facilitate these amazing Etsy communities. While these engineers are very smart, you should recall the old adage, "A stupid person is someone who never learns from his mistakes, a smart person is someone who learns from his mistakes, and a wise person is someone who learns from other mistakes." At Etsy we embrace learning from mistakes and sharing with others so that they may learn from these mistakes as well because we also know that no one is perfect. Here, I will share several of the bumps along the way that took us from being small to large and still growing with more community and emphasis on culture, all while maintaing that small startup feeling.
Similar to Sureal Methodology and Timing Analysis Innovations Forum (11)
Dive into the realm of operating systems (OS) with Pravash Chandra Das, a seasoned Digital Forensic Analyst, as your guide. 🚀 This comprehensive presentation illuminates the core concepts, types, and evolution of OS, essential for understanding modern computing landscapes.
Beginning with the foundational definition, Das clarifies the pivotal role of OS as system software orchestrating hardware resources, software applications, and user interactions. Through succinct descriptions, he delineates the diverse types of OS, from single-user, single-task environments like early MS-DOS iterations, to multi-user, multi-tasking systems exemplified by modern Linux distributions.
Crucial components like the kernel and shell are dissected, highlighting their indispensable functions in resource management and user interface interaction. Das elucidates how the kernel acts as the central nervous system, orchestrating process scheduling, memory allocation, and device management. Meanwhile, the shell serves as the gateway for user commands, bridging the gap between human input and machine execution. 💻
The narrative then shifts to a captivating exploration of prominent desktop OSs, Windows, macOS, and Linux. Windows, with its globally ubiquitous presence and user-friendly interface, emerges as a cornerstone in personal computing history. macOS, lauded for its sleek design and seamless integration with Apple's ecosystem, stands as a beacon of stability and creativity. Linux, an open-source marvel, offers unparalleled flexibility and security, revolutionizing the computing landscape. 🖥️
Moving to the realm of mobile devices, Das unravels the dominance of Android and iOS. Android's open-source ethos fosters a vibrant ecosystem of customization and innovation, while iOS boasts a seamless user experience and robust security infrastructure. Meanwhile, discontinued platforms like Symbian and Palm OS evoke nostalgia for their pioneering roles in the smartphone revolution.
The journey concludes with a reflection on the ever-evolving landscape of OS, underscored by the emergence of real-time operating systems (RTOS) and the persistent quest for innovation and efficiency. As technology continues to shape our world, understanding the foundations and evolution of operating systems remains paramount. Join Pravash Chandra Das on this illuminating journey through the heart of computing. 🌟
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...Tatiana Kojar
Skybuffer AI, built on the robust SAP Business Technology Platform (SAP BTP), is the latest and most advanced version of our AI development, reaffirming our commitment to delivering top-tier AI solutions. Skybuffer AI harnesses all the innovative capabilities of the SAP BTP in the AI domain, from Conversational AI to cutting-edge Generative AI and Retrieval-Augmented Generation (RAG). It also helps SAP customers safeguard their investments into SAP Conversational AI and ensure a seamless, one-click transition to SAP Business AI.
With Skybuffer AI, various AI models can be integrated into a single communication channel such as Microsoft Teams. This integration empowers business users with insights drawn from SAP backend systems, enterprise documents, and the expansive knowledge of Generative AI. And the best part of it is that it is all managed through our intuitive no-code Action Server interface, requiring no extensive coding knowledge and making the advanced AI accessible to more users.
Your One-Stop Shop for Python Success: Top 10 US Python Development Providersakankshawande
Simplify your search for a reliable Python development partner! This list presents the top 10 trusted US providers offering comprehensive Python development services, ensuring your project's success from conception to completion.
Skybuffer SAM4U tool for SAP license adoptionTatiana Kojar
Manage and optimize your license adoption and consumption with SAM4U, an SAP free customer software asset management tool.
SAM4U, an SAP complimentary software asset management tool for customers, delivers a detailed and well-structured overview of license inventory and usage with a user-friendly interface. We offer a hosted, cost-effective, and performance-optimized SAM4U setup in the Skybuffer Cloud environment. You retain ownership of the system and data, while we manage the ABAP 7.58 infrastructure, ensuring fixed Total Cost of Ownership (TCO) and exceptional services through the SAP Fiori interface.
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slackshyamraj55
Discover the seamless integration of RPA (Robotic Process Automation), COMPOSER, and APM with AWS IDP enhanced with Slack notifications. Explore how these technologies converge to streamline workflows, optimize performance, and ensure secure access, all while leveraging the power of AWS IDP and real-time communication via Slack notifications.
Fueling AI with Great Data with Airbyte WebinarZilliz
This talk will focus on how to collect data from a variety of sources, leveraging this data for RAG and other GenAI use cases, and finally charting your course to productionalization.
Monitoring and Managing Anomaly Detection on OpenShift.pdfTosin Akinosho
Monitoring and Managing Anomaly Detection on OpenShift
Overview
Dive into the world of anomaly detection on edge devices with our comprehensive hands-on tutorial. This SlideShare presentation will guide you through the entire process, from data collection and model training to edge deployment and real-time monitoring. Perfect for those looking to implement robust anomaly detection systems on resource-constrained IoT/edge devices.
Key Topics Covered
1. Introduction to Anomaly Detection
- Understand the fundamentals of anomaly detection and its importance in identifying unusual behavior or failures in systems.
2. Understanding Edge (IoT)
- Learn about edge computing and IoT, and how they enable real-time data processing and decision-making at the source.
3. What is ArgoCD?
- Discover ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes, and its role in deploying applications on edge devices.
4. Deployment Using ArgoCD for Edge Devices
- Step-by-step guide on deploying anomaly detection models on edge devices using ArgoCD.
5. Introduction to Apache Kafka and S3
- Explore Apache Kafka for real-time data streaming and Amazon S3 for scalable storage solutions.
6. Viewing Kafka Messages in the Data Lake
- Learn how to view and analyze Kafka messages stored in a data lake for better insights.
7. What is Prometheus?
- Get to know Prometheus, an open-source monitoring and alerting toolkit, and its application in monitoring edge devices.
8. Monitoring Application Metrics with Prometheus
- Detailed instructions on setting up Prometheus to monitor the performance and health of your anomaly detection system.
9. What is Camel K?
- Introduction to Camel K, a lightweight integration framework built on Apache Camel, designed for Kubernetes.
10. Configuring Camel K Integrations for Data Pipelines
- Learn how to configure Camel K for seamless data pipeline integrations in your anomaly detection workflow.
11. What is a Jupyter Notebook?
- Overview of Jupyter Notebooks, an open-source web application for creating and sharing documents with live code, equations, visualizations, and narrative text.
12. Jupyter Notebooks with Code Examples
- Hands-on examples and code snippets in Jupyter Notebooks to help you implement and test anomaly detection models.
Ivanti’s Patch Tuesday breakdown goes beyond patching your applications and brings you the intelligence and guidance needed to prioritize where to focus your attention first. Catch early analysis on our Ivanti blog, then join industry expert Chris Goettl for the Patch Tuesday Webinar Event. There we’ll do a deep dive into each of the bulletins and give guidance on the risks associated with the newly-identified vulnerabilities.
This presentation provides valuable insights into effective cost-saving techniques on AWS. Learn how to optimize your AWS resources by rightsizing, increasing elasticity, picking the right storage class, and choosing the best pricing model. Additionally, discover essential governance mechanisms to ensure continuous cost efficiency. Whether you are new to AWS or an experienced user, this presentation provides clear and practical tips to help you reduce your cloud costs and get the most out of your budget.
Have you ever been confused by the myriad of choices offered by AWS for hosting a website or an API?
Lambda, Elastic Beanstalk, Lightsail, Amplify, S3 (and more!) can each host websites + APIs. But which one should we choose?
Which one is cheapest? Which one is fastest? Which one will scale to meet our needs?
Join me in this session as we dive into each AWS hosting service to determine which one is best for your scenario and explain why!
Trusted Execution Environment for Decentralized Process MiningLucaBarbaro3
Presentation of the paper "Trusted Execution Environment for Decentralized Process Mining" given during the CAiSE 2024 Conference in Cyprus on June 7, 2024.
Sureal Methodology and Timing Analysis Innovations Forum
1. Sureal
Methodology and Timing Analysis
Innovations Forum
23.04.2009
Dr. James J. Hunt and Nico Feiertag
aicas GmbH SYMTA VISION
SuReal 1
2. SuReal Development Process
Platform- High-level
Modelling independent Timing
Requirements
Model Verification
Platform
Refinement
Platform- Scheduling
specific Model Verification
Code Generation
and Extension
Technical /
Annotated
Functional
Source Code
Verification
Compilation
Code
Executable Code
Verification
SuReal 2
3. SuReal Tool Chain
Development Verification
U LM de l
Mo UP AAL
U L Ed ito r
M Sc h e d u lin g Model C hecker
FIBEX
(Am e o s ) (Sym TA/S) DF KI
A n n o tate d M de l
o Ve rific a tio n
XI
M VS E
Ge n e ra to r M de l
o
Mo d e l
Co d e Ge n e ra to r
(Ameos )
An n o ta te d Co n s tra in ts
Ja v a Co d e Pa rs e r/Ed ito r
J av a C o d e
Au g m e n te d
ja v a c Ja v a Co d e
•Verifica tion of J a va C ode
Da ta Flo w
Cla s s File s
B y te C o d e (Ve riflu x) •High Level WC E T Ana lys is
Bu ild e r De riv e d
(Ja m a ic a Bu ild e r) An n o ta tio n s
Mac h in e WCET An a lyze r
Exe c u ta b le (a iT)
C o de
SuReal 3
4. Profile Comparison
USTP MARTE HIDOORS SysML
Pro file
Light weight Light weight Light weight Light weight
An n o ta tio n s
✔ ✔ ✔ ✘
Sc h e d u la b ility
✔ ✔ ✔ ✔
Pe rfo rm a n c e An a lys is
✔ ✔ ✘ ✘
Qua lity o f Se rv ic e
✘ ✔ ✘ ✔
Su p p o rts De fin in g M tric s
e
✘ ✔ ✘ ✘
Fa u lt To le ra n c e
✘ ✘ ✘
Fo rm a l Se m a n tic s p a rtia l
✘ ✔ ✔ ✘
Em b e d d e d Sys te m s
✔ ✔ ✔ ✘
Re a ltim e Sys te m s
✘ ✔ ✘ ✔
Re q uire m e n ts En g in e e rin g
✘ ✔ ✔ ✔
Su p p o rts MDA
✘ ✔ ✘ ✔
U L 2 .0 Co m p a tib ility
M
✘ ✔ ✘ ✔
OCL 2 .0 Co m p a tib ility
✘ ✘ ✘ ✘
Nonlinear Refinement
SuReal 4
5. SuReal Profile Views
So ftw a re Ha rd w a re
Applica tion
Ap p lic a tio n De s ig n To p o lo g y
Ma pping
Arc hite ctu re
Ma pping
n
io
t
ra
pe g
in
O p
ap
M
Co m p u ta tio n a l
Op e ra tin g
I fra s tru c tu re
n
En v iro n m e n t
En v iro n m e n t
SuReal 5
6. Diagram Usage
View vs. Design Topology Operating Execution
Diagram Environment Environment
Class Diagram X
State Diagram X
Sequence X
Diagram
Composite X X X X
Structure
Diagram
SuReal 6
12. Case Study 2—Application Map
Controller NXT
SpeedCalculator SpeedController
LaneTracking SensorWatcher
EmergencyBreak SteeringController
Bus
FrameHost2NXT FrameNXT2Host
LeftMotorSpeed LeftLight
RightMotorSpeed RightLight
SteeringAngle Distance
Stop
SuReal 12
13. Case Study Infrastructure
Op e ra tin g En v iro n m e n t
Ca s e 1 — Sin g le Pro c e s s o r
C Co d e u n d e r NX TOs e k
Ca s e 2 — Tw o Pro c e s s o rs
Re a ltim e Ja v a u n d e r VxWo rk s 6 .5 RTP
C Co d e u n d e r NX TOs e k
Exe c u tio n En v iro n m e n t
Ca s e 1 — Sin g le Pro c e s s o r
NX ArmT
Ca s e 2 — Tw o Pro c e s s o rs
Po w e rPC 6 0 3
NX ArmT
SuReal 13
14. Case Study 1—Code
C Side
main
EmergencyBrake_states
LaneTracking_states
LoggingTask_states
SensorWatcher_states
SpeedCalculator_states
SpeedController_states
SteeringController_states
SuReal 14
15. C as e S tudy 2—Code
Java Side C Side
Controller main
EmergencyBrake SensorWatcher_states
LaneTracking SpeedController_states
LoggingTask SteeringController_states
SpeedCalculator SlaveTransferTask_states
MasterTransferTask
FrameHost2NXT
FrameNXT2Host
NxtUsbDriver
SuReal 15
16. Hard Real-Time Systems
16
Controllers in planes, cars, plants, … are expected to finish their
tasks within reliable time bounds.
It is essential that an upper bound on the execution times of all
tasks is known : Commonly called Worst-Case Execution Time.
WCET prerequisite for system-level schedulability analysis.
SuReal 16
17. Komplexes System-Zeitverhalten
ABS
ASR
ESP
ACC
SIG signal register
SEND/ COM layer tasks
RCV or interrupts
INT driver interrupt
MO message object
(HW buffer)
SWC 3
SWC 1
engine SWC 2 SWC 4
powertrain
control
control
RTE
SIG SIG SIG
SIG SIG
Frame generation timing
(cyclic and/or event+driven) SEND
CAN RECV
BSW
Buffering strategy
Queue
(FIFO, priority ordered, hybrid)
INT INT
Nachrichten Objekte CAN HW
MO
MO MO
MO
(hardware buffers)
SuReal 17
18. Methodology
18
Probability
Unsafe: Safe worst-case
Best-case execution time execution time
measurement estimate
execution time
Exact worst-case
execution time
Execution time
SuReal 18
19. Two Levels of Timing Analysis
19
Code level
●
aiT
Single process, task, ISR
●
(AbsInt)
Focus on
●
Control flow
●
Processor architecture
●
with pipelines and caches
System level
●
Multiple functions or tasks
●
Focus on
●
Integration and scheduling
●
Periodic or event-driven
●
activation, blocking
End-to-end timing
●
SymTA/S
(Symtavision)
SuReal 19
20. 20
aiT + SymTA/S: Integration with Modeling Tool OpenAmeos
SuReal 20
21. Customer benefits
Capturing realtime behavior systematically
●
Fast identification of bottlenecks
●
Preventing integration problems
●
Planning timing early
●
Predict resource requirements
●
Optimal dimensioning
●
Optimized development process
●
Reduced number of prototypes
●
Reduced testing effort
●
Reliable prediction of extendibility
●
SuReal 21
23. 23
system (ECUs,
Symtavision (SymTA/S)
buses)
Application of Tools
ECU
task
granularity
runnable
AbsInt (aiT)
function
basic block
assembler
SuReal
instruction
24. Workflow and Information Flow
aiT
SymTA/S
System model
(tasks, activations, scheduling) WCET/Stack
Additional Info
Request
WCET/Stack Analysis
Refinement (single task)
WCET/Stack
Response
Scheduling Analysis (WCRT)
System Stack Analysis
SuReal 24
25. Integration with AbsInt aiT
Request – response
●
SymTA/S requests list of core execution times
●
Different runnables
●
Different modes
●
Different processors
●
aiT returns results
●
3
1
2
SuReal 25
26. Integration with AbsInt aiT—Results
Enables verification and quick mapping exploration
●
4
SuReal 26
27. Veriflux: Data Flow Analysis
Extension of control flow analysis
Data values are propagated as well
Fixed point algorithm
Necessary extension for OO Languages
Method dispatch is data dependent
More precise than considering all
possible subclasses at each call point
SuReal 27
28. DFA Applications
Worst case execution time analysis
Memory use (stack, heap, etc.)
Coverage and reachability
Exception checking
Shared object detection
Synchronization (deadlocks)
SuReal 28
29. Detecting Runtime Errors
...
if (device instanceof MyDevice)
{
MySensor s = (MySensor) device.sensor;
int value = s.reading();
...
}
...
SuReal 29
30. Detecting Runtime Errors
...
if (device instanceof MyDevice)
{ NullP ointerE xception
MySensor s = (MySensor) device.sensor;
int value = s.reading();
...
}
...
SuReal 30
31. Detecting Runtime Errors
...
if (device instanceof MyDevice)
{ NullP ointerE xception
MySensor s = (MySensor) device.sensor;
C las s C as tE xception
int value = s.reading();
...
}
...
SuReal 31
32. Detecting Runtime Errors
...
if (device instanceof MyDevice)
{ NullP ointerE xception
MySensor s = (MySensor) device.sensor;
C las s C as tE xception
int value = s.reading();
NullP ointerE xception
...
}
...
SuReal 32
33. Detecting Runtime Errors
... device != null
if (device instanceof MyDevice)
{ NullP ointerE xception
MySensor s = (MySensor) device.sensor;
C las s C as tE xception
int value = s.reading();
NullP ointerE xception
...
}
...
SuReal 33
34. Detecting Runtime Errors
... device != null
if (device instanceof MyDevice)
{ NullP ointerE xception
MySensor s = (MySensor) device.sensor;
C las s C as tE xception
int value = s.reading();
NullP ointerE xception
...
}
...
SuReal 34
35. Detecting Runtime Errors
... device != null
if (device instanceof MyDevice)
{ NullP ointerE xception
MySensor s = (MySensor) device.sensor;
C las s C as tE xception
int value = s.reading();
NullP ointerE xception
...
}
...
SuReal 35
36. Detecting Runtime Errors
...
if (device instanceof MyDevice)
{ NullP ointerE xception
MySensor s = (MySensor) device.sensor;
C las s C as tE xception
int value = s.reading();
NullP ointerE xception
...
}
...
SuReal 36
37. Detecting Runtime Errors
...
if (device instanceof MyDevice)
{ NullP ointerE xception
MySensor s = (MySensor) device.sensor;
values (MyDevice.s ens or)
C las s C as tE xception
contains only MyS ens or
int value = s.reading();
NullP ointerE xception
...
}
...
SuReal 37
38. Detecting Runtime Errors
...
if (device instanceof MyDevice)
{ NullP ointerE xception
MySensor s = (MySensor) device.sensor;
values (MyDevice.s ens or)
C las s C as tE xception
contains only MyS ens or
int value = s.reading();
NullP ointerE xception
...
}
...
SuReal 38
39. Detecting Runtime Errors
...
if (device instanceof MyDevice)
{ NullP ointerE xception
MySensor s = (MySensor) device.sensor;
values (MyDevice.s ens or)
C las s C as tE xception
contains only MyS ens or
int value = s.reading();
NullP ointerE xception
...
}
...
SuReal 39
40. Detecting Runtime Errors
...
if (device instanceof MyDevice)
{ NullP ointerE xception
MySensor s = (MySensor) device.sensor;
C las s C as tE xception
int value = s.reading();
NullP ointerE xception
...
}
...
SuReal 40
41. Detecting Runtime Errors
...
if (device instanceof MyDevice)
{ NullP ointerE xception
MySensor s = (MySensor) device.sensor;
C las s C as tE xception null ∉ values (MyDevice.s ens or)
int value = s.reading();
NullP ointerE xception
...
}
...
SuReal 41
42. Detecting Runtime Errors
...
if (device instanceof MyDevice)
{ NullP ointerE xception
MySensor s = (MySensor) device.sensor;
C las s C as tE xception null ∉ values (MyDevice.s ens or)
int value = s.reading();
NullP ointerE xception
...
}
...
SuReal 42
43. Detecting Runtime Errors
...
if (device instanceof MyDevice)
{ NullP ointerE xception
MySensor s = (MySensor) device.sensor;
C las s C as tE xception null ∉ values (MyDevice.s ens or)
int value = s.reading();
NullP ointerE xception
...
}
...
SuReal 43
44. Detecting Runtime Errors
...
if (device instanceof MyDevice)
{ NullP ointerE xception
MySensor s = (MySensor) device.sensor;
C las s C as tE xception
int value = s.reading();
NullP ointerE xception
...
}
...
SuReal 44
45. WCETA for Realtime Java
La n g u a g e
Da ta flo w g ra p h c o n s tru c tio n
d e pe nd a nt
Pa th a n a lys is ph a s e
e .g ., d e te rm in in g m e th o d c a ll s e ts a n d lo o p b o u n d s
Ba s ic b lo c k tim in g a n a lys is M c h in e
a
Ca c h e a n a lys is m o d u le d e pe nd a nt
ph a s e
Pip e lin e a n a lys is m o d u le
Bra n c h p re d ic tio n m o d u le
Wo rs t c a s e e xe c u tio n p a th d is c o v e ry
SuReal 45
46. WCETA Process for RTJava
Process JML annotations
Transform source
Compile to bytecode
Run full program dataflow analysis
Generate low level WCETA tool
annotations for critical methods
Compile bytecode to machine code
Run low level WCETA tool
SuReal 46
47. Loop Bounds Annotations
decreases [integer expression]
While loop
For loop
For each loop
measured_by [integer expression]
Recursion
Invariant [boolean expression]
Unbound variables
SuReal 47
48. JML Decreases Clause
d e c re a s e s [in te g e r e xp re s s io n ] lo o p s
m e a s u re d _b y [in te g e r e xp re s s io n ] re c u rs io n
⇒
[in te g e r e xp re s s io n ] 0
[in te g e r e xp re s s io n ]in itia l [in te g e r e xp re s s io n ]
fo r e a c h ite ra tio n i:
[in te g e r e xp re s s io n ]i [in te g e r e xp re s s io n ]i+1 +1
SuReal 48
49. While Loop Transform
@ decreases elements.length – i;
while (i < elements.length)
{
sum += elements[i++];
}
{
DFAHelper.captureBounds(elements.length – i);
}
while (i < elements.length)
{
sum += elements[i++];
}
SuReal 49
50. For Loop Transformation
@ decreases elements.length – i;
for (int i = 0; i < elements.length; i++)
{
sum += elements[i];
}
{
int i = 0;
DFAHelper.captureBounds(elements.length – i);
}
for (int i = 0; i < elements.length; i++)
{
sum += elements[i];
}
SuReal 50
51. For Each Loop Transform 1
@ ghost int i = elements.length; decreases i;
for (int entry: elements)
{
sum += entry; @ set i--;
}
{
int i = elements.length;
DFAHelper.captureBounds(i);
}
for (int entry: elements)
{
sum += entry;
}
SuReal 51
52. For Each Loop Transform 2
for (int entry: elements)
{
sum += entry;
}
{
DFAHelper.captureBounds(elements.length);
}
for (int entry: elements)
{
sum += entry;
}
SuReal 52
53. Handeling Dispatch Sets
Calculated as part of dataflow analysis
No annotations are necessary
Veriflux determines two sets of values
Set of all invocations
Set of referenced values
Call sets are determined for invocation
sites, not just for each method.
Different invocation may have totally
different call sets.
SuReal 53
54. AIS Annotations
Unevaluated Method (know not to be called)
snippet quot;jamaica_throwNullquot; is not analyzed
and is never executed
and takes exactly 0 cycles
and uses exactly 0 bytes of stack
and removes exactly 0 bytes of stack;
Dynamic Dispath
instruction quot;L1259_53_run@labelquot; + 1 unpredictable calls
jam_comp_javax_realtime_RealtLogic_48_run1,
jam_comp_javax_realtime_Asyncndler_8_run16,
jam_comp_javax_realtime_AEHTh00241_3_run1,
jam_comp_javax_realtime_List_bject_23_run1;
Loop
loop file 'SpeedCalculator.java' line 180 max 10;
SuReal 54
55. Realtime Java WCET Results
SpeedCalculator.handleAsynchEvent()
328678 cycles = 0.83 ms
LaneTracking.handleAsynchEvent()
133925 cycles = 0.339 ms
EmergencyBreak.handleAsynchEvent()
100454 cycles = 0.254 ms
MasterTransferTask.handleAsynchEvent()
39059 cycles = 98.634 us
SuReal 55
57. Conclusion
Complete development process
Capturing realtime behavior systematically
From Model to Executable
Full timing and schedulability analysis
Supports Object-Oriented Development
Realtime Java
Static compilation and GC
Improved development fexibility
Up front model checking
Separation of Concerns
SuReal 57