Title: Ingen bildrubrik
1Portable Automotive Electronic Modelsusing
Standard XML Technologies
Syed Zia Akbar Zaidi
Department of Computer and Information
ScienceLinköpings universitet
2Contributions
- 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
3Outline
- 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
4Embedded Systems
- Automotive Electronic Systems
- Complex distributed embedded systems that have
important requirements safety cost, and
performance. - Responsible for controlling the functionality of
a vehicle.
5Automotive Industry Interoperability
6What 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,
7ADL 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
8AE Generic Architecture
9Cruise 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 .. .. ..
10XML 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
11Requirements 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
12Requirements 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
13XQuery 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)
14XQuery
- 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
15XPath
- W3C Standard
- http//www.w3.org/TR/xpath
-
- Example 1Behavioral_Model/Process/Name
- Example 2 Behavioral_Model/Process/Name ../WCET
12
Tree Construction
16FLWR (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
17If-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
18Resource 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")))
19Resource 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
20XQuery 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.
21xLinkit
- 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
22Query 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
23Xlinkit 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
24Discussion
- XML technologies
- Current technologies
- Xlinkit first order logic path expressions
- XQuery relational databases path expressions
- CommonRules logic programming
- Semantic Web
- DAMLOIL
- RuleML
25Conclusions 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