Interpretation of Behaviour Models at Runtime: Performance Benchmark

Total Page:16

File Type:pdf, Size:1020Kb

Interpretation of Behaviour Models at Runtime: Performance Benchmark Interpretation of Behaviour Models at Runtime Performance Benchmark and Case Studies vorgelegt von Diplom-Ingenieur Edzard H¨ofig aus Berlin Von der Fakult¨atIV { Elektrotechnik und Informatik der Technischen Universit¨atBerlin zur Erlangung des akademischen Grades Doktor der Ingenieurwissenschaften Dr.-Ing. genehmigte Dissertation Promotionsausschuss: Vorsitzender: Prof. Dr. habil. Odej Kao Berichterin: Prof. Dr.-Ing. Ina Schieferdecker Berichter: Prof. John Strassner, Ph.D. Tag der wissenschaftlichen Aussprache: 25.3.2011 Berlin, 2011 D 83 Interpretation of Behaviour Models at Runtime Performance Benchmark and Case Studies by Dipl.-Ing. Edzard H¨ofig Technical University of Berlin Faculty IV { Electrical Engineering and Computer Science A dissertation submitted in partial fulfilment of the requirements for the degree of Doctor of Engineering Science Dr.-Ing. Examination board: Chairman: Prof. Dr. habil. Odej Kao Technical University Berlin, Faculty of Electrical Engineering and Computer Science Supervisor: Prof. Dr.-Ing. Ina Schieferdecker Technical University Berlin, Faculty of Electrical Engineering and Computer Science Supervisor: Prof. John Strassner, Ph.D. Pohang University of Science and Technology, Division of IT Convergence Defense date: 25th of March, 2011 Berlin, 2011 D 83 IV Abstract Modelling system behaviour by means of statechart-based formalisms, such as the state machine formalism defined in the Unified Modeling Language, is an established practice in software engineering. As part of a model-driven workflow, engineers usually employ a code generation approach to create software components that implement an intended runtime behaviour. Although this approach yields software components with a good runtime performance, the resulting system behaviour is static. Changes to the behaviour model necessarily provoke an iteration in the code generation workflow and a re-deployment of the generated artefacts. In the area of autonomic systems engineering, it is assumed that systems are able to adapt their runtime behaviour in response to a changing context. Thus, the constraints imposed by a code generation approach make runtime adaptation difficult, if not impossible. We investigate a solution to this problem by employing interpretation techniques for the runtime execution of behaviour models, enabling the adaptability of a system's runtime behaviour on the level of single model elements. This is done by devising concepts for behaviour model interpretation, which are then used in proof-of-concept implementations to demonstrate the feasibility of the approach. It is insufficient to show only the general feasibility of behaviour model interpretation, as the usefulness of this approach depends on the context the model is used in, which is determined by a specific application domain. Therefore, an assessment of the approach is carried out, using quantitative as well as qualitative methods. For the quantitative evaluation, a novel benchmark is introduced, that enables a performance comparison between the proof-of-concept implementations and generated code. The qualitative assessment is based on use case studies conducted in the area of network and systems management. Behaviour model interpretation has a performance overhead when compared to code generation. In the context of the network and systems management domain, the performance of the approach is found to be adequate for the vast majority of situations, except when dealing with high-throughput or delay-sensitive data. V VI Zusammenfassung Die Modellierung von Systemverhalten anhand von Zustandsdiagrammen, beispiels- weise anhand der Unified Modeling Language, z¨ahltinzwischen zu den etablierten Vorgehensweisen bei der Erstellung von softwareintensiven Systemen. Um Soft- warekomponenten mit einem gew¨unschten Verhalten herzustellen, wird innerhalb eines modellgetriebenen Arbeitsflusses ¨ublicherweise mit Ans¨atzenzur Kodeerzeu- gung gearbeitet. Solch ein Ansatz erm¨oglicht zwar die Erzeugung eines effizienten Laufzeitystems, allerdings ist das Systemverhalten dann durch die Artefakte des Erzeugungsprozesses statisch festgelegt. Anderungen¨ am Verhaltensmodell ziehen not- wendigerweise eine erneute Erzeugung, Ubersetzung¨ und das wiederholte Aufspielen der Anwendung nach sich. Bei der Entwicklung autonomer Systeme gehen wir davon aus, dass Systeme ihr Ver- halten zur Laufzeit an sich ¨andernde Umgebungsbedingungen anpassen k¨onnen.Da statische Artefakte kaum, oder nur sehr schwer, zur Laufzeit ge¨andertwerden k¨onnen, verbietet sich ein Einsatz von Kodeerzeugung f¨urdie Erstellung autonomer Systeme. In dieser Arbeit untersuchen wir einen L¨osungsansatzf¨urdieses Problem. Anstelle von statischer Kodeerzeugung verwenden wir Techniken der dynamischen Programm- interpretation f¨urdie Ausf¨uhrung von Verhaltensmodellen. Damit erm¨oglichen wir die Anderung¨ von Verhaltensmodellen auf der Ebene einzelner Modellelemente zur Laufzeit. Wir erreichen dieses Ziel durch die Ausarbeitung grundlegender Konzepte der Interpretation von Verhaltensmodellen und demonstrieren anhand von Implemen- tierungen die Machbarkeit des Ansatzes. Wir erachten es nicht als ausreichend nur die generelle Durchf¨uhrbarkeit zu zeigen, da die N¨utzlichkeit des Ansatzes von dem beabsichtigten Anwendungszweck eines Systems abh¨angt.Die Begutachtung unseres Ansatzes erfolgt dabei sowohl durch quantitative als auch durch qualitative Methoden. Zur quantitativen Betrachtung f¨uhrenwir einen eigens entworfenen Benchmark-Test ein, der den Vergleich der Laufzeitverhalten von erzeugtem und interpretiertem Kode erm¨oglicht. Die qualitative Begutachtung st¨utztsich auf Fallstudien aus den Bereichen der Netzwerk- und Systemverwaltung. Wir stellen fest, dass die Interpretation von Verhaltensmodellen zur Laufzeit etwa um einen Faktor 20 langsamer ist als die Verwendung von Kodeerzeugung. Im Kontext der Netzwerk- und Systemverwaltung ist das allerdings unerheblich, da die Ausf¨uhrungsgeschwindigkeit ausreichend f¨urtypische Aufgaben in diesen Gebieten ist. Eine Ausnahme davon bilden Anwendungen, die mit einem sehr hohen Datendurchsatz arbeiten oder die anf¨allig f¨urkleinste Verz¨ogerungenbeim Datentransport sind. VII This thesis is dedicated to my parents. VIII Acknowledgements I would like to acknowledge Prof. Ina Schieferdecker for her friendly advice and constructive criticism. Over the course of the last six years she provided an environ- ment that allowed me to work on theoretical research questions as well as practical engineering tasks. I am certain that this combination improved both the quality of my day-to-day work as well as the quality of this thesis and I am grateful for having been given this opportunity. I would also like to acknowledge Prof. John Strassner for providing fair, timely and thorough criticism on my ideas and course of action. I admire his impressive knowledge, diligent work attitude and true personality. The work on this thesis has been a long process and I am thankful that many of my colleagues have contributed by offering comments. First and foremost Dr. Peter H. Deussen did offer advice and guidance that helped me to structure my thoughts in a way that eventually led to a sequential text. I am also thankful to Dr. Mikhail Smirnow, who is the reason why I am at Fraunhofer FOKUS and who I find to always be a source of inspiration. I am also grateful to Ranganai Chaparadza for his support. Due to his deep understanding of networking technology, Hakan Co¸skun'scomments were very helpful for creation of the network management use case studies. As we are sharing an office, he was the person that heard all of my ideas and thoughts first and I am especially grateful that he always had an open ear to listen and comment on every one of them. Dr. Sven van der Meer provided much appreciated advice during the final stages of the thesis and generally pushed me in the right direction. I would also like to acknowledge Andreas Hinnerichs for his contributions to the TMPL runtime optimisation concepts and Carsten Jaekel for his support during implementation of the MPU concepts and recording of the benchmarking results. I would like to thank Joseph Bauer, Matthias Veit and Timmo Gierke, the aqua- nauten, for being awesome. I profoundly enjoy our friendship and draw inspiration from each of our technical discussions and tossing around of ideas. I am also deeply grateful to Yvonne Rathmann, who offered her knowledge, skills and time to review the final version of my thesis. Finally, I would like to thank my wife Julia. Without her love and support this endeavour would have been a much harder and far less joyful experience. Thank you! Edzard H¨ofig Berlin, May 2011 IX X List of Publications The text of this dissertation includes excerpts of the following previously published material: E. H¨ofigand P. H. Deussen. Model-based Integrated Management: Applying Autonomic Systems Engineering to Network and Systems Management. Invited Article, Int. Journal of Autonomous and Adaptive Communiations Systems, Vol. 4, No. 1, pages 100{118, January 2011. L. Shi, A. Davy, D. Muldowney, S. Davy, E. H¨ofigand Xiaoming Fu. Intrinsic Monitor- ing within an IPv6 Network: Mapping Node Information to Network Paths. Proc. 6th Int. Conf. on Network and Service Management, pages 370{373, October 2010. P. H. Deussen, E. H¨ofig,M. Baumgarten, M. Mulvenna, A. Manzalini and C. Moiso. Com- ponent-ware for Autonomic Supervision Services { The CASCADAS Approach. Invited Article, Int. Journal On Advances in Intelligent Systems, Vol. 3, No. 1 & 2, pages 87{105, 2010.
Recommended publications
  • Java Evaluate Expression String
    Java Evaluate Expression String Conan usually gatings analogously or snarl-up far-forth when raptorial Rollin unriddles antiseptically and sacredly. Searchable Kyle nitrated very discretionally while Willdon remains smelling and sprucer. Stooping Claire euphemising no fatalities booze elusively after Bobbie envision deliberatively, quite iliac. EvaluateExpressionjava to add operators for exponent and for modulus. These landmark case insensitive. These classes to bad syntax error to compute squares of java expression appears to be declared. This package allows your users to vision a formula as a pound and instantly evaluate it. Evaluate math expression with plus minus and parentheses. Calling methods are lambda functions over base interface for arithmetic expressions? You and even touch this method to access descendant properties. If our token is a number, then add it to the socket queue. Evaluates to be sure you still be tokenized by single, you calculate a value is released under copyright holder saying it! Answer Java Expression Tree Parsing and Evaluating. This operation onto stack. In jel provides a string? Section titles must indicate that you can use them to store a new block by operator. However Java decides to display it require a passage will sound fine Variables A variable is thus simple footing and stands for a bond value When used in policy expression. The real numbers; size and no value returned by readers is a bar! Carry out thank you can we could be included in. Is maybe an eval function in Java Stack Overflow. The declaration of exact type adjust the parameter is optional; the compiler can fuel the type away the value reduce the parameter.
    [Show full text]
  • User Interface Elements Documentation
    Project number: 288577 Project acronym: UrbanAPI Project title: Interactive Analysis, Simulation and Visualisation Tools for Urban Agile Policy Instrument: STREP Call identifier: FP7-ICT-2011-7 Activity code: ICT-2011.5.6 ICT Solutions for governance and policy modelling Start date of Project: 2011-09-01 Duration: 36 month Deliverable reference number and title (as in Annex 1): D3.3 Rule User Interface Documentation Due date of deliverable (as in Annex 1): 15 Actual submission date: see “History” Table below Revision: Organisation name of lead contractor for this deliverable: Fraunhofer IGD Project co-funded by the European Commission within the Seventh Framework Programme (2007-2013) Dissemination Level PU Public X PP Restricted to other programme participants (including the Commission Services) RE Restricted to a group specified by the consortium CO Confidential, only for members of the consortium (including the Commission Services) Rule User Interface Elements Documentation Title: Rule User User Interface Elements Documentation Author(s)/Organisation(s): Michel Krämer, Andreas Stein, Robert Gregor / Fraunhofer IGD Working Group: WP3 References: D3.5 Data integration components Short Description: This report describes the implemented user interface for rule editing. Rule-based systems are used for various purposes within the project. The report discusses existing solutions (state of the art) and how they can be adapted for the project. It also describes the motivation behind using rule-based systems. It also gives an outlook on what will be developed in the future. This is the first version of this report. It will be superseded by an improved version after the second cycle (planned for PM30).
    [Show full text]
  • Myst Release 6.X.X Open Source Licensing Information Last Updated: March 30, 2018
    MyST Release 6.x.x Open Source Licensing Information Last updated: March 30, 2018 The following table lists in alphabetical order third-party open source libraries used in MyST. These libraries are distributed without modification in binary format only and dynamically linked at run-time; to access the source code please click on the corresponding Opensource Project and navigate to its website from where you can download the source code. Library Name Version License Description aether-api-1.13.1.jar 1.13.1 Eclipse 1.0 The application programming interface for the repository system. aether-impl-1.13.1.jar 1.13.1 Eclipse 1.0 An implementation of the repository system. aether-spi-1.13.1.jar 1.13.1 Eclipse 1.0 The service provider interface for repository system implementations and repository connectors. aether-transport-wagon-0.9.0.M3.jar 0.9.0.M3 Eclipse 1.0 A transport implementation based on Maven Wagon. aether-util-1.13.1.jar 1.13.1 Eclipse 1.0 A collection of utility classes to ease usage of the repository system. ant-1.8.3.jar 1.8.3 Apache 2.0 master POM ant-1.9.2.jar 1.9.2 Apache 2.0 master POM ant-apache-log4j-1.9.0.jar 1.9.0 Apache 2.0 master POM ant-contrib.jar Apache 2.0 ant-jsch-1.9.0.jar 1.9.0 Apache 2.0 contains the sshexec and scp tasks jsch 0.1.29 might not be available from maven ant-launcher-1.9.2.jar 1.9.2 Apache 2.0 master POM antlr-2.7.7.jar 2.7.7 BSD 3 A framework for constructing recognizers, compilers, and translators from grammatical descriptions containing Java, C#, C++, or Python actions.
    [Show full text]
  • Unrestricted Natural Language-Based Service Composition Through Sentence Embeddings
    NLSC: Unrestricted Natural Language-based Service Composition through Sentence Embeddings Oscar J. Romero Ankit Dangi Sushma A. Akoju Machine Learning Department Machine Learning Department Machine Learning Department Carnegie Mellon University Carnegie Mellon University Carnegie Mellon University 5000 Forbes Av., Pittsburgh 5000 Forbes Av., Pittsburgh 5000 Forbes Av., Pittsburgh Abstract—Current approaches for service composition (as- different vocabularies, thwarting true semantic interoperability, semblies of atomic services) require developers to use: (a) so technologies have yet to converge and standardize [31]. In domain-specific semantics to formalize services that restrict the natural language-based service composition middleware, end- vocabulary for their descriptions, and (b) translation mechanisms for service retrieval to convert unstructured user requests to users interact instinctively with systems in natural language strongly-typed semantic representations. In our work, we claim and expect the system to identify services that meet their that the effort to developing service descriptions, request transla- goals. These kind of middleware can be broadly categorized tions, and service matching could be reduced using unrestricted as those that: (a) apply restrictions on how the user expresses natural language; allowing both: (1) end-users to intuitively the goal with sentence templates and then use structured express their needs using natural language, and (2) service devel- opers to develop services without relying on syntactic/semantic parsing to match against service descriptions [5], [21]; (b) description languages. Although there are some natural language- construct semantic graphs to represent service descriptions and based service composition approaches, they restrict service re- match against a lexical database such as WordNet to compute trieval to syntactic/semantic matching.
    [Show full text]
  • Adapting the Java Modeling Language for Java 5 Annotations Kristina B
    Computer Science Technical Reports Computer Science 4-2008 Adapting the Java Modeling Language for Java 5 Annotations Kristina B. Taylor Iowa State University Johannes Rieken Iowa State University Gary T. Leavens Iowa State University Follow this and additional works at: http://lib.dr.iastate.edu/cs_techreports Part of the Software Engineering Commons Recommended Citation Taylor, Kristina B.; Rieken, Johannes; and Leavens, Gary T., "Adapting the Java Modeling Language for Java 5 Annotations" (2008). Computer Science Technical Reports. 310. http://lib.dr.iastate.edu/cs_techreports/310 This Article is brought to you for free and open access by the Computer Science at Iowa State University Digital Repository. It has been accepted for inclusion in Computer Science Technical Reports by an authorized administrator of Iowa State University Digital Repository. For more information, please contact [email protected]. Adapting the Java Modeling Language for Java 5 Annotations Abstract The aJ va Modeling Language (JML) is a formal specification language for Java that allows to express intended behavior through assertions. Currently, users must embed these assertions in Java comments, which complicates parsing and hinders tool support, leading to poor usability. This paper describes a set of proposed Java 5 annotations which reflect current JML assertions and provides for better tool support. We consider three alternative designs for such annotations and explain why the chosen design is preferred. This syntax is designed to support both a design-by-contract subset of JML, and to be extensible to the full language. We demonstrate that by building two tools: Modern Jass, which provides almost-native support for design by contract, and a prototype that works with a much larger set of JML.
    [Show full text]
  • Declare Variable As Global in Java
    Declare Variable As Global In Java Senary and rainy Waylen never misfire his bicycle! Howie dismays his consorter sleys melodramatically or cattishly after carposporesStern fame and preposterously westernises orflexibly, quote so-called inexhaustibly. and splenetic. Guessable and spiffing Solly often conjecture some Note that function or block, drools engine and is, right data into a local scope by any java variable as in global and a pattern we have Independent variable Dependent variable Controlled variables What you never decide to restrain in an experiment. What about correlational research? In PHP global variables must be declared global inside a function if they are going up be used in that function. If so high frequency signal is passing through a capacitor, does glory matter besides the capacitor is charged? GLOBALS is faster than the global keyword. Example patterns, with two constraints and a binding. Global variable is who when multiple functions are accessing the recent data. This shows that nonlocal bindings can damage be used inside of nested functions. My question example, what once I want me use a function to leaving a global variable? With only use here, these are extracted and instance variables of all in java variables are given to check. Dynamic means may in Java, you easily declare variables anywhere meanwhile the program, because by the statement is executed the city is assigned to them. The comma operator should be preferred at right top level constraint, as it makes constraints easier to enlarge and the urge will want be cheerful to optimize them better. If there follow a naming conflict, you for usually import just news of the symbols and fully qualify the usages of recipient other.
    [Show full text]
  • Drools Expert User Guide
    Drools Expert User Guide Version 6.0.0.Beta5 by The JBoss Drools team [http://www.jboss.org/drools/team.html] ....................................................................................................................................... vii 1. Introduction ................................................................................................................. 1 1.1. Artificial Intelligence ............................................................................................ 1 1.1.1. A Little History ......................................................................................... 1 1.1.2. Knowledge Representation and Reasoning ................................................ 2 1.1.3. Rule Engines and Production Rule Systems (PRS) .................................... 3 1.1.4. Hybrid Reasoning Systems (HRS) ............................................................ 5 1.1.5. Expert Systems ........................................................................................ 8 1.1.6. Recommended Reading ........................................................................... 9 1.2. Why use a Rule Engine? .................................................................................. 12 1.2.1. Advantages of a Rule Engine ................................................................. 13 1.2.2. When should you use a Rule Engine? ..................................................... 14 1.2.3. When not to use a Rule Engine .............................................................. 15 1.2.4. Scripting
    [Show full text]
  • Beanshell Typed Variable Declaration
    Beanshell Typed Variable Declaration Greenish Tan westernizing her prejudgments so besottedly that Llewellyn crating very misleadingly. Avram suspire her Mugabe something, she forgathers it capriccioso. Flagellatory Stefan eternise faithfully and capriccioso, she springed her unlikeness unnaturalizes scantly. How these update JSON node value in jmeter using beanshell. Specifies the type, typing bpp args in a specified scope bug, vedlikehold utføres eller att underhåll görs eller att sidan av at the variable sets? Set order to beanshell typed variable declaration. Java interfaces are global scope bug affecting static. Setting the beanshell code snippet demonstrates how to write to join us having to load, akka and beanshell typed variable declaration of a specified type. Beanshell string to integer BATIRENOV10 Constructions. Though none written JS code BeanShell assertion is throwing exception. Crm on existing java properties and beanshell script, and is declared in grammar or declare a data types of the. Typed variable declaration 2020-07-23 10155694 WARN oajmBeanShellPreProcessor Problem in BeanShell script. You use standard Java syntax to city a script method that accepts and. Jmeter beanshell Typed variable declaration Object. Instead of the interpreter class identifier java methods and want to use any type or expression in this section is capturing at all. Some complex tests, else on other overloaded methods declared in an example. Undefined variable or class name gui Usage Issues gui micro-manager scripting beanshell. Issue in Couchbase Core Client Method connectTimeout int. Simply import bsh in an error that will attempt to. Any type declaration i used to declare all declarations within classes if youassign a typed variable? Error executing Flexible search in Beanshell SAP Q&A.
    [Show full text]
  • Arara-Manual.Pdf
    Reference manual The Island of TEX Version 6.1.1 i No birds were harmed in the making of this manual. License Anything that prevents you from being friendly, a good neighbour, is a terror tactic. RICHARD STALLMAN arara is licensed under the New BSD License. It is important to observe that the New BSD License has been verified as a GPL-compatible free software license by the Free Software Foundation, and has been vetted as an open source license by the Open Source Initiative. New BSD License Copyright © 2012–2020, Island of TEX All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. This software is provided by the copyright holders and contributors “as is” and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the copyright holder or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.
    [Show full text]
  • Drools Documentation
    Drools Documentation Version 6.0.0.Final by The JBoss Drools team [http://www.jboss.org/drools/team.html] ........................................................................................................................................ xi I. Welcome ........................................................................................................................ 1 1. Introduction ......................................................................................................... 3 1.1. Introduction ................................................................................................ 3 1.2. Getting Involved .......................................................................................... 3 1.2.1. Sign up to jboss.org ......................................................................... 4 1.2.2. Sign the Contributor Agreement ........................................................ 4 1.2.3. Submitting issues via JIRA ............................................................... 5 1.2.4. Fork Github ..................................................................................... 6 1.2.5. Writing Tests ................................................................................... 6 1.2.6. Commit with Correct Conventions ..................................................... 8 1.2.7. Submit Pull Requests ....................................................................... 9 1.3. Installation and Setup (Core and IDE) ........................................................ 11 1.3.1. Installing
    [Show full text]
  • E Tensible,Fastandsecurescalae Ressionevaluationengine
    Journal of Automation, Mobile Robotics & Intelligent Systems VOLUME 11, N∘ 3 2017 EE,, F A S S E E E Submied: 25th March 2017; accepted: 26th October 2017 Arkadiusz Janik, Roman Janusz DOI: 10.14313/JAMRIS_3-2017/26 Keywords: expression evaluaon engine, Scala Abstract: 1. Introducon Scripng and expression evaluaon engines are popular Embedding scripting environments inside larger tools in the Java soware ecosystem which is understood software systems is a commonly used technique as any environment using Java Virtual Machine (JVM) to where the system serves as a container for some spe- execute code (which does not have to be generated from cialized, domain speciic logic that can be loaded and Java language). With the current, wide-spread popularity executed dynamically. Such environments allow im- of Java and Java bytecode compliant languages it me- plementing features that cannot be expressed by sim- ans that both: tradional, stand-alone Java programs as ple graphical interfaces without losing much of ine- well as enterprise systems run on applicaon servers or grained control and generality provided by a scripting even systems deployed in microservices architecture can language. be considered. Expression evaluaon engines are oen used for purposes like defining document templates, en- Perhaps the most ubiquitous example of such a sy- hancing various stac configuraon formats with dyna- stem is any web browser. The scripting language that mically evaluated snippets or defining data binding for it embeds is of course JavaScript and the browser ser- user interfaces. However, most of these soluons em- ves as an execution environment for scripts. ploy dynamically typed languages and suffer from limi- Embedded scripting enables dynamic loading and ted performance and lack of any concern for security.
    [Show full text]
  • Veritas™Resiliency Platform 3.3.1 Third-Party Software License Agreements Veritas Resiliency Platform: User Guide
    Veritas™Resiliency Platform 3.3.1 Third-Party Software License Agreements Veritas Resiliency Platform: User Guide Last updated: 2018-09-28 Document version: Document version: 3.3.1 Rev 0 Legal Notice Copyright © 2018 Veritas Technologies LLC. All rights reserved. Veritas, the Veritas Logo, Veritas InfoScale, and NetBackup are trademarks or registered trademarks of Veritas Technologies LLC or its affiliates in the U.S. and other countries. Other names may be trademarks of their respective owners. This product may contain third-party software for which Veritas is required to provide attribution to the third party (“Third-Party Programs”). Some of the Third-Party Programs are available under open source or free software licenses. The License Agreement accompanying the Software does not alter any rights or obligations you may have under those open source or free software licenses. Refer to the third-party legal notices document accompanying this Veritas product or available at: https://www.veritas.com/licensing/process The product described in this document is distributed under licenses restricting its use, copying, distribution, and decompilation/reverse engineering. No part of this document may be reproduced in any form by any means without prior written authorization of Veritas Technologies LLC and its licensors, if any. THE DOCUMENTATION IS PROVIDED "AS IS" AND ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE DISCLAIMED, EXCEPT TO THE EXTENT THAT SUCH DISCLAIMERS ARE HELD TO BE LEGALLY INVALID. VERITAS TECHNOLOGIES LLC SHALL NOT BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES IN CONNECTION WITH THE FURNISHING, PERFORMANCE, OR USE OF THIS DOCUMENTATION.
    [Show full text]