LDRA/ T-VEC/ MetaEdit+ Domain Specific Modeling Ashling/Jtag ARC SmartCards LAUTERBACH /Jtag ARM PowerPC K MIPS XJTAG HW
Domain-Specific Modeling
Domain-Specific Modeling
Software Technology 30 Copyright 2006 Liverpool Data Research Associates Limited
Software Technology Copyright 2006 Liverpool Data Research Associates Limited
Software Technology Copyright 2006 Liverpool Data Research Associates Limited
Software Technology Copyright 2006 Liverpool Data Research Associates Limited
Click for customers Click for customers Click for customers Back
MISRA Back
Software Technology Copyright 2006 Liverpool Data Research Associates Limited
MISRA Back
Back
Back
Back
Back
Back
Copyright 2006 Liverpool Data Research Associates Limited
JSF Back
JSF SW Back
JSF Back
JSF C++ Back
Copyright 2006 Liverpool Data Research Associates Limited
Copyright 2006 Liverpool Data Research Associates Limited
DO-178B MISRA C MISRA-C:2004 IEC 61508
Back
Back
2 8 3 9
Back
1 2 4 3 5 6 7 8 9
1 1 1 1 2 4 3 3 5 6 7 4 3 4 3 4 8 2 2 2 9 5 5 5
Executable ref. Lines Comments in Headers 1 Number of Loops 1 Comments 2 in Executable 4 Code Procedure Exit Points Blank Lines Number of Procedures 3 Total Comments/Exe. Lines Total LCSAJs 3 5 6 7 4 Declaration Comments/Exe. Unreachable LCSAJs Lines Maximum LCSAJ Density 2 Code Comments/Exe. Lines 8 Unreachable Lines Average Length of Basic Blocks Unreachable Branches 5 Unique Operands 9 File Fan in Total LCSAJs Essential Knots Total Comments Number of Basic Blocks Comments in Declarations Executable reformatted Lines Total Operands Essential Cyclomatic Complexity Knots 1 1 Cyclomatic Complexity Vocabulary 3 Number of Procedures Total 4 LCSAJs 4 Unreachable LCSAJs 2 2 Maximum LCSAJ Dens Unreachable Lines 5 5 Unreachable Branches 3
Executable reformatted Lines Executable ref. Lines Essential Knots Number of Basic Blocks Total Comments Essential Cyclomatic Total Operands Complexity Comments in Headers 1 Number of Loops Knots Comments in Declarations 1 1 1 Cyclomatic Complexity Comments 2 in Executable 4 Procedure Exit Points Code Number of Procedures Vocabulary 3 3 3 Blank Lines Total LCSAJs Number of Procedures Total Comments/Exe. Lines 3 5 6 7 4 Total 4 LCSAJs 4 Unreachable LCSAJs Declaration Comments/Exe. Lines Maximum LCSAJ Density Unreachable LCSAJs 2 2 2 Code Comments/Exe. Lines 8 Unreachable Lines Maximum LCSAJ Density Average Length of Basic Blocks Unreachable Unreachable Lines Branches 5 5 5 9 Unique Operands File Fan in Unreachable Branches Total LCSAJs
Software Technology Copyright 2006 Liverpool Data Research Associates Limited
/*LDRA_INSPECTED */
Software Technology Copyright 2006 Liverpool Data Research Associates Limited
Back
Copyright 2006 Liverpool Data Research Associates Limited
Domain-Specific Modeling
We Cover All Boundaries
We Cover All Boundaries
Simulink
TTM
Usage data test points Input Space Software Output Space Operational profile 1 Operational profile 2 Expected output Test point on domain boundary Unexpected output (failure from user perspective)
IO/Data Processor Graphics Processor LCD Interface Image Integrity Monitor
IO/Data Processor Graphics Processor LCD Interface Image Integrity Monitor
DO178C
NIST SmartCard
(NIST) Oracle8 Security Target Oracle8 Reference Oracle8 SQL Reference Interfaces Data dictionary and SQL commands SQL Behavior Test Vector Generator Object Mapping Verification Model Test Driver Generator Test Driver Schema JDBC Java Environment Database System Actual Outputs Test Results Example 2 Expected Outputs Cross Comparison
Simulink (DOORS ) T-VEC (TTM) Simulink Stateflow T-VEC Test Vector Generation System Requirements/Design Capture Captured Model Translation Simulink Tester GUI (MCDC ) (MISRA ) JSF
Domain-Specific Modeling
Domain-Specific Modeling for Full Code Generation
Domain-Specific Modeling for Full Code Generation
DSM 1. 3. 1 2 3 4 2. 4. API
Domain Done a few times before! Finished Idea Product Expert (few) DSM language Code generator Framework code Normal (many) Easy! Model in DSM language Generate code Domain Framework
Domain-Specific Domain-Specific
Domain-Specific Domain-Specific
Domain-Specific Domain-Specific MetaEdit+
DSM DSM Domain Idea Done a few times before! Finished Product Expert (few) DSM language Code generator Framework code Normal (many) Easy! Model in DSM language Generate code Domain Framework
1. 3. 1 2 3 4 2. 4. API
Case1: Symbian/Series 60
Function calls Series 60 Generator definition Report '_Note' /* Produces Note code */ 'def '; type;oid; '():'; appuifw.note(u"';:text or code; '", '''; :Note type; ''')'; subreport; '_next element'; run; endreport Report '_next element' /* reports next flow element*/ do ~From>Flow { do :Function used {' '; :Function name;} '('; :Code; ')'; do ~To.() { return '; } endreport subreport; '_Internal name'; run;} Generator output def Note3_2227(): appuifw.note(u"registration made", 'conf') return Stop3_983 def Note3_6109(): appuifw.note(u SMS Cancellation sent", 'conf') return Stop3_983 def Note3_2543(): appuifw.note(u Conference registration: Welcome", info') return Popup_menu3_2520 def Stop3_983(): # This applications stops here return appuifw.app.set_exit...
Case2: e
Java 3
Case3: 8 1 1
Case3:
DSM 1. 3. 1 2 3 4 2. 4. API