Ingen bildrubrik - PowerPoint PPT Presentation

About This Presentation
Title:

Ingen bildrubrik

Description:

Portable Automotive Electronic Models using Standard XML Technologies Syed Zia Akbar Zaidi Department of Computer and Information Science Link pings universitet – PowerPoint PPT presentation

Number of Views:60
Avg rating:3.0/5.0
Slides: 26
Provided by: Winn72
Category:

less

Transcript and Presenter's Notes

Title: Ingen bildrubrik


1
Portable Automotive Electronic Modelsusing
Standard XML Technologies
Syed Zia Akbar Zaidi
Department of Computer and Information
ScienceLinköpings universitet
2
Contributions
  • Defined a simple architecture definition language
    (ADL)
  • Used to model the automotive electronic systems
  • XML representation models portable among
    manufacturers and suppliers
  • Identified the constraints of the automotive
    electronic field
  • Types of requirements
  • Modelling and representation of automotive
    electronic requirements using XML technologies
  • Xlinkit, XQuery, CommonRules
  • Case study representing a vehicle cruise
    controller
  • Modeled using our ADL
  • The requirements placed on the cruise controller
    have been modelled using xlinkit, XQuery and
    CommonRules

3
Outline
  • Automotive Electronics ? The Industry ?
    Generic Architectures ? The Cruise Controller
  • Modelling AE using XML ? The Merits of
    XML ? The Cruise Controller Model ? The
    Cruise Controller
  • Requirements Modelling ? Requirements on the
    Cruise Controller ? XML Technologies ?
    Xlinkit, XQuery, CommonRules
  • Conclusions and Future Work

4
Embedded Systems
  • Automotive Electronic Systems
  • Complex distributed embedded systems that have
    important requirements safety cost, and
    performance.
  • Responsible for controlling the functionality of
    a vehicle.

5
Automotive Industry Interoperability
6
What is an ADL?
  • An ADL is a language that provides features for
    modeling a hardware and software systems
    conceptual architecture.
  • In other way, it is a high-level description of
    the overall interconnection structure of an
    architecture.
  • It provides formal modeling notations for
    architectural elements, such as components,
    connectors.
  • It also provides development tools that operate
    on architectural specifications, such as
    configuration and constraints.
  • It reduces cost of development.
  • ADLs
  • Software ACME,Rapide, C2, Darwin, MetaH, SADL,
    UinCon, Wright, xArch,
  • Hardware MoML, ISDL, Valen-C, MIMOLA, LISA,
    nML, ARC, Axys, RADL, Target, MDES, EPRESSION,

7
ADL Exchange The Merit of XML
  • XML highly suited for ADLsThe Merit of XML as
    an Architecture Description Metalanguage, Steve
    Pruitt et al.
  • Representation
  • Analysis
  • Traceability
  • Views
  • Collaboration
  • Repository

lt!-- Example in MOML --gt lt?xml version"1.0"
standalone"no"?gt lt!DOCTYPE model PUBLIC ""
"http//"gt ltmodel name"top" class"path name"gt
ltentity name"source" class"path name"gt
ltport name"output"/gt lt/entitygt ltentity
name"sink" class"path name"gt ltport
name"input"/gt lt/entitygt ltrelation name"r1"
class"path name"/gt ltlink port"source.output"
relation"r1"/gt ltlink port"sink.input"
relation"r1"/gt lt/modelgt
8
AE Generic Architecture
9
Cruise Controller
Process Start WCET Resource PR1 0 0
P6 PR2 0 12 P1 PR28 0 12
P2 ARC2 12 1 B1 PR3 13 7
P2 .. .. ..
10
XML Model for Cruise Controller
  • architecture.xml
  • ltNODE Name"CEM" Id"P1"gt
  • ltProcessor Name"AMD"gtltP_TypegtIlt/P_Typegtlt/Process
    orgt 
  • ltMemory unit"KB"gt128lt/Memorygt
  • lt/NODEgt
  • behaviour.xml
  • ltPROCESS Name"PR3" Id"PR3"gt
  • ltWCET unit"ms"gt7lt/WCETgtltMemory
    unit"KB"gt2lt/Memorygt
  • lt/PROCESSgt
  • ltARC Name"ARC3" Id"ARC3"gt
  • ltSrcgtPR3lt/SrcgtltDestgtPR4lt/DestgtltDelay
    unit"ms"gt0lt/Delaygt
  • lt/ARCgt
  • mapping.xml
  • ltMAP Resource"P1"gt
  • ltProcessgtPR1lt/ProcessgtltProcessgtPR2lt/ProcessgtltProc
    essgtPR30lt/Processgt
  • lt/MAPgt
  • schedule.xml
  • ltSLOT Id"PR1"gtltStart unit"ms"gt0lt/StartgtltDuration
    unit"ms"gt0lt/Durationgt  
  • ltResourcegtP6lt/Resourcegtlt/SLOTgt

