Controller Software Verification Using AVM Meta and HybridSALJoseph Porter
The document discusses using the AVM Meta tool suite and HybridSAL to formally verify controller software for cyber-physical systems. It describes how controllers modeled in Simulink/Stateflow can be integrated with physical models in Modelica. Design space exploration is used to simulate different controller alternatives. Formal verification of properties specified in temporal logic is then used to detect errors in the candidate controller. The workflow involves translating controllers to a cyber language, generating simulation code, and visualizing verification results. Counterexamples can provide insight to refine the controller model or property specification.
Slides fra InfInIT arrangement i interessegruppen for Embedded Systems Engineering
http://www.infinit.dk/dk/arrangementer/tidligere_arrangementer/sweet---a-tool-for-wcet-flow-analysis.htm
Functional verification is one of the key bottlenecks in the rapid design of integrated circuits. It is estimated that verification in its entirety accounts for up to 60% of design resources, including duration, computer resources and total personnel. The three primary tools used in logic and functional verification of commercial integrated circuits are simulation (at various levels), emulation at the chip level, and formal verification.
The document describes a SystemVerilog verification methodology that includes assertion-based verification, coverage-driven verification, constrained random verification, and use of scoreboards and checkers. It outlines the verification flow from design specifications through testbench development, integration and simulation, and discusses techniques like self-checking test cases, top-level and block-level environments, and maintaining bug reports.
Working in teams is more effective than individual work, But the main obstacle that any corporate faces is the synchronization between each team, One of the functions that is affected by this obstacle is 'Coding', Working on massive and multidisciplinary projects which need the contribution of several teams specially at the coding phase is opposed by the miss coordination when running the mother code.
So corporate developed some tools to overcome this situation using code version control and Tracker System.
What are the different opportunities for a VLSI Front end Verification engineer? What career path exists and how to build a career path in Verification of VLSI chip designs?
Sharing my experiences and Career journey as Verification Engineer
Introduction to SOC Verification Fundamentals and System Verilog language coding. Explains concepts on Functional Verification methodologies used in industry like OVM, UVM
Controller Software Verification Using AVM Meta and HybridSALJoseph Porter
The document discusses using the AVM Meta tool suite and HybridSAL to formally verify controller software for cyber-physical systems. It describes how controllers modeled in Simulink/Stateflow can be integrated with physical models in Modelica. Design space exploration is used to simulate different controller alternatives. Formal verification of properties specified in temporal logic is then used to detect errors in the candidate controller. The workflow involves translating controllers to a cyber language, generating simulation code, and visualizing verification results. Counterexamples can provide insight to refine the controller model or property specification.
Slides fra InfInIT arrangement i interessegruppen for Embedded Systems Engineering
http://www.infinit.dk/dk/arrangementer/tidligere_arrangementer/sweet---a-tool-for-wcet-flow-analysis.htm
Functional verification is one of the key bottlenecks in the rapid design of integrated circuits. It is estimated that verification in its entirety accounts for up to 60% of design resources, including duration, computer resources and total personnel. The three primary tools used in logic and functional verification of commercial integrated circuits are simulation (at various levels), emulation at the chip level, and formal verification.
The document describes a SystemVerilog verification methodology that includes assertion-based verification, coverage-driven verification, constrained random verification, and use of scoreboards and checkers. It outlines the verification flow from design specifications through testbench development, integration and simulation, and discusses techniques like self-checking test cases, top-level and block-level environments, and maintaining bug reports.
Working in teams is more effective than individual work, But the main obstacle that any corporate faces is the synchronization between each team, One of the functions that is affected by this obstacle is 'Coding', Working on massive and multidisciplinary projects which need the contribution of several teams specially at the coding phase is opposed by the miss coordination when running the mother code.
So corporate developed some tools to overcome this situation using code version control and Tracker System.
What are the different opportunities for a VLSI Front end Verification engineer? What career path exists and how to build a career path in Verification of VLSI chip designs?
Sharing my experiences and Career journey as Verification Engineer
Introduction to SOC Verification Fundamentals and System Verilog language coding. Explains concepts on Functional Verification methodologies used in industry like OVM, UVM
NIWeek 2017 - Automated Test of LabVIEW FPGA Code: CI and Jenkins 2 PipelinesChing-Hwa Yu
Explore the latest features in Jenkins 2 including Pipeline as Code to build software test pipelines. Review an example of developing LabVIEW FPGA code and automating unit and functional tests. Lastly, learn about the latest improvements to the LabVIEW Command Line Interface utility.
This document discusses UML modeling and rapid prototyping. It introduces ArgoUML, an open source UML modeling tool that supports standard UML diagrams and allows forward and reverse engineering of code. It also discusses rapid prototyping techniques like prototyping in code, mockup tools, paper sketches, and references further reading on these topics.
Jeda's mission is to accelerate ESL verification through automation using native System C and C++ verification solutions. Their products include assertions, coverage, and checking tools to verify designs at the system level before RTL. These tools help improve verification productivity, maintain model consistency, automate various checks, and find issues earlier in the design flow. Sonics uses Jeda's OCPchecker tool to validate their OCP models and check protocol compliance.
System verilog verification building blocksNirav Desai
SystemVerilog introduces key concepts like program blocks, interfaces, and clocking blocks to help with verification. Program blocks separate the testbench code from the design code to avoid race conditions. Interfaces encapsulate communication between blocks and help prevent errors from manual port connections. Clocking blocks synchronize signal drivers and allow specifying timing for sampled signals. Together these features help manage complexity when verifying designs.
REMI: Defect Prediction for Efficient API Testing ( ESEC/FSE 2015, Industria...Sung Kim
1) The document presents REMI, a method for applying software defect prediction to efficiently test APIs. REMI ranks APIs based on metrics to identify risky APIs and guide test case development and execution.
2) An experiment applying REMI to Tizen wearable APIs found that focusing test cases on risky APIs identified additional defects compared to uniform testing. REMI also found defects more quickly during test execution.
3) Developers providing feedback found the risky API rankings helpful for efficiently allocating limited testing resources, though REMI required some overhead to configure and execute. Labeling APIs as buggy/clean for the prediction model was also difficult without noise.
Android Test Driven Development & Android Unit Testingmahmoud ramadan
This document discusses test driven development (TDD) using JUnit and Mockito for Android. It defines TDD, explains the benefits which include automated testing and improved code quality. It provides examples of using JUnit for unit testing like parametric testing and test lifecycles. It also explains how to use Mockito to mock dependencies and verify interactions through stubbing and spying. The document emphasizes that TDD leads to more modular, flexible and maintainable code.
Jeda's mission is to accelerate ESL verification through automation using native System C and C++ solutions. Their products include verification suites, assertions, coverage tools, and checkers for OCP compliance and performance. These tools help maintain model consistency, improve verification efficiency, and validate designs at the ESL level before tapeout.
The document discusses CPU verification. It describes verifying at both the architecture and microarchitecture levels. Architecture verification ensures instruction set compliance through random instruction sequences. Microarchitecture verification focuses on implementation details like pipelines and caches using constrained random verification. Milestones track progress through metrics like test plan completion, regression pass rates, functional coverage, and bug trends.
The document provides an overview of the ASIC design methodology and introduces the tools used for HDL design capture and synthesis. It summarizes the key steps as:
1. HDL design capture where the design is modeled at the behavioral and RTL levels and verified through pre-synthesis simulation.
2. HDL design synthesis where the RTL is synthesized to a gate-level netlist that is optimized for area and timing and verified through post-synthesis simulation.
3. Post-synthesis timing analysis where tools like Cadence Pearl are used to check that the timing requirements are met in the synthesized gate-level design.
Bag it Tag It Put it : Project Tracking One Click away Abhishek Bakshi
Entering information in a project programming tracker is one of the menial tasks taking up time which causes hindrance for project leads to get accurate and up to date information of the project. So how about getting it done within a click? This presentation discusses a tool to solve this problem. QCCheck, a macro utility in conjunction with the power of ODS creates a fully automated project tracking spreadsheet to give a single shot view of any project in real time. This utility reduces the dependency on manual data and saves programmer’s precious time with the important features such as QC pass/fail results highlighted, hyperlinks for code/table/dataset and timestamps of QC & batch submit.
The document describes the history and development of the "little Jenkinsfile" used to automate testing of the AdoptOpenJDK, OpenJ9, and Eclipse OMR projects. It outlines the principles of keeping the Jenkinsfile simple and learn from past lessons. Key aspects include testing across multiple platforms and versions, using open source tools when possible, and whole team involvement. The ecosystem now includes over 250,000 tests running on multiple servers.
Basics of Functional Verification - Arrow DevicesArrow Devices
Are you new to functional verification? Or do you need a refresher? This presentation takes you through the basics of functional verification - overall scope and process with examples. Also included are some tips on do's and don'ts!
Flink Forward San Francisco 2019: Managing Flink on Kubernetes - FlinkK8sOper...Flink Forward
Managing Flink on Kubernetes - FlinkK8sOperator
The goal of Lyft is to “Improve people’s lives with the world’s best transportation”. Our product is fundamentally real-time and building a reliable platform that consumes and processes massive amounts of streaming data empowers us to achieve our mission. The advent of containers and Kubernetes has completely changed how we deploy and manage stateless services. At Lyft we have doubled down on Docker containers and Kubernetes for all the services in production. To achieve a homogenous infrastructure we decided to extend Kubernetes to manage stateful streaming services like Flink. We developed the FlinkK8sOperator which leverages Kubernetes CustomResourceDefinition to enable native management of Flink applications on Kubernetes. FlinkK8sOperator employs a state machine that transitions the application through a series of states, until a stable state is attained. Each Flink application on Kubernetes spins up a separate Flink Cluster, with its own UI, providing clear isolation for monitoring and debugging. This talk provides an overview of running Flink applications on Kubernetes using FlinkK8sOperator, showcasing the entire lifecycle of the application from creation to execution, with focus of transitions during deployments and stateful updates, concluding with a demo.
This presentation describes the history and background behind the introduction of model checking. Transition systems workflow is also illustrated in terms of model checking.
Formal verification is the process of proving or disproving properties of a system using precise mathematical methods. It provides guarantees that no simulations will violate specified properties. Formal verification can be applied at the block and system-on-chip levels to eliminate bugs early. However, current formal verification tools have limitations including capacity issues, generating coverage metrics from assertions, and handling large designs and multiple modes of operation. Improving formal verification requires efficient strategies and advancing tool capabilities.
This document discusses the integrated development environment (IDE) for Visual Basic .NET. It describes several key elements of the IDE, including the Windows Form Designer, Properties Window, Solution Explorer, Toolbox, and other features. It provides details on how to create a new VB.NET project and application, including selecting a project template, writing code in the code editor, and running the application. Finally, it covers various data types, variables, operators, and other fundamental concepts in VB.NET.
Tech Days 2015: Model Based Development with QGenAdaCore
Model-Based Development with QGen discusses model-based development using QGen. QGen is a code generator that takes Simulink and Stateflow models as input and generates code in SPARK or MISRA C. It aims to reduce the "us vs them" relationship between system and software engineers by allowing system engineers to develop models that can be directly compiled into code. QGen provides benefits such as decreased verification costs through its qualification evidence and integration with verification, compilation and testing tools. It allows models to be verified by construction through its safe Simulink subset.
Automated Requirements-Based Testing for Medical Device SoftwareQA Systems
This presentation shares expertise and insight on Automated Requirements-Based Testing for Medical Device Software:
• ISO 26262 SW Verification Phases
• Requirements Verification Method
• Deriving Test Cases from Requirements
• Requirements Based Testing (RBT)
• Manual Test Generation
• So…How to Automate?
• Generation from Requirements
• Generation from Code
• Why use Coverage & Traceability?
For more information, please refer to: https://www.qa-systems.com/
NIWeek 2017 - Automated Test of LabVIEW FPGA Code: CI and Jenkins 2 PipelinesChing-Hwa Yu
Explore the latest features in Jenkins 2 including Pipeline as Code to build software test pipelines. Review an example of developing LabVIEW FPGA code and automating unit and functional tests. Lastly, learn about the latest improvements to the LabVIEW Command Line Interface utility.
This document discusses UML modeling and rapid prototyping. It introduces ArgoUML, an open source UML modeling tool that supports standard UML diagrams and allows forward and reverse engineering of code. It also discusses rapid prototyping techniques like prototyping in code, mockup tools, paper sketches, and references further reading on these topics.
Jeda's mission is to accelerate ESL verification through automation using native System C and C++ verification solutions. Their products include assertions, coverage, and checking tools to verify designs at the system level before RTL. These tools help improve verification productivity, maintain model consistency, automate various checks, and find issues earlier in the design flow. Sonics uses Jeda's OCPchecker tool to validate their OCP models and check protocol compliance.
System verilog verification building blocksNirav Desai
SystemVerilog introduces key concepts like program blocks, interfaces, and clocking blocks to help with verification. Program blocks separate the testbench code from the design code to avoid race conditions. Interfaces encapsulate communication between blocks and help prevent errors from manual port connections. Clocking blocks synchronize signal drivers and allow specifying timing for sampled signals. Together these features help manage complexity when verifying designs.
REMI: Defect Prediction for Efficient API Testing ( ESEC/FSE 2015, Industria...Sung Kim
1) The document presents REMI, a method for applying software defect prediction to efficiently test APIs. REMI ranks APIs based on metrics to identify risky APIs and guide test case development and execution.
2) An experiment applying REMI to Tizen wearable APIs found that focusing test cases on risky APIs identified additional defects compared to uniform testing. REMI also found defects more quickly during test execution.
3) Developers providing feedback found the risky API rankings helpful for efficiently allocating limited testing resources, though REMI required some overhead to configure and execute. Labeling APIs as buggy/clean for the prediction model was also difficult without noise.
Android Test Driven Development & Android Unit Testingmahmoud ramadan
This document discusses test driven development (TDD) using JUnit and Mockito for Android. It defines TDD, explains the benefits which include automated testing and improved code quality. It provides examples of using JUnit for unit testing like parametric testing and test lifecycles. It also explains how to use Mockito to mock dependencies and verify interactions through stubbing and spying. The document emphasizes that TDD leads to more modular, flexible and maintainable code.
Jeda's mission is to accelerate ESL verification through automation using native System C and C++ solutions. Their products include verification suites, assertions, coverage tools, and checkers for OCP compliance and performance. These tools help maintain model consistency, improve verification efficiency, and validate designs at the ESL level before tapeout.
The document discusses CPU verification. It describes verifying at both the architecture and microarchitecture levels. Architecture verification ensures instruction set compliance through random instruction sequences. Microarchitecture verification focuses on implementation details like pipelines and caches using constrained random verification. Milestones track progress through metrics like test plan completion, regression pass rates, functional coverage, and bug trends.
The document provides an overview of the ASIC design methodology and introduces the tools used for HDL design capture and synthesis. It summarizes the key steps as:
1. HDL design capture where the design is modeled at the behavioral and RTL levels and verified through pre-synthesis simulation.
2. HDL design synthesis where the RTL is synthesized to a gate-level netlist that is optimized for area and timing and verified through post-synthesis simulation.
3. Post-synthesis timing analysis where tools like Cadence Pearl are used to check that the timing requirements are met in the synthesized gate-level design.
Bag it Tag It Put it : Project Tracking One Click away Abhishek Bakshi
Entering information in a project programming tracker is one of the menial tasks taking up time which causes hindrance for project leads to get accurate and up to date information of the project. So how about getting it done within a click? This presentation discusses a tool to solve this problem. QCCheck, a macro utility in conjunction with the power of ODS creates a fully automated project tracking spreadsheet to give a single shot view of any project in real time. This utility reduces the dependency on manual data and saves programmer’s precious time with the important features such as QC pass/fail results highlighted, hyperlinks for code/table/dataset and timestamps of QC & batch submit.
The document describes the history and development of the "little Jenkinsfile" used to automate testing of the AdoptOpenJDK, OpenJ9, and Eclipse OMR projects. It outlines the principles of keeping the Jenkinsfile simple and learn from past lessons. Key aspects include testing across multiple platforms and versions, using open source tools when possible, and whole team involvement. The ecosystem now includes over 250,000 tests running on multiple servers.
Basics of Functional Verification - Arrow DevicesArrow Devices
Are you new to functional verification? Or do you need a refresher? This presentation takes you through the basics of functional verification - overall scope and process with examples. Also included are some tips on do's and don'ts!
Flink Forward San Francisco 2019: Managing Flink on Kubernetes - FlinkK8sOper...Flink Forward
Managing Flink on Kubernetes - FlinkK8sOperator
The goal of Lyft is to “Improve people’s lives with the world’s best transportation”. Our product is fundamentally real-time and building a reliable platform that consumes and processes massive amounts of streaming data empowers us to achieve our mission. The advent of containers and Kubernetes has completely changed how we deploy and manage stateless services. At Lyft we have doubled down on Docker containers and Kubernetes for all the services in production. To achieve a homogenous infrastructure we decided to extend Kubernetes to manage stateful streaming services like Flink. We developed the FlinkK8sOperator which leverages Kubernetes CustomResourceDefinition to enable native management of Flink applications on Kubernetes. FlinkK8sOperator employs a state machine that transitions the application through a series of states, until a stable state is attained. Each Flink application on Kubernetes spins up a separate Flink Cluster, with its own UI, providing clear isolation for monitoring and debugging. This talk provides an overview of running Flink applications on Kubernetes using FlinkK8sOperator, showcasing the entire lifecycle of the application from creation to execution, with focus of transitions during deployments and stateful updates, concluding with a demo.
This presentation describes the history and background behind the introduction of model checking. Transition systems workflow is also illustrated in terms of model checking.
Formal verification is the process of proving or disproving properties of a system using precise mathematical methods. It provides guarantees that no simulations will violate specified properties. Formal verification can be applied at the block and system-on-chip levels to eliminate bugs early. However, current formal verification tools have limitations including capacity issues, generating coverage metrics from assertions, and handling large designs and multiple modes of operation. Improving formal verification requires efficient strategies and advancing tool capabilities.
This document discusses the integrated development environment (IDE) for Visual Basic .NET. It describes several key elements of the IDE, including the Windows Form Designer, Properties Window, Solution Explorer, Toolbox, and other features. It provides details on how to create a new VB.NET project and application, including selecting a project template, writing code in the code editor, and running the application. Finally, it covers various data types, variables, operators, and other fundamental concepts in VB.NET.
Tech Days 2015: Model Based Development with QGenAdaCore
Model-Based Development with QGen discusses model-based development using QGen. QGen is a code generator that takes Simulink and Stateflow models as input and generates code in SPARK or MISRA C. It aims to reduce the "us vs them" relationship between system and software engineers by allowing system engineers to develop models that can be directly compiled into code. QGen provides benefits such as decreased verification costs through its qualification evidence and integration with verification, compilation and testing tools. It allows models to be verified by construction through its safe Simulink subset.
Automated Requirements-Based Testing for Medical Device SoftwareQA Systems
This presentation shares expertise and insight on Automated Requirements-Based Testing for Medical Device Software:
• ISO 26262 SW Verification Phases
• Requirements Verification Method
• Deriving Test Cases from Requirements
• Requirements Based Testing (RBT)
• Manual Test Generation
• So…How to Automate?
• Generation from Requirements
• Generation from Code
• Why use Coverage & Traceability?
For more information, please refer to: https://www.qa-systems.com/
Automated requirements based testing for ISO 26262 QA Systems
This document discusses automated requirements-based testing for ISO 26262. It describes the software verification phases in ISO 26262 and the methods for deriving test cases from requirements. Requirements-based testing involves generating tests from requirements to ensure requirements coverage and traceability. The document outlines a process for automated test generation, execution and traceability to provide evidence of testing according to ISO 26262 standards.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2022/06/a-practical-guide-to-getting-the-dnn-accuracy-you-need-and-the-performance-you-deserve-a-presentation-from-qualcomm/
Felix Baum, Director of Product Management at Qualcomm, presents the “Practical Guide to Getting the DNN Accuracy You Need and the Performance You Deserve” tutorial at the May 2022 Embedded Vision Summit.
Every day, developers struggle to take DNN workloads that were originally developed on workstations and migrate them to run on edge devices. Whether the application is in mobile, compute, IoT, XR or automotive, most AI developers start their algorithm development in the cloud or on a workstation and later migrate to on-device as an afterthought. Qualcomm is helping these developers on multiple fronts—democratizing AI at the edge by supporting frameworks and data types that developers are most familiar with, and at the same time building a set of tools to assist sophisticated developers who are taking extra steps to extract the best performance and power efficiency.
In this session, Baum presents the workflow and steps for effectively migrating DNN workloads to the edge. He discusses quantization issues, explore how the accuracy of models affects performance and power and outline the Qualcomm tools that help developers successfully launch new use cases on mobile and other edge devices.
Automated Low Level Requirements Testing for DO-178CQA Systems
This presentation shares expertise and insight on Automated Low Level Requirements Testing for DO-178C:
• DO-178C SW Verification Process
• Software Testing Activities
• Software Testing Stages
• Test Coverage Analysis
• Software Testing Activities
• Structural Coverage Analysis
• Requirements Based Test Selection
• Manual Test Generation
• So…How to Automate?
• Generation from Requirements
• Generation from Code
• AutoTest & Trace for DO-178C
• AutoTest Generation
• AutoTest Process
• AutoTest DO-178C Use Cases
For more information, please refer to: https://www.qa-systems.com/
Automated Requirements-Based Testing for Medical Device Software.ppsxQA Systems
The document discusses automated requirements-based testing for medical device software. It describes ISO 26262 standards for software verification phases and methods for deriving test cases from requirements. It then discusses using requirements-based testing (RBT) to generate tests from requirements to achieve requirements coverage, code coverage, and test coverage. The document also describes challenges with manual test generation and proposes automating test generation from code and requirements with traceability between requirements, code, and tests for ISO 26262 compliance.
PyData Berlin 2023 - Mythical ML Pipeline.pdfJim Dowling
This talk is a mental map for building ML systems as ML Pipelines that are factored into Feature Pipelines, Training Pipelines, and Inference Pipelines.
Incquery Suite Models 2020 Conference by István Ráth, CEO of IncQuery LabsIncQuery Labs
This document discusses how IncQuery Suite can be used to analyze digital threads in model-based systems engineering (MBSE) projects. It provides an overview of IncQuery Suite's features for efficiently extracting and analyzing engineering data across proprietary tools, validating documents and projects, performing graph queries and full-text search, and integrating with various tools. The document also presents two case studies, one involving integrating IncQuery Suite with Airbus's application platform to enable data continuity, and another using IncQuery Suite to provide model checking as a service for SysML models.
AdaCore Paris Tech Day 2016: Jose Ruiz - QGen Tech Updatejamieayre
- QGen is a code generator that can generate code from Simulink models. It supports Processor-in-the-Loop testing, has multiple user interfaces, and is the basis for ongoing research focused on system and software integrity.
- It allows for customization at the block and arithmetic levels to reuse pre-certified code libraries. This is done through configuration files that specify functions or libraries to use.
- QGen has achieved a TQL-1 qualification which provides benefits like not needing to review generated code or create low-level tests. This qualification puts requirements on QGen development.
- A QGen debugger provides synchronized views of models, code, and assembly to help with model-level debugging.
This document discusses requirements traceability and testing capabilities in Simulink. It describes how Simulink can trace requirements bidirectionally between models and source code. It also outlines how Simulink Design Verifier can automatically generate tests to achieve high coverage and check designs against requirements. Finally, it positions several MathWorks products in the V&V process and highlights key capabilities of Simulink Test for authoring, managing and executing simulation-based tests.
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
Identified huge error count and US$1.7M excess expense in product engineering and product development; Spearheaded from scratch product roadmap and end-to-end engineering and deployment of a custom novel software for automatic creation of error-free verification infrastructure for a customizable Network-interconnect, across 6 global teams, saved 70+ man hours per integration and testing cycle and reduced time-to-first-test by 60%, resulting in an estimated annual savings of US$4.5M in purchased product licenses and 100% reduction in error-count in engineering process. Enabled a 4-member cross-cultural global team in Seoul for 6+ months for E2E-auto-testbench product during its’ adoption, prototype testing, and life cycle. Conducted 120+ user interviews, market analysis, customer research to define key product requirements for new features resulting in 100% user adoption, 80% increase in user satisfaction. Received appreciation award from VP of Engineering, Samsung Memory Solutions.
Disclaimer: - The slides presented here are a minimised version of the actual detailed content/implementation/publication presented to the stakeholders.
If the originals are needed, they will be provided based on mutual agreement.
(All Rights Reserved)
GlobalLogic Test Automation Online TechTalk “Test Driven Development as a Per...GlobalLogic Ukraine
16 грудня 2021 року відбувся GlobalLogic Test Automation Online TechTalk “Test Driven Development as a Personal Skill”! Анатолій Сахно (Software Testing Consultant, GlobalLogic) розібрав принципи TDD (розробки, керованої тестами) та приклади їх застосування. Крім того, поговорили про:
- Ефективне використання модульних тестів у повсякденних задачах;
- Використання TDD при розробці тестових фреймворків;
- Застосування принципів TDD при написанні функціональних автотестів.
Більше про захід: https://www.globallogic.com/ua/about/events/globallogic-test-automation-online-techtalk-test-driven-development-as-a-personal-skill/
Приємного перегляду і не забудьте залишити коментар про враження від TechTalk!
Ця активність — частина заходів в рамках GlobalLogic Test Automation Advent Calendar, ще більше заходів та цікавинок за посиланням: https://bit.ly/AdventCalendar_fb
The document discusses model-driven architecture and executable UML for code generation. It describes how translation-based processes using platform-independent models (PIMs) can generate platform-specific implementations (PSIs) automatically using mappings, avoiding manual coding and reducing maintenance costs compared to elaboration-based processes. The code generator itself is implemented as a set of domain models that embody rules for mapping PIM elements to target languages.
The document summarizes a presentation on the Project P project for developing model compilers for safety critical systems. Some key points:
- Project P developed a generic framework and code generator called QGEN to generate code from models in languages like Simulink and Stateflow to languages like C and Ada.
- The framework and QGEN were qualified up to DO-178C level TQL1 to allow their use in safety critical systems.
- Case studies demonstrated the use of QGEN at companies like Thales Alenia Space to generate Ada code for a spacecraft attitude control system from Simulink models.
Test-driven product modeling is a methodology of product modeling which leads to quick development of high-quality product models. Automatizable test case(s) are written before the product model is implemented. Subsequently the product model is modified until no test cases fail. With subsequent refactoring steps the design and implementation is improved.
To apply this development process, product modelers need to write test cases themselves while implementing the product model. The test cases have to be created and maintained easily and tests have to be executed very quickly. After running the tests, it must be very easy to analyze test results. Furthermore, support for refactoring the product model and test cases is required.
Special tool support is essential to model products in a test-driven way. As an example of such tool support, we present the integration of the ConfigScan test engine into the Eclipse-based modeling environments VClipse and ConfigModeler.
VClipse is an open-source product-modeling environment. Product models can be specified using the textual language VCML. ConfigModeler is a customer-specific product-modeling environment built in a customer project at Nokia Siemens Networks. Product models can be specified in a high-level and customer-specific language.
2012 CWG European Conference - Berlin, Germany (Tim Geisler, webXcerpt Software GmbH, Christophe Faure, Fysbee SAS)
Bounded Model Checking for C Programs in an Enterprise EnvironmentAdaCore
This document discusses using bounded model checking to analyze C programs at scale in an enterprise environment. It describes compiling thousands of software packages using a tool called goto-cc that converts C code to an intermediate representation. This allows running verification tools to find bugs. Many bugs were found and reported, improving quality. The goal is to focus on developing verification methods and analyzing a large codebase to find more bugs and security issues.
Rhapsody's model-driven development environment allows developers to work how they want through model and code synchronization. It supports software asset reuse and visualizing legacy code for clarity. Model-driven testing helps improve quality and productivity. Rhapsody provides an open environment to continue using existing tools.
Tooling for Machine Learning: AWS Products, Open Source Tools, and DevOps Pra...SQUADEX
This document provides an overview of machine learning tooling on AWS, including data pipelines, modeling and training, and deployment. It discusses AWS products for streaming and batch data ingestion, machine learning services like Amazon Machine Learning, Amazon SageMaker, and AWS Deep Learning AMIs. It also provides best practices for notebooks, model maintenance, and ML lifecycle management using tools like MLFlow and KubeFlow. The document concludes that while AWS provides a strong foundation, operations require additional layers for successful and reproducible machine learning.
Incremental Queries and Transformations for Engineering Critical SystemsÁkos Horváth
This document discusses incremental queries and transformations for engineering critical systems. It describes how model transformations can be used in critical systems engineering to enable early validation of system models. It presents EMF-IncQuery and VIATRA, which allow for incremental queries and transformations over models. These technologies have been applied in various industrial domains including avionics, automotive, and telecommunications. The talk concludes by discussing some of the industrial applications and contributors to this work.
DCEU 18: From Legacy Mainframe to the Cloud: The Finnish Railways Evolution w...Docker, Inc.
Niko Virtala - Cloud Architect, VR Group (Finnish Railways)
In 2016, Finnish Railways reservation system and many other systems were monolithic applications running on mainframe or local datacenters. They began a containerization project focused on modernizing the reservation system. The invest paid off. Today, they have containerized multiple applications, running both on-premises and on AWS today. That’s allowed Finland’s leading public transport agency to shut down a data center and become a technology innovator. In this session, Finnish Rail will explain the processes and tools they used to build a multi-cloud strategy that lets them take advantage of geo-location and cost advantages to run in AWS, Azure and soon Google Cloud. You’ll learn: - How to implement a successful multi-cloud deployment - What challenges you can expect to face along the way - The processes and tools that are critical part of a successful project.
E-commerce Development Services- Hornet DynamicsHornet Dynamics
For any business hoping to succeed in the digital age, having a strong online presence is crucial. We offer Ecommerce Development Services that are customized according to your business requirements and client preferences, enabling you to create a dynamic, safe, and user-friendly online store.
Flutter is a popular open source, cross-platform framework developed by Google. In this webinar we'll explore Flutter and its architecture, delve into the Flutter Embedder and Flutter’s Dart language, discover how to leverage Flutter for embedded device development, learn about Automotive Grade Linux (AGL) and its consortium and understand the rationale behind AGL's choice of Flutter for next-gen IVI systems. Don’t miss this opportunity to discover whether Flutter is right for your project.
Zoom is a comprehensive platform designed to connect individuals and teams efficiently. With its user-friendly interface and powerful features, Zoom has become a go-to solution for virtual communication and collaboration. It offers a range of tools, including virtual meetings, team chat, VoIP phone systems, online whiteboards, and AI companions, to streamline workflows and enhance productivity.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Takashi Kobayashi and Hironori Washizaki, "SWEBOK Guide and Future of SE Education," First International Symposium on the Future of Software Engineering (FUSE), June 3-6, 2024, Okinawa, Japan
What is Master Data Management by PiLog Groupaymanquadri279
PiLog Group's Master Data Record Manager (MDRM) is a sophisticated enterprise solution designed to ensure data accuracy, consistency, and governance across various business functions. MDRM integrates advanced data management technologies to cleanse, classify, and standardize master data, thereby enhancing data quality and operational efficiency.
GraphSummit Paris - The art of the possible with Graph TechnologyNeo4j
Sudhir Hasbe, Chief Product Officer, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
WhatsApp offers simple, reliable, and private messaging and calling services for free worldwide. With end-to-end encryption, your personal messages and calls are secure, ensuring only you and the recipient can access them. Enjoy voice and video calls to stay connected with loved ones or colleagues. Express yourself using stickers, GIFs, or by sharing moments on Status. WhatsApp Business enables global customer outreach, facilitating sales growth and relationship building through showcasing products and services. Stay connected effortlessly with group chats for planning outings with friends or staying updated on family conversations.
Measures in SQL (SIGMOD 2024, Santiago, Chile)Julian Hyde
SQL has attained widespread adoption, but Business Intelligence tools still use their own higher level languages based upon a multidimensional paradigm. Composable calculations are what is missing from SQL, and we propose a new kind of column, called a measure, that attaches a calculation to a table. Like regular tables, tables with measures are composable and closed when used in queries.
SQL-with-measures has the power, conciseness and reusability of multidimensional languages but retains SQL semantics. Measure invocations can be expanded in place to simple, clear SQL.
To define the evaluation semantics for measures, we introduce context-sensitive expressions (a way to evaluate multidimensional expressions that is consistent with existing SQL semantics), a concept called evaluation context, and several operations for setting and modifying the evaluation context.
A talk at SIGMOD, June 9–15, 2024, Santiago, Chile
Authors: Julian Hyde (Google) and John Fremlin (Google)
https://doi.org/10.1145/3626246.3653374
Microservice Teams - How the cloud changes the way we workSven Peters
A lot of technical challenges and complexity come with building a cloud-native and distributed architecture. The way we develop backend software has fundamentally changed in the last ten years. Managing a microservices architecture demands a lot of us to ensure observability and operational resiliency. But did you also change the way you run your development teams?
Sven will talk about Atlassian’s journey from a monolith to a multi-tenanted architecture and how it affected the way the engineering teams work. You will learn how we shifted to service ownership, moved to more autonomous teams (and its challenges), and established platform and enablement teams.
Hand Rolled Applicative User ValidationCode KataPhilip Schwarz
Could you use a simple piece of Scala validation code (granted, a very simplistic one too!) that you can rewrite, now and again, to refresh your basic understanding of Applicative operators <*>, <*, *>?
The goal is not to write perfect code showcasing validation, but rather, to provide a small, rough-and ready exercise to reinforce your muscle-memory.
Despite its grandiose-sounding title, this deck consists of just three slides showing the Scala 3 code to be rewritten whenever the details of the operators begin to fade away.
The code is my rough and ready translation of a Haskell user-validation program found in a book called Finding Success (and Failure) in Haskell - Fall in love with applicative functors.
E-commerce Application Development Company.pdfHornet Dynamics
Your business can reach new heights with our assistance as we design solutions that are specifically appropriate for your goals and vision. Our eCommerce application solutions can digitally coordinate all retail operations processes to meet the demands of the marketplace while maintaining business continuity.
Artificia Intellicence and XPath Extension FunctionsOctavian Nadolu
The purpose of this presentation is to provide an overview of how you can use AI from XSLT, XQuery, Schematron, or XML Refactoring operations, the potential benefits of using AI, and some of the challenges we face.
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppGoogle
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-fusion-buddy-review
AI Fusion Buddy Review: Key Features
✅Create Stunning AI App Suite Fully Powered By Google's Latest AI technology, Gemini
✅Use Gemini to Build high-converting Converting Sales Video Scripts, ad copies, Trending Articles, blogs, etc.100% unique!
✅Create Ultra-HD graphics with a single keyword or phrase that commands 10x eyeballs!
✅Fully automated AI articles bulk generation!
✅Auto-post or schedule stunning AI content across all your accounts at once—WordPress, Facebook, LinkedIn, Blogger, and more.
✅With one keyword or URL, generate complete websites, landing pages, and more…
✅Automatically create & sell AI content, graphics, websites, landing pages, & all that gets you paid non-stop 24*7.
✅Pre-built High-Converting 100+ website Templates and 2000+ graphic templates logos, banners, and thumbnail images in Trending Niches.
✅Say goodbye to wasting time logging into multiple Chat GPT & AI Apps once & for all!
✅Save over $5000 per year and kick out dependency on third parties completely!
✅Brand New App: Not available anywhere else!
✅ Beginner-friendly!
✅ZERO upfront cost or any extra expenses
✅Risk-Free: 30-Day Money-Back Guarantee!
✅Commercial License included!
See My Other Reviews Article:
(1) AI Genie Review: https://sumonreview.com/ai-genie-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
#AIFusionBuddyReview,
#AIFusionBuddyFeatures,
#AIFusionBuddyPricing,
#AIFusionBuddyProsandCons,
#AIFusionBuddyTutorial,
#AIFusionBuddyUserExperience
#AIFusionBuddyforBeginners,
#AIFusionBuddyBenefits,
#AIFusionBuddyComparison,
#AIFusionBuddyInstallation,
#AIFusionBuddyRefundPolicy,
#AIFusionBuddyDemo,
#AIFusionBuddyMaintenanceFees,
#AIFusionBuddyNewbieFriendly,
#WhatIsAIFusionBuddy?,
#HowDoesAIFusionBuddyWorks
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j
Dr. Jesús Barrasa, Head of Solutions Architecture for EMEA, Neo4j
Découvrez les dernières innovations de Neo4j, et notamment les dernières intégrations cloud et les améliorations produits qui font de Neo4j un choix essentiel pour les développeurs qui créent des applications avec des données interconnectées et de l’IA générative.
DDS Security Version 1.2 was adopted in 2024. This revision strengthens support for long runnings systems adding new cryptographic algorithms, certificate revocation, and hardness against DoS attacks.
How to write a program in any programming language
QGen GNAT Industrial User Day
1.
2. QGen: Simulink® static verification
and code generation
Presented by
Matteo Bordin
bordin@adacore.com
3. What is QGen?
A qualifiable and customizable code generator from
Simulink® and Stateflow® to SPARK and MISRA C
A formal model verifier for runtime errors and functional properties
An extendable framework to integrate heterogeneous models
4. Main features 1/2
Support for a large subset of Simulink®
Around 120 blocks, optional checks for MISRA Simulink®
Stateflow® support expected in Spring 2015
Code generation for SPARK and MISRA C
Readable and traceable code, no performance penalty
Ships with static model verifier
Run-time errors (divisions by zero, overflows, …)
Logical errors (dead execution paths)
Functional properties (Simulink® assertions blocks)
5. Main features 2/2
Off-the-shelf qualification material
Including validation against Simulink® simulation
DO-178C, EN 50128, ISO-26262 TCL3
Highly tunable thanks to visible intermediate representation
“Plug-and-play” transformations using Eclipse tools or XML manipulation
Optimized code generation
Generation of additional artifacts: Makefiles, docs, metrics, …
Integrating with UML/SysML/AADL or in house DSLs
6. Product development history 1/2
France and EU -funded collaborative R&D project
From October 2011 to October 2015
10M Euros total budget
19 Partners
Leader: Continental Automotive France
8. How does QGen work? 1/2
Simulink® model
importer
QGen intermediate representation (EMF metamodel)
SPARK & MISRA C
code generator
model verifier
9. How does QGen work? 2/2
Integrated in Matlab® (ideal for everyday use)
From command line (does not require Matlab®, ideal for regression testing)
qgenc MyModel.mdl [code-generation-options]
10. QGen and DO-178
DO-330 (Tool Qualification Document)
Precise identification of certification credit for code generator qualification
Identification of credit w.r.t qualification strategy (TQL1 vs TQL5)
11. Using QGen - Verification
Simulink® model
QGen intermediate representation
Verification
Formalism
importer
model verifier
Verification results
round-trip
Advanced
+
traceability data
*already qualified as part of a DO-178 Verification Tool / TQL5
Verification
Engine*
12. Using QGen - finding bugs
No defensive modeling against division by zero
13.
14. Using QGen - verifying functional properties
ON OFF
TRUE ERROR OK
FALSE OK OK
Brake OR
Clutch
Cruise Control
The Cruise Control shall never be ON after
the driver pushed the Brake or clutch pedal
15. Using QGen - verifying functional properties
Formalization of safety property
System implementation
The Cruise Control shall never be ON after
the driver pushed the Brake or clutch pedal
16.
17. Using QGen - mixing proof & test
Integration of legacy code via S-Function blocks
How to prove the complete system (model + legacy code) is safe?
How to extract model-relevant properties from legacy code?
S-Functions written in C
Difficult to automatically extract information
Source code may not be available
Rely on design-by-contact
Wrap C code in automatically generated Ada stubs
Decorate Ada stubs using pre/post conditions
Rely on pre/post conditions for model verification
Test C code against pre/post conditions
18. Using QGen - mixing proof & test
S-Function written in C
19.
20. Using QGen - mixing proof & test
Availability of Static Analysis
C S-Function Incomplete Model Static Analys
C S-Function with Ada 2012 wrapper
(design by contract)
Static Analysis for Model
Test for S-Function
Ada S-Function
Static Analysis on both Model
and Source code
Static Analysis holds for both
C and Ada code generation!
22. Using QGen - Code Generation
Standard code generation
One file for every atomic subsystem
Variables are global (in .adb/.c files)
Full inlining, to increase performances
A single file for the entire system
All function calls are inlined
Less memory consumption, less memory copy, more optimization
Wrapping to reuse code with different I/O
Corresponds to Simulink “generate reusable code”
Pass persistent state and I/O as formal parameters
Allows reusing the same code for multiple I/O data
23.
24. QGen - an open and extensible framework
Simulink Model
Black Box
Source Code
Source Code
Traditional Code Generators
Simulink Model
Access to intermediate representations
Makefile
generation
Processor
customization
Modeling standard
checking
Additional
verification
Integration with UML
Extract traceability
data
25. Customizing QGen: use case 1
A new processor is adopted, which provides intrinsic optimized functions
Ex.: saturated sum
How to reuse existing models?
While benefitting from new processor functionalities?
Relying on S-Functions requires changing them
And potentially re-execute some verification activities!
We rather change the code generator!
26. Customizing QGen: use case 1
Exploit process-specific instructions
…
-- inlined code for saturated sum
tmp := a + b;
if tmp > Int16’Last then
out := Int16’Last;
elsif tmp < Int16’First then
out := Int16’First;
else
out := tmp;
end if;
…
…
-- use processor-specific lib
out := zaddwss (a, b);
…
28. Customizing QGen: use case 2
Communication between control engineers and software architects
Simulink models hide information relevant for software architecture
Execution rates, data flow constraints, …
How can this information be communicated to a software architect?
Extraction of architectural concerns from Simulink model
Extract AADL model out of Simulink
Can be used to produce allocation models
Can be used to execute real-time analysis
29. Customizing QGen: use case 2
Intermediate
representation 1
ECore-compliant
XMI
Acceleo / ATL
transformation
>> qgen myModel.mdl —steps pe
Extraction of real-time architectural constraints
by generating an AADL model
30. QGen: roadmap
2013 - 2014
End of 2014
February 2015
Spring 2015
Q4 2015
evaluation by project P partners
first selected customer pre-release
QGen 1.0 available
Stateflow® support
full qualification material
In the pipeline: static stack analysis, AUTOSAR, …
31. QGEN is the open, tunable and qualifiable
model verifier and code generator
for Simulink® and Stateflow®
pre-release for selected customers: Q4 2014
version 1.0: February 2015
32. QGen: Simulink® static verification
and code generation
Presented by
Matteo Bordin
bordin@adacore.com