OTX - Controlling Complex Diagnostic Sequences
Transcription
OTX - Controlling Complex Diagnostic Sequences
Basic concepts Open Diagnostic Framework Demonstration Copyright © 5/13/2011 emotive GmbH - All rights reserved Diagnosesysteme im Automobil OTX 2 Diagnostic Process Chain – Past Basic concepts Open Diagnostic Framework Diagnosesysteme im Automobil System supplier Demonstration Development 3 Production Diagnostic system supplier Service The conventional diagnostic process is characterized by an heterogeneous exchange of diagnostic information. Copyright © 5/13/2011 emotive GmbH - All rights reserved OTX Diangostic Process Chain – Future: OTX/ODX Basic concepts Open Diagnostic Framework 4 System supplier Development Production Diagnostic system supplier Supplier Diagnostic Database Manufacturer Diagnostic Database Manufacturer Diagnostic Database Internet OTX ODX Diagnosesysteme im Automobil Demonstration OTX ODX OTX ODX Service OTX ODX Exchange of standardized diagnostic data throughout all stages of the vehicle life cycle – basic principle: Single Source Copyright © 5/13/2011 emotive GmbH - All rights reserved OTX OTX – Open Diagnostic Test sequence eXchange Open Diagnostic Framework Demonstration OTX = Open Test sequence eXchange (ISO 13209) Test and Diagnostic applications Domain specific language on high abstraction level Test andOTX Diagnostic (ISO 13209) applications Goal: Formal, graphical description of diagnostic sequences Platform and tester independent exchange format Includes powerful concepts to reduce complexity Process safe alternative for Java-Jobs in ODX Application area: Vehilce diagnostics, Test automation, HIL-Simulation etc. Initial application: exchange format for ODX based diagnostic sequences Diagnosesysteme im Automobil 5 Only through OTX/ODX there is a complete, data-driven solution for the complete process chain OTX API D-Server API, MCD 3 (ISO 22900-3) Modular VCI Runtime System (MVCI, ISO 22900) D-PDU API, MCD 1 (ISO 22900-2) Vehicle Communication Interface – VCI ECU ECU ECU ODX Copyright © 5/13/2011 emotive GmbH - All rights reserved Basic concepts ODX, MCD 2 (ISO 22901-1) OTX Diagnostic Sequnces in interaction with user and vehicle OTX Basic concepts Open Diagnostic Framework Demonstration 6 Off-Board Kommunikation A Request/Response ECUs x? B GUI ShowScreen z? C E C‘ D E‘ Recursive function call Diagnosesysteme im Automobil Test sequence OTX Diagnostic tester in development, production & service External sensors & actors Copyright © 5/13/2011 emotive GmbH - All rights reserved y? Application in the Diagnostic Process OTX Basic concepts Open Diagnostic Framework Demonstration 7 OTX Diagnosesysteme im Automobil Development HIL-Tests Diagnostics in production Production After-Sales Diagnostics Diagnostic Docu (GVO, Euro 5, Hotline …) Service Goal: Exchanging and archiving verified tested diagnostic sequences Copyright © 5/13/2011 emotive GmbH - All rights reserved ECU manufacturer Development of diagnostic functions Interfaces & Extenstions OTX Basic concepts Open Diagnostic Framework 8 Demonstration Diagnostic Tester Application DateTime Logging StringUtil EventHandling Math I18n Quantities OTX Diagnosesysteme im Automobil HMI HMI Device (e.g. Keyboard, Mouse, Screen …) DiagCom Job/Flash Diagnostic Runtime System (e.g. MVCI Server, D-Server, …) Measure Measurement Data Acquisition … Other Device (e.g. HIL-API, ASAM GDI) Copyright © 5/13/2011 emotive GmbH - All rights reserved OTX Core Processing System Simple OTX Sequence Basic concepts Open Diagnostic Framework Demonstration <otx name="ODFProject1" package="Package1" version="0.9.4" timestamp="2010-10-13T09:34:08"> <validities> <validity name="Validity1"> <realisation xsi:type="BooleanLiteral" value="true" /> </validity> </validities> <procedures> <procedure name="Workflow1"> <realisation> <declarations> <variable name="Variable1"> <realisation> <dataType xsi:type="Integer" /> </realisation> </variable> </declarations> <flow> <action name="setContextDataActivity1" id="setContextDataActivity1"> <specification>Umgebungsvariable setzen ...</specification> <realisation xsi:type="env:SetContextData"> <env:identifier xsi:type="StringLiteral" value="data1" /> <env:term xsi:type="StringLiteral" value="abc" /> </realisation> </action> </flow> </realisation> </procedure> </procedures> </otx> 9 Copyright © 5/13/2011 emotive GmbH - All rights reserved Diagnosesysteme im Automobil OTX OTX Timeline Basic concepts Open Diagnostic Framework Demonstration 10 19 Dec. 2008 25 Feb. 2011 28 June 2011 New Work Item Proposal submission to ISO DIS-Ballot (Draft International Standard) DIS-Release (Draft International Standard) Diagnosesysteme im Automobil Core only Core only 09 Dec. 2008 09 Feb. 2010 13 May 2011 28 June 2011 Begin of development of the ODF Release ODF Version 2.0 Distributable Beta version of ODF Version 3.0 (planned) Release ODF Version 3.0 (planned) Mile stone Today Copyright © 5/13/2011 emotive GmbH - All rights reserved OTX Advantanges & Benefits OTX Basic concepts Open Diagnostic Framework Demonstration 11 Reusability (single source) Increase of security through less process steps Simple and quick verification Improvement of maintainance XML format: Maschine and human readability Manufacturer independence Diagnosesysteme im Automobil Generic creation of diagnostic applications Goal: Exchanging and archiving verified tested diagnostic sequences Copyright © 5/13/2011 emotive GmbH - All rights reserved Automated tools for configuration, documentation, code generation etc. Basic concepts Open Diagnostic Framework Demonstration Copyright © 5/13/2011 emotive GmbH - All rights reserved Diagnosesysteme im Automobil OTX 12 Basic Concepts OTX Basic concepts Open Diagnostic Framework Demonstration 13 Basic concepts representing the experiences in the creation of diagnostic seuqunces. Goal: Reducing and controlling complexity Specification/realisation concept Process management Diagnosesysteme im Automobil Validity concept Signature concept Variant management Copyright © 5/13/2011 emotive GmbH - All rights reserved Context concept Specification/Realisation Concept I OTX Basic concepts Open Diagnostic Framework Demonstration 14 OTX supports a 3 step development process: 1. Specification stage • To specify sequences in an early stage of the developement process • The general sequence logics is known • Details for an executable sequence are still unknown but can be specified in prose 2. Intermediate stage 3. Realisation stage Diagnosesysteme im Automobil • For each specification a realisation has been implemented • The sequence is fully executable Important: In each of the 3 stages the sequence can be validated, saved, and exchanged! Copyright © 5/13/2011 emotive GmbH - All rights reserved • A mix of specification and realisation • The sequence creation implements the realisation based on the specifcation • The sequence is executable already! Missing realisations are „simulated“ through appropriate dialogs Specification/Realisation Concept II OTX Basic concepts Open Diagnostic Framework Specification Stage Demonstration 15 Intermediate Stage Copyright © 5/13/2011 emotive GmbH - All rights reserved Diagnosesysteme im Automobil Realisation Context Concept I OTX Basic concepts Open Diagnostic Framework Demonstration 16 Mapping mechanism inside the runtime system for environment parameters : • • • • Vehicle data (e.g. model, sales person, identification number, motorization etc.) Diagnostic application data (e.g. name, version, used VCI etc.) User data (e.g. user name, user rights, idle time etc.) Environment data (e.g. location, version of operating system etc.) Realisation via global context variables Every context variable is bound to an identification routine at runtime in order to retrieve the value of the variable Diagnosesysteme im Automobil Advantages: • Working as if using global constants • Reusabilty of the existing structure with optimal migration via stepwise mapping to OTX procedures • When switching to other runtime environments only the mapping layer has to be adapted • Context variables can easily be simulated externally Copyright © 5/13/2011 emotive GmbH - All rights reserved Identification routines may either be proprietary or OTX procedures Context Concept II Basic concepts Open Diagnostic Framework Demonstration 17 OTX Sequence Diagnostic Application VIN GetVIN(); MODEL GetModelNumber(); Typ: String, Default: “” STEERING Typ: String, Default: “left” MANUFACTORING Typ: Boolean, Default: False SERVICE Typ: Boolean, Default: True DEBUG_MODE Diagnosesysteme im Automobil Typ: Boolean, Default: False Context variables used as global constants Mapping (OTX-Runtime) Typ: String, Default: “” GetSteeringType(); n.a. n.a. n.a. Internal Routines of the diagnostic application Copyright © 5/13/2011 emotive GmbH - All rights reserved OTX Validity Concept OTX Basic concepts Open Diagnostic Framework Demonstration 18 Based on the context concept In order to customize the sequences to different environment conditions at runtime So-called validities are definied globally. A validity is either • a boolean context variable, or • a composed logical expression, e.g. several context variables. Nodes can be bound via the ValidFor attribute to a validity which will only be executed if the validity returns TRUE An action node may contain several realisations Diagnosesysteme im Automobil Advantages • Clear borderline between static and dynamic decisions • Reduction of the number of branches due to implicit control via environment data and not explicitly via branches • Compact readable sequences that improve the understanding of the test logic • Avoidance of redundancies due to storing of frequently used validities at a central location • Presentation of different environment scenarios via on and off switch of validities (filtering) Copyright © 5/13/2011 emotive GmbH - All rights reserved Thus context dependent sequence parts may be activated or deactivated Validity Concept OTX Basic concepts Open Diagnostic Framework Demonstration 19 Diagnosesysteme im Automobil Using validities Copyright © 5/13/2011 emotive GmbH - All rights reserved Using branches Signature Concept OTX Basic concepts Open Diagnostic Framework Demonstration 20 Similar to validity concept, but on procedure level A signature describes an interface to a procedure (prototype) A signature equals a procedure without realization A signature contains a name, a specification and a set of input and output parameters Procedures may be called indirectly via signatures The caller only has to know the parameters and the specification of the procedure but not the implementation details Diagnosesysteme im Automobil Advantages: • Sequences don‘t have to be changed if a new context is added • Increases the maintenance for long term availability of test sequences • Makes it possible to develop distributed test sequences. The signature itself represents the formal definition of the interfaces among the individual partners • Avoidance of redundancies via storing of frequently used signatures at a central location Copyright © 5/13/2011 emotive GmbH - All rights reserved Signatures allow the creation of generic sequences that can adapt to different environment conditions at runtime Signature Concept OTX Basic concepts Open Diagnostic Framework Demonstration 21 Using validities Diagnosesysteme im Automobil ValidFor: isVintageModel ValidFor: isModernModel The runtime system calles one of the two procedures based on the validity Copyright © 5/13/2011 emotive GmbH - All rights reserved Using signatures Comparing the Concepts OTX Basic concepts Open Diagnostic Framework Demonstration Using branches 22 Using validities Using signatures Normaler Ablauf 13 activities Advantages: Diagnosesysteme im Automobil Avoidance of branches Reduces the presentation to the actual test logic (11 activities) Better maintainance and long term availability 22 activities Avoiding redundancies Possibility for distributed development of test sequences Copyright © 5/13/2011 emotive GmbH - All rights reserved 11 activities Basic concepts Open Diagnostic Framework Demonstration Copyright © 5/13/2011 emotive GmbH - All rights reserved Diagnosesysteme im Automobil OTX 23 Overview OTX Basic concepts Open Diagnostic Framework Demonstration 24 Diagnostic sequences Standardized exchange format for diagnostic sequences Diagnostic database Standardized exchange format for diagnostic data OTX ISO 13209 ISO 22901 Diagnostic runtime system Open Diagnostic Workflow Standardized programming interface for ECU communication MVCI-Server ISO 22900 Copyright © 5/13/2011 emotive GmbH - All rights reserved ODX Highlights Basic concepts Open Diagnostic Framework Demonstration Data-driven solution for the complete diagnostic process chain Simple custom extensibility at almost each layer Concepts for complexity reduction User group adaption Open Diagnostic Workflow Flexible usage: Stand-alone or SDK On-the-fly code generation (C# …, no execution interpreter!) 25 Specification, realisation, validation, documentation & test of OTX sequences Independant of diagnostic runtime system Completely new development Connection and generation GUI/HMI Fast processing of very large OTX databases Native and direct working on OTX data (no im-/export!) Copyright © 5/13/2011 emotive GmbH - All rights reserved OTX Main Characteristics OTX Basic concepts Open Diagnostic Framework Demonstration 26 Main tasks: Design characteristics: Specification Openness Realisation Adaptable Documentation Extensibility Test and Target groups: Open Diagnostic Workflow Development Production Service Copyright © 5/13/2011 emotive GmbH - All rights reserved Execution of OTX sequences Principle Architecture OTX Basic concepts Open Diagnostic Framework Demonstration 27 ODF - Open Diagnostic Framework OTX Database-Modul OTX-Designer Forms-Designer Test-Environment OTX-API Project-Explorer Control-Library Debugger XML-DB Activity-Library Data-Binding Unit-Tests ODX MVCI-Server + PDU-Simulation Standardized Diagnostic RT-Systems SDX* D-PDU API Legacy RT-Systems Simulation Proprietary Diagnostic RT-Systems Open Diagnostic Workflow VCI - Vehicle Communication Interface *SDX ECU‘s = Simple Diagnostic Data Exchange Format by emotive to support proprietary Diagnostic Runtime Systems Copyright © 5/13/2011 emotive GmbH - All rights reserved OTX Runtime Environment Runtime Environment OTX Basic concepts Open Diagnostic Framework Demonstration 28 OTX execution system Data processing XML-DB XQuery OTX-API Database module ODFRuntime C# Compiler DLL ODF runtime Storage requirement on hard-drive ca. 20 MB Open Diagnostic Workflow Data processing as OTX format OTXRuntime Data processing in binary format ca. 3 MB Copyright © 5/13/2011 emotive GmbH - All rights reserved OTX Features OTX Basic concepts Open Diagnostic Framework Demonstration OTX-Designer 29 • High-performance, optimized handling of resources, multi-channeling, multi-instance handling • PDU simulation for development of sequences without communication with ECU • Graphical specification and implementation of diagnostic sequences • Direct, native working on OTX • Validation of sequences at design time • Execution, test and debugging of sequnces at Screen Designer design time • Easy graphical creation of modern GUIs • Monitoring of diagnostic communication and • Simple binding of diagnostic sequences variable changes variables to GUI controls for in and output • Configurable designer modes • Language manager to localize the application All, Compact, Minimal, etc. • Simple distribution of the created application to third parties via MSI or MSM • Fast access to very large OTX databases OTX-Runtime Open Diagnostic Workflow • On-the-fly C# code generation of high performance • Independent of diagnostic runtime system • Support of different standardized and proprietary diagnostic runtime system: DSA Prodis.MCD (ODX 2.0.1, 2.0.2, 2.1.0, 2.2.0) samtec samDiaX Further systems, e.g. CBF runtime quickly integrated General: • • • • • • • Object search Forward-driven data input Undo/Redo, Drag&Drop References adjustment Version management User profiles IDE in German and English Copyright © 5/13/2011 emotive GmbH - All rights reserved OTX-API Standards, Hardware & System Requirements OTX Basic concepts Open Diagnostic Framework Demonstration 30 Supported diagnostic standards: • • • • • • • • • MVCI Server API (ISO 22900-3, ASAM MCD-3D Server) ODX (ISO 22901-1, ASAM MCD-2D) OTX Beta Version (ISO 13209) D-PDU-API (ISO 22900-2) CAN (ISO 11898) K-Line (ISO 9141) UDS (ISO 14229) ISOTP (KWP 2000 on CAN, ISO/DIS 15765-3) KWP 2000 (ISO 14230) Open Diagnostic Workflow • • • • • Bosch MDI DSA MDI-G samtec HSX, HS+, HSlight Vector CANCardXL, CANCaseXL, CANBoardXL Further interfaces with standardized D-PDU-API interface System requirements • PC with Windows XP SP2 32-Bit or higher • .NET Framework 3.5 Copyright © 5/13/2011 emotive GmbH - All rights reserved Supported hardware (Vehicle Communication Interface): Basic concepts Open Diagnostic Framework Demonstration Copyright © 5/13/2011 emotive GmbH - All rights reserved Diagnosesysteme im Automobil OTX 31 Stand-Alone Application Basic concepts Open Diagnostic Framework Demonstration 32 Copyright © 5/13/2011 emotive GmbH - All rights reserved Open Diagnostic Workflow OTX Visual Studio Plug-In I OTX Basic concepts Open Diagnostic Framework Demonstration 33 VARIABLES OTX-DESIGNER TRACE WINDOW DIAGNOSTIC COMMUNICATION TRACE WINDOW VARIABLES Copyright © 5/13/2011 emotive GmbH - All rights reserved PROPERTIES PROJECT EXPLORER ACTIVITY LIBRARIES Open Diagnostic Workflow VALIDATION Visual Studio Plug-In II Basic concepts Open Diagnostic Framework Demonstration DEBUGGING 34 Copyright © 5/13/2011 emotive GmbH - All rights reserved Open Diagnostic Workflow OTX Thank You for Your Attention! 35 Contact us! Further comprehensive information on OTX and vehicle diagnostics can be found on our website at Diagnosesysteme im Automobil www.emotive.de Copyright © 5/13/2011 emotive GmbH - All rights reserved We can help out.