11
Requirements Engineering
  • RE is the branch of systems engineering
    concerned with
  • the real-world goals and constraints on systems
  • the relationship of these factors to precise
    specifications of systems behavior, and to their
    evolution over time and across system families.
  • RE Activities
  • eliciting requirements
  • modeling and analyzing requirements
  • communicating requirements
  • agreeing requirements
  • evolving requirements

12
Requirements on the Cruise Controller
  • Requirements on the model
  • The model should be consistent
  • Every process should be mapped to one and only
    one node
  • Every sensor/actuator should be connected
  • The schedule should be correct
  • The schedule should respect the precedence
    constraints
  • No two slots in the schedule should overlap
  • Cruise Controller
  • Timing requirements
  • The CC should execute within 100 ms
  • Resource requirements
  • The sum of processes memory on a nodeshould not
    exceed that node's capacity
  • Should be expressed using XML Technologies

13
XQuery An XML Query Language
  • W3C standard
  • http//www.w3.org/TR/xquery
  • Derived from QuiltJonathan Robie, Don
    Chamberlin, and Daniela Florescu
  • Based on XML-QL
  • Relevant W3C documents
  • XML Query Requirements
  • XML Query Use Cases
  • XQuery 1.0 An XML Query Language
  • XQuery 1.0 and XPath 2.0 Data Model
  • XQuery 1.0 Formal Semantics
  • XML Syntax for XQuery 1.0 (XQueryX)

14
XQuery
  • To find all process names and connected sensors
    for processes whose worst case execution time gt
    10ms memory size lt 20MB.
  • ltBehavioral_Modelgt
  • for b in document(Behavior.xml)//Process
  • where b/WCET gt 10 and b/Memory lt 20
  • return
  • ltProcess Name b/Namegt
  • b/Sensor
  • lt/Processgt
  • lt/Behavioral Modelgt
  • Overview
  • Path expressions XPath
  • Conditional expressions
  • FLWR (flower) expressions

15
XPath
  • W3C Standard
  • http//www.w3.org/TR/xpath
  • Example 1Behavioral_Model/Process/Name
  • Example 2 Behavioral_Model/Process/Name ../WCET
    12

Tree Construction
16
FLWR (FLOWER) Expression
  • Flower expressions
  • FOR ... LET... FOR... LET...
  • WHERE...
  • RETURN...
  • Example find all Processes with WCET gt 14
  • FOR x IN document("behavior.xml")
  • //
    Process
  • WHERE x/WCET gt 14
  • RETURN x/_at_Id
  • Result
  • ltProcessgtPR6lt/Processgt
  • ltProcessgtPR8lt/Processgt
  • ltProcessgtPR31lt/Processgt

17
If-Then-Else
  • The CC should execute within 100 ms.

