This document discusses model-based testing of self-adaptive software systems. It begins by motivating the need for new testing methods for these complex systems. It then performs a failure analysis to develop a failure domain model and fault dependency graph. From this, it derives 6+1 requirements that testing of self-adaptive systems should assure. Finally, it discusses future work in instantiating the requirements for specific projects and developing appropriate testing models and coverage criteria.
Identifying and Resolving Consistency Issues between Model RepresentationsIvan Ruchkin
An overview research talk given during at JPL on July 22, 2015.
Abstract:
Today’s complex cyber-physical systems require the use of a variety of models to capture different aspects of these systems: physical models, software models, control models, and so on. A critical challenge is to ensure consistency and completeness of these models. In this talk we describe an approach that uses architectural models as the basis for reconciliation. Specifically, a base architecture of the system is used as a unifying representation to compare the structure and semantics of the associated models through a set of architectural projections, or views. Each model is related to the base architecture through the abstraction of a corresponding architectural view, which captures structural and semantic correspondences between model elements and system entities. The use of the architectural view framework to relate system models from different domains is illustrated in the context of a quad-rotor air vehicle and an on-going collaboration with Toyota on future braking system design.
This document discusses semantic interoperability and reasoning techniques for heterogeneous IoT devices and data in smart buildings. It describes using ontologies and semantic annotations to model building components, properties, and their relationships. Semantic matching of component inputs and outputs can then enable automatic configuration of monitoring and control systems based on the available devices. Reasoning over the semantic knowledge graph allows reconfiguration when devices are added, removed or properties change over time.
Mathematical models and algorithms challengesijctcm
This paper succinctly illustrates challenges encountered when modelling systems mathematically.
Mathematical modelling entirely entails math symbols, numbers and relations forming a functional
equation. These mathematical equations can represent any system of interests, also provides ease computer
simulations. Mathematical models are extensively utilized in different fields i.e. engineering, by scientists,
and analysts to give a clear understanding of the problem. Modelling contributed a lot since inversion of
the concept. Simple and complex structures erected as a result of modelling. In that sense modelling is an
important part of engineering. It can be referred to as the primary building block of every system. A
complex model however is not an ideal solution. Engineers have to be cautious not to discard all
information as this might render the designed model useless – as detailed in this paper the model should be
simple with all necessary and relevant data. Basically the purpose of this paper is to show the importance
and clearly explain in detail challenges encountered when modelling
This document proposes a final year project on using neural networks to predict stock market performance. It will analyze past research on neural network methodology, including network architecture and training methods. The project will identify benefits and limitations of different approaches to help determine the best practices and inform future research directions in applying neural networks to stock market prediction.
A practical approach for model based slicingIOSR Journals
This document presents a methodology for model-based slicing of UML sequence diagrams to extract submodels. The methodology involves:
1. Generating a sequence diagram from requirements and converting it to XML.
2. Parsing the XML with a DOM parser to extract message information.
3. Slicing the message information based on a slicing criteria, such as a variable, to extract relevant messages.
4. Converting the sliced messages back into a simplified sequence diagram fragment focused on the slicing criteria.
The methodology aims to address the difficulty of visualizing and testing large, complex software models by extracting a relevant submodel based on a slicing criteria, making the model easier to understand and test.
Este documento presenta un resumen de varios temas relacionados con el uso de herramientas de informática como Office 2003. Incluye instrucciones para publicar páginas web, presentar archivos Flash y video en PowerPoint, crear videos en Movie Maker, definir términos de informática, y combinar correspondencia. El objetivo es enseñar formas avanzadas de utilizar la informática para el trabajo.
La mujer presenta una serie de fotos suyas en diferentes situaciones de su vida personal y profesional, incluyendo fotos con sus hijos y alumnos, en eventos de la iglesia con sus hermanas, durante su bautizo, de paseo con sus alumnos y en la universidad con sus compañeras, así como en su otra profesión como payasita y celebrando su cumpleaños.
Identifying and Resolving Consistency Issues between Model RepresentationsIvan Ruchkin
An overview research talk given during at JPL on July 22, 2015.
Abstract:
Today’s complex cyber-physical systems require the use of a variety of models to capture different aspects of these systems: physical models, software models, control models, and so on. A critical challenge is to ensure consistency and completeness of these models. In this talk we describe an approach that uses architectural models as the basis for reconciliation. Specifically, a base architecture of the system is used as a unifying representation to compare the structure and semantics of the associated models through a set of architectural projections, or views. Each model is related to the base architecture through the abstraction of a corresponding architectural view, which captures structural and semantic correspondences between model elements and system entities. The use of the architectural view framework to relate system models from different domains is illustrated in the context of a quad-rotor air vehicle and an on-going collaboration with Toyota on future braking system design.
This document discusses semantic interoperability and reasoning techniques for heterogeneous IoT devices and data in smart buildings. It describes using ontologies and semantic annotations to model building components, properties, and their relationships. Semantic matching of component inputs and outputs can then enable automatic configuration of monitoring and control systems based on the available devices. Reasoning over the semantic knowledge graph allows reconfiguration when devices are added, removed or properties change over time.
Mathematical models and algorithms challengesijctcm
This paper succinctly illustrates challenges encountered when modelling systems mathematically.
Mathematical modelling entirely entails math symbols, numbers and relations forming a functional
equation. These mathematical equations can represent any system of interests, also provides ease computer
simulations. Mathematical models are extensively utilized in different fields i.e. engineering, by scientists,
and analysts to give a clear understanding of the problem. Modelling contributed a lot since inversion of
the concept. Simple and complex structures erected as a result of modelling. In that sense modelling is an
important part of engineering. It can be referred to as the primary building block of every system. A
complex model however is not an ideal solution. Engineers have to be cautious not to discard all
information as this might render the designed model useless – as detailed in this paper the model should be
simple with all necessary and relevant data. Basically the purpose of this paper is to show the importance
and clearly explain in detail challenges encountered when modelling
This document proposes a final year project on using neural networks to predict stock market performance. It will analyze past research on neural network methodology, including network architecture and training methods. The project will identify benefits and limitations of different approaches to help determine the best practices and inform future research directions in applying neural networks to stock market prediction.
A practical approach for model based slicingIOSR Journals
This document presents a methodology for model-based slicing of UML sequence diagrams to extract submodels. The methodology involves:
1. Generating a sequence diagram from requirements and converting it to XML.
2. Parsing the XML with a DOM parser to extract message information.
3. Slicing the message information based on a slicing criteria, such as a variable, to extract relevant messages.
4. Converting the sliced messages back into a simplified sequence diagram fragment focused on the slicing criteria.
The methodology aims to address the difficulty of visualizing and testing large, complex software models by extracting a relevant submodel based on a slicing criteria, making the model easier to understand and test.
Este documento presenta un resumen de varios temas relacionados con el uso de herramientas de informática como Office 2003. Incluye instrucciones para publicar páginas web, presentar archivos Flash y video en PowerPoint, crear videos en Movie Maker, definir términos de informática, y combinar correspondencia. El objetivo es enseñar formas avanzadas de utilizar la informática para el trabajo.
La mujer presenta una serie de fotos suyas en diferentes situaciones de su vida personal y profesional, incluyendo fotos con sus hijos y alumnos, en eventos de la iglesia con sus hermanas, durante su bautizo, de paseo con sus alumnos y en la universidad con sus compañeras, así como en su otra profesión como payasita y celebrando su cumpleaños.
Una página web, página electrónica o ciberpágina, es un documento o información electrónica capaz de contener texto, sonido, vídeo, programas, enlaces, imágenes, y muchas otras cosas, adaptada para la llamada World Wide Web (WWW) y que puede ser accedida mediante un navegador. aquí tambìen hablaremos sobre la evolución de las webs.
Este documento discute cómo las escuelas actualmente no enseñan a los estudiantes a pensar críticamente y resolver problemas, sino que simplemente les dan información sin entenderla. Argumenta que es importante que los estudiantes desarrollen habilidades de razonamiento que puedan usar durante toda su vida. Finalmente, sugiere que es posible lograr un cambio en el sistema educativo para enfocarse más en enseñar a los estudiantes a pensar haciendo preguntas significativas.
The document discusses approaches to writing secure frontend code in the context of ReactJS. It begins by outlining common client-side vulnerabilities like XSS, including reflected, stored, and DOM-based XSS. It then discusses how to prevent vulnerabilities in ReactJS by escaping HTML, attributes, JS data, and JSON data. It also recommends using a whitelist of allowed attributes rather than a blacklist of forbidden ones. Finally, it outlines some simple rules for ReactJS like using safe user input by default, only unsafe input for special forms, allowing only known attributes, and not allowing inline attribute data.
OneDrive permite compartir y descargar documentos desde cualquier dispositivo con conexión a Internet. Existe versiones de OneDrive para varias plataformas incluyendo Windows, Mac, iPhone, Android e iPad. OneDrive ha servido para que los usuarios puedan almacenar documentos sin importar su ubicación y compartir información fácilmente con otros, convirtiéndose en una herramienta útil para negocios, tareas escolares y más.
This document is a resume for Daniel Adedigba seeking a position as a Systems Analyst. It summarizes his professional experience which includes project management, business and systems analysis, and installation and configuration. His skills include IT security best practices, managing multiple projects simultaneously, and being a team player. His work history includes positions in bakery auditing, farm maintenance, and computer hardware and software engineering. He has certifications in CPR/First Aid and has earned associate degrees in estate management and information technology networking.
Este documento explica cómo publicar documentos en SlideShare en 3 pasos: 1) Crear una cuenta en SlideShare, 2) Subir un documento y completar los metadatos, 3) Obtener el código HTML para incrustar el documento en un sitio web u obtener la dirección URL para verlo directamente. Proporciona detalles sobre los formatos compatibles y cómo completar cada paso del proceso de publicación.
HW/SW Partitioning Approach on Reconfigurable Multimedia System on ChipCSCJournals
Due to the complexity and the high performance requirement of multimedia applications, the design of embedded systems is the subject of different types of design constraints such as execution time, time to market, energy consumption, etc. Some approaches of joint software/hardware design (Co-design) were proposed in order to help the designer to seek an adequacy between applications and architecture that satisfies the different design constraints. This paper presents a new methodology for hardware/software partitioning on reconfigurable multimedia system on chip, based on dynamic and static steps. The first one uses the dynamic profiling and the second one uses the design trotter tools. The validation of our approach is made through 3D image synthesis.
1) The document discusses the modeling and development of virtual application software to simulate various engineering mechanisms.
2) CAD is used to create 3D wireframe models of common mechanisms like links and joints.
3) The virtual mechanisms are then animated to simulate their motion in a simulated environment, allowing for analysis of industrial applications.
The document discusses modeling performance for distributed real-time process control systems early in development. It proposes representing individual system elements like sensors and actuators as periodic processes and using Model Driven Architecture to develop functional models prior to UML models. This allows performance to be animated or calculated early based on individual element models, helping establish performance requirements before implementation.
MODEL CHECKERS –TOOLS AND LANGUAGES FOR SYSTEM DESIGN- A SURVEYcsandit
For over four decades now, variants of Model Checkers are being used as an approach for formal verification of systems consisting of software, hardware or combination of both. Though various model checking tools are available like NuSMV, UPPAAL, PRISM, PAT,FDR, it is difficult to comprehend their usage for systems in different domains like telecommunication, automobile, health and entertainment. However, industry experts and researchers have showcased the use of formal verifications techniques in various domains including Networking, Security and Semiconductor design. With current generation systems becoming more complex, there is an urgent need to better understand and use appropriate methodology, language and tool for definite domain. In this paper, we have made an effort to present Model checking in detail with relevance to available tools and languages to specific domain. For novices in the field, this paper would provide knowledge of model checkers languages and tools that would be suitable for various purposes in diverse systems
Managing Complexity and Change with Scalable Software Designlbergmans
This is a presentation I gave to a group of IT managers. It explains what 'scalable design' is about, discusses its motivations by a number of facts and figures about software development, and illustrates the approach through a real-world case.
This document provides an overview of the Variation Response Method (VRM) simulation toolkit. VRM is a modular CAE simulation toolkit that can model, simulate, and optimize multi-stage production systems considering dimensional variation. It addresses challenges like variation propagation in multi-stage systems. Example applications discussed include optimizing fixture layout and assembly sequence for automotive body parts and controlling gaps for aerospace assemblies. The framework incorporates variation modeling, CAE simulation, and links to artificial intelligence/deep learning modules.
The document discusses systems engineering challenges and opportunities, including:
1) Growing mission complexity is exceeding our ability to manage risk, and system designs emerge from pieces rather than sound architectures, resulting in brittle systems.
2) Technical and programmatic sides of projects are poorly coupled, hampering decision making and increasing risk.
3) Too much focus on process comes at the expense of design quality, driving up costs and risk.
The document proposes addressing these with model-based systems engineering, architecture frameworks, and integrating technical and programmatic considerations through architecture.
This document discusses the design and implementation chapter of a lecture. It covers topics like using UML for object-oriented design, design patterns, and implementation issues. It then discusses the weather station case study used to illustrate the design process, including defining system context, use cases, architectural design, identifying object classes, design models, and interface specification.
This document discusses design and implementation topics covered in Chapter 7, including object-oriented design using UML, design patterns, implementation issues, and open source development. It provides an example of designing a weather station system using various UML diagrams to illustrate the object-oriented design process. Key activities covered are identifying objects, developing design models, and specifying object interfaces. Implementation issues discussed include reuse, configuration management, and host-target development.
The document introduces a new data management system called Metadata Event Log (MEL) to store inconsistent metadata entries from a large-scale landslide monitoring project. MEL uses a tabular format to record sensor node metadata and events over time without a rigid data structure. Functions are written to query MEL and infer missing data, returning relevant entries within the specified time period. The system provides a flexible way to track dynamic sensor node updates compared to traditional rigid data management systems.
A tlm based platform to specify and verify component-based real-time systemsijseajournal
This paper is about modeling and verification languages with their pros and cons. Modeling is dynamic
part of system development process before realization. The cost and risky situations obligate designer to
model system before production and modeling gives designer more flexible and dynamic image of realized
system. Formal languages and modeling methods are the ways to model and verify systems but they have
their own difficulties in specifying systems. Some of them are very precise but hard to specify complex
systems like TRIO, and others do not support object oriented design and hardware/software co-design in
real-time systems. In this paper we are going to introduce systemC and the more abstracted method called
TLM 2.0 that solved all mentioned problems.
Una página web, página electrónica o ciberpágina, es un documento o información electrónica capaz de contener texto, sonido, vídeo, programas, enlaces, imágenes, y muchas otras cosas, adaptada para la llamada World Wide Web (WWW) y que puede ser accedida mediante un navegador. aquí tambìen hablaremos sobre la evolución de las webs.
Este documento discute cómo las escuelas actualmente no enseñan a los estudiantes a pensar críticamente y resolver problemas, sino que simplemente les dan información sin entenderla. Argumenta que es importante que los estudiantes desarrollen habilidades de razonamiento que puedan usar durante toda su vida. Finalmente, sugiere que es posible lograr un cambio en el sistema educativo para enfocarse más en enseñar a los estudiantes a pensar haciendo preguntas significativas.
The document discusses approaches to writing secure frontend code in the context of ReactJS. It begins by outlining common client-side vulnerabilities like XSS, including reflected, stored, and DOM-based XSS. It then discusses how to prevent vulnerabilities in ReactJS by escaping HTML, attributes, JS data, and JSON data. It also recommends using a whitelist of allowed attributes rather than a blacklist of forbidden ones. Finally, it outlines some simple rules for ReactJS like using safe user input by default, only unsafe input for special forms, allowing only known attributes, and not allowing inline attribute data.
OneDrive permite compartir y descargar documentos desde cualquier dispositivo con conexión a Internet. Existe versiones de OneDrive para varias plataformas incluyendo Windows, Mac, iPhone, Android e iPad. OneDrive ha servido para que los usuarios puedan almacenar documentos sin importar su ubicación y compartir información fácilmente con otros, convirtiéndose en una herramienta útil para negocios, tareas escolares y más.
This document is a resume for Daniel Adedigba seeking a position as a Systems Analyst. It summarizes his professional experience which includes project management, business and systems analysis, and installation and configuration. His skills include IT security best practices, managing multiple projects simultaneously, and being a team player. His work history includes positions in bakery auditing, farm maintenance, and computer hardware and software engineering. He has certifications in CPR/First Aid and has earned associate degrees in estate management and information technology networking.
Este documento explica cómo publicar documentos en SlideShare en 3 pasos: 1) Crear una cuenta en SlideShare, 2) Subir un documento y completar los metadatos, 3) Obtener el código HTML para incrustar el documento en un sitio web u obtener la dirección URL para verlo directamente. Proporciona detalles sobre los formatos compatibles y cómo completar cada paso del proceso de publicación.
HW/SW Partitioning Approach on Reconfigurable Multimedia System on ChipCSCJournals
Due to the complexity and the high performance requirement of multimedia applications, the design of embedded systems is the subject of different types of design constraints such as execution time, time to market, energy consumption, etc. Some approaches of joint software/hardware design (Co-design) were proposed in order to help the designer to seek an adequacy between applications and architecture that satisfies the different design constraints. This paper presents a new methodology for hardware/software partitioning on reconfigurable multimedia system on chip, based on dynamic and static steps. The first one uses the dynamic profiling and the second one uses the design trotter tools. The validation of our approach is made through 3D image synthesis.
1) The document discusses the modeling and development of virtual application software to simulate various engineering mechanisms.
2) CAD is used to create 3D wireframe models of common mechanisms like links and joints.
3) The virtual mechanisms are then animated to simulate their motion in a simulated environment, allowing for analysis of industrial applications.
The document discusses modeling performance for distributed real-time process control systems early in development. It proposes representing individual system elements like sensors and actuators as periodic processes and using Model Driven Architecture to develop functional models prior to UML models. This allows performance to be animated or calculated early based on individual element models, helping establish performance requirements before implementation.
MODEL CHECKERS –TOOLS AND LANGUAGES FOR SYSTEM DESIGN- A SURVEYcsandit
For over four decades now, variants of Model Checkers are being used as an approach for formal verification of systems consisting of software, hardware or combination of both. Though various model checking tools are available like NuSMV, UPPAAL, PRISM, PAT,FDR, it is difficult to comprehend their usage for systems in different domains like telecommunication, automobile, health and entertainment. However, industry experts and researchers have showcased the use of formal verifications techniques in various domains including Networking, Security and Semiconductor design. With current generation systems becoming more complex, there is an urgent need to better understand and use appropriate methodology, language and tool for definite domain. In this paper, we have made an effort to present Model checking in detail with relevance to available tools and languages to specific domain. For novices in the field, this paper would provide knowledge of model checkers languages and tools that would be suitable for various purposes in diverse systems
Managing Complexity and Change with Scalable Software Designlbergmans
This is a presentation I gave to a group of IT managers. It explains what 'scalable design' is about, discusses its motivations by a number of facts and figures about software development, and illustrates the approach through a real-world case.
This document provides an overview of the Variation Response Method (VRM) simulation toolkit. VRM is a modular CAE simulation toolkit that can model, simulate, and optimize multi-stage production systems considering dimensional variation. It addresses challenges like variation propagation in multi-stage systems. Example applications discussed include optimizing fixture layout and assembly sequence for automotive body parts and controlling gaps for aerospace assemblies. The framework incorporates variation modeling, CAE simulation, and links to artificial intelligence/deep learning modules.
The document discusses systems engineering challenges and opportunities, including:
1) Growing mission complexity is exceeding our ability to manage risk, and system designs emerge from pieces rather than sound architectures, resulting in brittle systems.
2) Technical and programmatic sides of projects are poorly coupled, hampering decision making and increasing risk.
3) Too much focus on process comes at the expense of design quality, driving up costs and risk.
The document proposes addressing these with model-based systems engineering, architecture frameworks, and integrating technical and programmatic considerations through architecture.
This document discusses the design and implementation chapter of a lecture. It covers topics like using UML for object-oriented design, design patterns, and implementation issues. It then discusses the weather station case study used to illustrate the design process, including defining system context, use cases, architectural design, identifying object classes, design models, and interface specification.
This document discusses design and implementation topics covered in Chapter 7, including object-oriented design using UML, design patterns, implementation issues, and open source development. It provides an example of designing a weather station system using various UML diagrams to illustrate the object-oriented design process. Key activities covered are identifying objects, developing design models, and specifying object interfaces. Implementation issues discussed include reuse, configuration management, and host-target development.
The document introduces a new data management system called Metadata Event Log (MEL) to store inconsistent metadata entries from a large-scale landslide monitoring project. MEL uses a tabular format to record sensor node metadata and events over time without a rigid data structure. Functions are written to query MEL and infer missing data, returning relevant entries within the specified time period. The system provides a flexible way to track dynamic sensor node updates compared to traditional rigid data management systems.
A tlm based platform to specify and verify component-based real-time systemsijseajournal
This paper is about modeling and verification languages with their pros and cons. Modeling is dynamic
part of system development process before realization. The cost and risky situations obligate designer to
model system before production and modeling gives designer more flexible and dynamic image of realized
system. Formal languages and modeling methods are the ways to model and verify systems but they have
their own difficulties in specifying systems. Some of them are very precise but hard to specify complex
systems like TRIO, and others do not support object oriented design and hardware/software co-design in
real-time systems. In this paper we are going to introduce systemC and the more abstracted method called
TLM 2.0 that solved all mentioned problems.
This document discusses model-based systems engineering (MBSE) and its benefits over traditional document-based approaches. It describes MBSE as using modeling to support requirements, design, analysis and validation activities throughout a system's lifecycle. SysML is presented as a commonly used modeling language that provides constructs for specifying requirements, structure, behavior and other systems engineering problems. A case study of modeling a small satellite project is included to demonstrate MBSE concepts. The document concludes that MBSE is a key success factor for modern systems engineering of increasingly complex systems.
Software Engineering Important Short Question for ExamsMuhammadTalha436
The document discusses various topics related to software engineering including:
1. The software development life cycle (SDLC) and its phases like requirements, design, implementation, testing, etc.
2. The waterfall model and its phases from modeling to maintenance.
3. The purpose of feasibility studies, data flow diagrams, and entity relationship diagrams.
4. Different types of testing done during the testing phase like unit, integration, system, black box and white box testing.
BitLocker is drive encryption software included with Windows that encrypts the entire contents of the drive to protect against unauthorized access to data even if the drive is removed from the device. It stores the encryption key in the computer's Trusted Platform Module (TPM) chip or on an external USB drive for added security. BitLocker requires a Trusted Platform Module version 1.2 or higher, or the ability to store the recovery key on an external drive in order to encrypt the system drive.
The document provides definitions and explanations of key software engineering concepts. It summarizes stakeholders as anyone who directly or indirectly benefits from a system. Prototyping draws criticism for prioritizing quick prototypes over quality. Incremental development delivers software in pieces that build on prior deliveries, while evolutionary development iteratively produces more complete versions. Formal methods are not widely used due to extended timelines, complex mathematics, and incompatibility with other tools. Risk analysis identifies possible losses in development. Information systems link to business objectives by improving processes and maintaining competitive advantages. Process improvement involves measurement, analysis, change identification. Requirements elicitation uses techniques like interviews and prototyping. Architecture design represents effectiveness and reduces risks. Modular design improves
The document discusses the design and implementation process in software engineering. It covers topics like using the Unified Modeling Language (UML) for object-oriented design, design patterns, and implementation issues. It then discusses the design process, including identifying system contexts and interactions, architectural design, identifying object classes, and creating design models like subsystem, sequence, and state diagrams. The example of designing a weather station system is used to illustrate these design concepts and activities.
A UML Profile for Security and Code Generation IJECEIAES
Recently, many research studies have suggested the integration of safety engineering at an early stage of modeling and system development using Model-Driven Architecture (MDA). This concept consists in deploying the UML (Unified Modeling Language) standard as aprincipal metamodel for the abstractions of different systems. To our knowledge, most of this work has focused on integrating security requirements after the implementation phase without taking them into account when designing systems. In this work, we focused our efforts on non-functional aspects such as the business logic layer, data flow monitoring, and high-quality service delivery. Practically, we have proposed a new UML profile for security integration and code generation for the Java platform. Therefore, the security properties will be described by a UML profile and the OCL language to verify the requirements of confidentiality, authorization, availability, data integrity, and data encryption. Finally, the source code such as the application security configuration, the method signatures and their bodies, the persistent entities and the security controllers generated from sequence diagram of system’s internal behavior after its extension with this profile and applying a set of transformations.
This document describes a methodology for simulating heterogeneous embedded systems that include hardware, software, and electromechanical parts. Interfaces were developed to allow a VHDL simulator to communicate with a physical systems simulator and application programs. The interfaces use the C language links of the simulators to establish communication channels and exchange commands/parameter values between the simulated parts in a chained master/slave synchronization scheme. This unified simulation environment allows designers to validate the behavior of the entire system early in the design process before implementing any of its parts.
Rohit Vijay Bapat's resume summarizes his education and professional experience in software development. He has a MS in Mechanical Engineering from Missouri University of Science and Technology and a BE in Mechanical Engineering from University of Pune. His experience includes roles at Tata Consultancy Services, Mindware Engineering, SigmaTEK Systems, and Vaal Triangle developing CAD/CAM and shopfloor software. He has strong skills in C++, C#, Delphi, and CAD tools like AutoCAD, ProE, and NX.
1. Department of Computer Sience, Software Technology Group
Valencia, 31.05.2013
Towards Systematic Model-based Testing of
Self-adaptive Software
Georg Püschel, Sebastian Götz, Claas Wilke, Uwe Aßmann
2. Towards Systematic MBT of SAS Folie Nr. 2 von XYZ
Outline
1) SAS requires a new MBT foundation
2) Failure Analysis -- Method and Application
3) Result: SAS Testing Requirements
4) Conclusion and Future Work
02.06.2013
3. Towards Systematic MBT of SAS Folie Nr. 3 von XYZ
Motivation I: Why do we need…?
Energy Auto Tuning models and architecture:
„CoolSoftware“
Multi-NFP Auto-Tuning: ”Highly Adaptive Energy-Efficient
Computing” (HAEC)
Role-based SAS architecture: „Smart Application Grids“
(SMAGS)
Cyber-physical Systems including SAS behaviour: „Visual
and Interactive Cyber-Physical Systems Control and
Integration“ (VICCI)
All projects research about requirements and design.
To complete the SE process, testing is also required.
02.06.2013
4. Towards Systematic MBT of SAS Folie Nr. 4 von XYZ
Motivation II: Why should we generally….?
SAS conform to a feedback loop principle (e.g., MAPE-K [KC03])
Challenge:
“Creating validation and verification techniques to
test and evaluate control loops’ behaviour and
automatically detect unintended interactions.” [Cheng+08]
Are SAS special to testing?
As in design much more complex information has to be
specified.
As SAS run control loops, testing methods can be
specifically tailored to it.
Because of both, models should be to generate test cases.
(MBT – Model-based Testing)
02.06.2013
5. Towards Systematic MBT of SAS Folie Nr. 5 von XYZ
Related Work: What was done before?
Gap (1): Besides challenge statements, analysis is rare.
Gap (2): Only a minority considers the interaction between running system
processes and adaptation. (Transactions? Order of actions?)
Gap (3): Generalization?
Gap (4): Many approaches base on @runtime self-testing.
But: For industry-ready and safe systems (e.g., with certification) we
require black box testing in advance (but before deployment)!
Some related approaches/methods:
DiVA offers a comprehensive strategy, split in two phases [DiVA]:
Early validation@design time: adaptation logic and context model are
executed in a simulation
Operational validation: deals with context changes, uses Multi-
dimensional Coverage Arrays (MDCA)
Testing strategy for context-adaptive systems: „Artificial Shake Table Testing“
coverage strategy to produce context test data [MB09]
Further strategies generate test cases from context and control flows
[TSE+04][Wang+07]
Cheng„s explicit test model of the total state space of an SAS. [Cheng+08]
02.06.2013
6. Towards Systematic MBT of SAS Folie Nr. 6 von XYZ
Long-term goals
02.06.2013
here
• failure analysis
• requirements
future
• instantiation
• generalized SAS testing
7. Towards Systematic MBT of SAS Folie Nr. 7 von XYZ
Failure Analysis prerequisites:
Requirements and Assumptions
Following steps are performed in Failure Mode
and Effects Analysis (FMEA) [FMEA]:
1. Build Failure Domain Model (dimensions&properties)
2. Investigate scenarios
(3.) visualize fault propagation in a Fault Dependency
Tree/Graph
But: We require a common architectural
perspective of SAS!
Assumption: We do only consider SAS fulfilling the
MAPE-K principle.
02.06.2013
8. Towards Systematic MBT of SAS Folie Nr. 8 von XYZ
Failure Analysis, Step (1): Failure Domain Model for SAS
02.06.2013
Deviation from exepected
behaviour at a system‘s interface.
Inconsistent part of total system
state (inner state+perceivable
external state).
An error‘s cause.
Propagation to
another component.
9. Towards Systematic MBT of SAS Folie Nr. 9 von XYZ
Failure Analysis, Step (1): Failure Domain Model for SAS
02.06.2013
dimensions/properties
Standard dimensions, but important
to keep track of.
With or without inclusion of
knowledge model?
Which components of the control
loop are affected.
Especially if the failure includes
manipulating the outer reality.
Failures can also be associated with
non-optimal fulfilled goals.
Event-driveness/Determintation of
adaptation initiation.
10. Towards Systematic MBT of SAS Folie Nr. 10 von XYZ
Failure Analysis, Step (2): Scenarios
02.06.2013
check
Monitor Plan
Scheduler
Configuration
planner
(Planner)
Adaptation
logic execution
(Analyzer)
Event
monitoring
& processing
(Monitor)
Analyse
Action queue
synch
System
actions
PRE
PLAN
SCHED
Sensors Effectors
SENS
EFFECT
POST
ADAPT
Execute
Executor
RECONF
TRIG
EVENT
„K“
11. Towards Systematic MBT of SAS Folie Nr. 11 von XYZ
Failure Analysis, Step (3): Fault Dependency Graph
the FDG visualizes the casual chain of
failure propagation
the cyclic propagation is estabilished
through the stateful knowledge memory
and potential interdependencies of sensing
manipulated outer/physical reality
(dashed arrow)
PRE and TRIG are coupled in both
directections such that these scenarios
must be tested together
02.06.2013
12. Towards Systematic MBT of SAS Folie Nr. 12 von XYZ
Task: State requirements which can be mapped to respective scenarios.
Requirements as assurance tasks/goals.
Assure…
1) …correct sensor interpretation. (SENS)
2) …correct adaptation initiation. (TRIG/PRE/ADAPT)
3) …correct adaptation planning. (PLAN)
4) …consistent interaction between adaptation and
system behavior. (SCHED)
5) …consistent adaptation execution. (POST/RECONF)
6) …correct system behavior. (EVENT/EFFECT)
Extra:
7) Find contructive (to generate) and analytic (to measure) coverage criteria for
SAS.
Result: SAS Testing Requirements
02.06.2013
13. Towards Systematic MBT of SAS Folie Nr. 13 von XYZ
Conclusion and Future Work
We applied FMEA to the MAPE-K concept.
Failure Domain Model: properties of failures in
SAS
Fault Dependency Graph shows some special
causal interdependencies in SAS
6+1 derived requirements for SAS testing
its a basic toolset for SAS testers
Future Work:
instantiate requirements for our (initially named)
projects
… other to existing SAS frameworks
therefore, develop appropriate testing models and
coverage criteria
02.06.2013
14. Towards Systematic MBT of SAS Folie Nr. 14 von XYZ
FIN– Q/A?
02.06.2013
Thank you for your attendence.
15. Towards Systematic MBT of SAS Folie Nr. 15 von XYZ
Funding
This research has received funding…
• …within the project #100084131 by the
European Social Fund (ESF) and the German
Federal State of Saxony,
• …by Deutsche Forschungsgemeinschaft
(DFG) within CRC 912 (HAEC)
• …as well as T-Systems Multimedia Solutions
GmbH.
02.06.2013
16. Towards Systematic MBT of SAS Folie Nr. 16 von XYZ
References
[KC03] J. O. Kephart and D. M. Chess, “The vision of autonomic computing,” Computer, vol. 36, no. 1, Jan.
2003, pp. 41–50.
[Cheng+08] B. H. C. Cheng, D. Lemos, H. Giese, P. Inverardi, and J. M. et al., “Software engineering for self-
adaptive systems: A research roadmap,” in Dagstuhl Seminar 08031 on Software Engineering for Self-
Adaptive Systems, 2008.
[FMEA] H. E. Roland and B. Moriarty, System Safety Egnineering and Managemnent, 2nd edn. John Wiley &
Sons, Chichester, 1990, ch. Failure Mode and Effect Analysis.
[STA07] H. Sozer, B. Tekinerdogan, and M. Aksit, Archtitecting dependable systems IV. Springer, 2007, ch.
Extending failure models and effects analysis approach for reliability analysis at the software architecture
design level.
[TSA08] B. Tekinerdogan, H. Sozer, and M. Aksit, “Software architecture reliability analysis using failure
scenarios,” Journal of Systems and Software, vol. 81 (4), 2008, pp. 558–575.
[MB09] F. Munoz and B. Baudry, “Artificial table testing dynamically adaptive systems,” 2009.
[DiVA] A. Maaß, D. Beucho, and A. Solberg, “Adaptation model and validation framework final version (DiVA
deliverable D4.3),” 2010.
[Tse+04] T. Tse, S. Yau, W. Chan, H. Lu, and T. Chen, “Testing context-sensitive middleware-based software
applications,” 28th Annual International Computer Software and Applications Conference, 2004, pp. 458–466.
[Wang+07] Z. Wang, S. Elbaum, and D. S. Rosenblum, “Automated generation of context-aware tests,” 29th
International Conference on Software Engineering (ICSE), 2007, pp. 406–415.
02.06.2013