ltresultsgt let a document("data/schedule.xml
")//SLOT, b max(for c in
document("data/schedule.xml")//SLOT/Start
return int(string-value(c))), d
aStart b, e aStart
b/Start, f aStart b/Duration,
g bf return ltSLOT Idd/_at_Idgt
e, f ltWCETgt
glt/WCETgt, if (ggt100) then
ltFaultgt Time Lapsed lt/Faultgt
else "WCET ok" lt/SLOTgtlt/resultsgt
18
Resource Requirement Query
for map in document("data/sweb/mapping.xml")//MAP
, nod in document("data/sweb/architecture.
xml")//NODE_at_Id map/_at_Resource let proc
document("data/sweb/behaviour.xml")//PROCESS_at_Id
map/Process return ltprocessor
Namenod/_at_Name Idnod/_at_Id
HasMemorynod/Memory/text(),nod/Memory/_at_unit
MemoryUsedByScheduledProcessessum(proc/Mem
ory),nod/Memory/_at_unitgt for process
in proc return ltprocess
Nameprocess/_at_Name
Idprocess/_at_Id
Memoryprocess/Memory/text(),process/Memory/_at_un
it /gt sortby(int(substring-before(_at_Memory,
"K"))) lt/processorgt sortby(int(substrin
g-after(_at_Id,"P")))
19
Resource Requirements Result
query resultcheck_resource_consistency.xml lt?xml
version"1.0" ?gt ltquipresult xmlnsquip"http//
.."gt ltprocessor Name"CEM" Id"P1"
HasMemory"128KB" MemoryUsedByScheduledProcesses"
20KB"gt ltprocess Name"PR1" Id"PR1"
Memory"1KB" /gt ltprocess Name"PR31"
Id"PR31" Memory"4KB" /gt ltprocess
Name"PR30" Id"PR30" Memory"5KB" /gt
ltprocess Name"PR2" Id"PR2" Memory"10KB" /gt
lt/processorgt ltprocessor Name"ABS" Id"P2"
HasMemory"256KB" MemoryUsedByScheduledProcesses"
25KB"gt ltprocess Name"PR32" Id"PR32"
Memory"1KB" /gt ltprocess Name"PR27"
Id"PR27" Memory"2KB" /gt ltprocess
Name"PR3" Id"PR3" Memory"2KB" /gt
ltprocess Name"PR4" Id"PR4" Memory"5KB" /gt
ltprocess Name"PR29" Id"PR29" Memory"7KB" /gt
ltprocess Name"PR28" Id"PR28" Memory"8KB"
/gt lt/processorgt lt/quipresultgt  
20
XQuery Software
  • QuiP
  • http//www.softwareag.com/developer/downloads/def
    ault.htm
  • Software AG
  • Windows and Linux on x86
  • Features
  • Latest W3C syntax
  • Graphical user interface.
  • Kweelt
  • http//kweelt.sourceforge.net/
  • Open Source
  • Runs on all Java platforms
  • Problems
  • Older syntax, from previous W3C requirements.
  • No graphical user interface.

21
xLinkit
  • Xlinkit is a lightweight application service
    which provides rule-based link generation and
    checks the consistency of distributed documents
    and web content.
  • xLinkit is specially designed to validate complex
    documents
  • Semantics first order logic

22
Query Construction
ltDocumentSet nameCruiseCtrl"gt ltDocFile
hrefschedule.xml"/gt ltDocFile
hrefbehavior.xml"/gt lt/DocumentSetgt
ltRuleSet name"ScheduleRule"gt ltRuleFile
hrefrule4.xml xpath"/consistencyruleset/
consistencyrule"/gtlt/RuleSetgt
ltconsistencyrulesetgt ltglobalset id"schedule"
xpath"/SCHEDULE/SLOT" /gt ltglobalset
id"process_behaviour" xpath"/BEHAVIOURAL_MODEL/P
ROCESS" /gt ltglobalset id"arc_behaviour"
xpath"/BEHAVIOURAL_MODEL/ARC" /gt
ltconsistencyrule id"r1"gt ltforall var"a"
in"schedule"gt ltorgt
ltexists var"p" in"process_behaviour"gt
ltandgtltequal op1"a/_at_Id" op2"p/_at_Id"
/gt ltequal op1"a/Duration/text
()" op2"p/WCET/text()" /gtlt/andgt
lt/existsgt ltexists var"c"
in"arc_behaviour"gt
ltandgtltequal op1"a/_at_Id" op2"c/_at_Id" /gt
ltequal op1"a/Duration/text()"
op2"c/Delay/text()" /gtlt/andgt
lt/existsgt lt/orgt lt/forallgt
lt/consistencyrulegtlt/consistencyrulesetgt
23
Xlinkit Results
  • ltxlinkitConsistencyLink ruleid"http//www.ida.li
    u.se/rule.xml/ consistencyruleset/consistencyrule
    1"gt
  • ltxlinkitStategtconsistentlt/xlinkitStategt
  • ltxlinkitLocator xlinkhref"http//www.ida.l
    iu.se/Schedule.xml/SLOT1"/gt
  • ltxlinkitLocator xlinkhref"http//www.ida.l
    iu.se/Behavior.xml/PROCESS3"/gt
  • lt/xlinkitConsistencyLinkgt
  • ltxlinkitConsistencyLink ruleid"http//www.ida.li
    u.se/rule.xml/
  • consistencyruleset/consistencyrule1"gt
  • ltxlinkitStategtinconsistentlt/xlinkitStategt
  • ltxlinkitLocator xlinkhref"http//www.ida.li
    u.se/Schedule.xml/SLOT3"/gt
  • ltxlinkitLocator xlinkhref"http//www.ida.li
    u.se/Behavior.xml/PROCESS15"/gt
  • lt/xlinkitConsistencyLinkgt

24
Discussion
  • XML technologies
  • Current technologies
  • Xlinkit first order logic path expressions
  • XQuery relational databases path expressions
  • CommonRules logic programming
  • Semantic Web
  • DAMLOIL
  • RuleML

25
Conclusions and Future Work
  • Simple architecture ADL with an XML
    representation
  • Modelled the cruise controller using this ADL
  • Automotive electronic requirements
  • Modelling and representation of requirements
    using XML technologies
  • Xlinkit, XQuery, CommonRules
  • Requirements on the cruise controller
  • Modelled using xlinkit, XQuery and CommonRules
  • Future work
  • What is the advantage of using the SemanticWeb
    technologies?
  • DAMLOIL instead of XML for the ADL
    representation
  • RuleML instead of CommonRules
Write a Comment
User Comments (0)
About PowerShow.com