Creation of SCOOP-IX and Example. ETAS INTECRIO

Add to My manuals
178 Pages

advertisement

Creation of SCOOP-IX and Example. ETAS INTECRIO | Manualzz

ETAS

6.3

SCOOP and SCOOP-IX

<fileContainer constitution="sourceCode">

<pathBase path="{{codeDir}}"/>

<!-- Model specific source files -->

<file name="MySub_types.h" kind="header"/>

<file name="MySub.h" kind="header"/>

<!-- used through rtwShared.lib: rtwtypes.h -->

<!-- used through rtwShared.lib: multiword_types.h -->

<file name="MySub.c" kind="body"/>

<file name="MySub_private.h" kind="header"/>

<!-- Additionally registered model specific source files -->

<file name="rt_sim.c" path="{{codeDir}}external\rtw\c\src\" kind="body"/>

<!-- Target specific libraries -->

<file name="rtwStaticLib.lib" kind="symbolicLibrary"/>

<file name="rtwSharedLib.lib" kind="symbolicLibrary"/>

<!-- Additional files -->

</fileContainer>

<fileContainer constitution="referencedModels">

</fileContainer>

...

NOTE

The <fileContainer constitution="referencedModels"> section in a *.ref_six

file is always empty, even if the referenced model contains further referenced models.

All links to referenced models are provided in the *.six

file of the main model.

Creation of SCOOP-IX and Example

Tools that are either a part of INTECRIO or are coupled to INTECRIO create

SCOOP-IX descriptions if C code is created for the integration. In the case of

ASCET and MATLAB and Simulink, the SCOOP-IX generation is performed by the respective connectivity tool.

An example for a simple SCOOP-IX file created with ASCET can be found below.

The example is used exclusively for representing an interface description in

SCOOP-IX, it does not claim to be meaningful or correct.

<?xml version="1.0" encoding="iso-8859-1"?>

<!DOCTYPE module [

<!ENTITY szlig "&#223;">

<!ENTITY copy "&#169;">

<!ENTITY baseTypes-asd SYSTEM

'c:\ETAS\ASCET6.4\Formats\SCOOP-IX\1.2\common\ baseTypes-asd.xml'>

]>

INTECRIO V4.7 - User’s Guide 132

ETAS SCOOP and SCOOP-IX

<?xml-stylesheet type="text/xsl" href="c:\ETAS\

ASCET6.4\Formats\SCOOP-IX\1.2\common\ showSCOOP-IX.xsl"?>

<!--

<h1>SCOOP-IX</h1>

<p>

<strong>Copyright &copy; 2002-2004 ETAS GmbH</strong> ↵

Borsigstra&szlig;e 14, D-70469 Stuttgart.

<em>All rights reserved.</em>

</p>

-->

< module xmlns="http://www.etas.de/scoop-ix/1.2" xmlns:ix="http://www.etas.de/scoop-ix/1.2" xmlns:asd="http://www.etas.de/scoop-ix/1.2/ modelDomain/ascet" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.etas.de/scoop-ix/1.2

c:\ETAS\ASCET6.4\Formats\SCOOP-IX\1.2\Schemas\ scoop-ix-domain-asd.xsd" xmlns:html="http://www.w3.org/1999/xhtml" >

< directoryLocations scheme="ASCET 6.4">

< directory identifier="integratorDir" path="E:\ETAS\ INTECRIO4.7\" >< /directory >

< directory identifier="toolDir" path="c:\ETAS\ASCET6.4\" >< /directory >

< directory identifier="codeDir" path="c:\ETASData\ASCET6.4\Database\

Project\CGen\" >< /directory >

INTECRIO\

< directory identifier="modelDir" ↵ path="c:\ETASData\ASCET6.4\Database\ INTECRIO \" > ↵

< /directory >

< /directoryLocations >

↵ < moduleInfo identifier=

"_040VSM3H60001KO7102G5GFA1O5G0">

< name >ASDSimpleModel< /name >

< modelLink href="asd://{{modelDir}}?Training/

ASDSimpleModel" >< /modelLink >

< version major="1" minor="0" ></version>

< dateTime kind="created" year="2011" month="02" day="13" hour="15" minute="37" second="04" >

< /dateTime >

< dateTime kind="lastModified" year="2011" month="03" day="04" hour="17" minute="14" second="44" > </ dateTime >

< completion degree="full" >< /completion >

< suitability >

< application domain="rapidPrototyping" addressesAvailable="true" instanceTreeRootIdentifier=

INTECRIO V4.7 - User’s Guide 133

ETAS SCOOP and SCOOP-IX

"_040VSM3H60001KO7102G5GFA1O5G0instance" setGetDeltaTIdentifier=

"__040VSM3H60001KO7102G5GFA1O5G0">

< /application >

< /suitability >

< company name="ETAS GmbH" department="ETAS/PAC-F1" city="Stuttgart" country="Germany" />

< user lastName="Doe" firstName="John" title="Dr" >

< /user >

< creators >

< user lastName="Doe" firstName="John" title="Dr" >< /user >

< tool kind="modeler" vendor="ETAS GmbH" name="ASCET">

< version major="6" minor="1" revision="1" >

< /version >

< configuration >

< option identifier="ignoreInternalMessages" ↵

> false< /option >

< /configuration >

< /tool >

< tool kind="codeGenerator" vendor="ETAS GmbH" name="ASCET">

< version major="6" minor="1" revision="1" >

< /version >

< mode name="experiment" value="Implementation" >< /mode >

< configuration >

< option identifier="Code Generator" >

Implementation Experiment< /option >

< option identifier="Target" >Prototyping

< /option >

...

1

< /configuration >

< /tool >

< /creators >

< annotation >

< ix:documentation xmlns="http://www.w3.org/

1999/xhtml">

< p >This is a sample module interface description file. It is used for demonstrating an interface description in the < b >SCOOP-IX< /b > language.< /p >

< p >Neither is its content supposed to make any sense at all, nor has its correctness been checked by compilation.< /p >

< /ix:documentation >

< /annotation >

1. A SCOOP-IX file contains all settings from the project properties. For documentation purposes, only the first two are listed.

INTECRIO V4.7 - User’s Guide 134

ETAS SCOOP and SCOOP-IX

< /moduleInfo >

< codeInfo >

< constitution mode ="sourceCode" >< /constitution >

< dateTime kind="created" year="2011" month="02" day="13" hour="15" minute="38" second="4" >

< /dateTime >

< target >

< processor vendor="Motorola" model="MPC750" >

< /processor >

< board vendor="ETAS GmbH" model="Prototyping" >

< /board >

< tool kind="compiler" vendor="GNU Project" family="GNU Compiler Collection" name="GNU C Compiler for Embedded PowerPC target">

< configuration >

< optionKind name="macroDefine" prefix="-D" > ↵

< /optionKind >

< optionKind name="includeDirectory" prefix="-I" >< /optionKind >

<!-- ASCET specific defines -->

< option kind="macroDefine" name="EXT_INTEGRATION" >< /optionKind >

<!-- ASCET specific include directories -->

< option kind="includeDirectory">

<![CDATA[{{codeDir}}]]>< /option >

< /configuration >

< /tool >

< /target >

< target >

< board vendor="ETAS GmbH" model="INTECRIO

Generic Experimental Target" >

< /board >

< tool kind="compiler" vendor="GNU Project" family="GNU Compiler Collection" name="GNU C Compiler" >

< configuration >

< optionKind name="macroDefine" prefix="-D" > ↵

< /optionKind >

< optionKind name="includeDirectory" prefix="-I" >< /optionKind >

< option kind="macroDefine" name=

"EXT_INTEGRATION" >< /option >

< option kind="includeDirectory" >

<![CDATA[{{codeDir}}]]>< /option >

< /configuration >

< /tool >

< /target >

INTECRIO V4.7 - User’s Guide 135

ETAS SCOOP and SCOOP-IX

< /codeInfo >

< fileContainer complete="false">

< pathBase path="{{codeDir}}" ></pathBase>

<!-- model specific C files -->

< file name="_asd_pid.c" kind="body" >< /file >

< file name="asdsmpm.c" kind="body" >< /file >

< file name="conf.c" kind="body" >< /file >

< file name="modulem.c" kind="body" >< /file >

< file name="asdsmpm.h" kind="header" >< /file >

< file name="conf.h" kind="header" >< /file >

< file name="modulem.h" kind="header" >< /file >

<!-- additional files -->

< file name="ASDSimpleModel.a2l" content="dataDescription" format="ASAM-2MC" formatVersion="1.5" >< /file >

< /fileContainer >

< interface >

< modelLinkBase href="asd://

{{modelDir}}?Training/ASDSimpleModel/" >

< /modelLinkBase >

< pathBase path="{{codeDir}}" >< /pathBase >

< headerFile name="asdsmpm.h" >< /headerFile >

< headerFile name="conf.h" >< /headerFile >

< headerFile name="modulem.h" >< /headerFile >

< usage layoutFamily="asd:standardLayout" >< /usage >

&baseTypes-asd;

< definitions >

< conversion name="ident">

< rationalFunction >

< numerator bx="1" >< /numerator >

< denominator f="1" >< /denominator >

< /rationalFunction >

< /conversion >

< /definitions >

< dataElement interfaceKind="export">

< dataCInterface identifier=

"MODULE_IMPL_ClassObj.Out1->val">

< type >< typeRef name="real64" >< /typeRef >< /type >

< fileOrigin name="MODULEM.c" >< /fileOrigin >

< initValue value="0.0" >< /initValue >

< /dataCInterface >

< modelOrigin identifier="ASDSimpleModel.

Module.Out1">

< name >Out1< /name >

INTECRIO V4.7 - User’s Guide 136

ETAS SCOOP and SCOOP-IX

< modelLink href="Module.Out1" >< /modelLink >

< modelLocation >

< pathNode name="Module" kind="asd:module">

< pathParameter name="asd:implementation" value="Impl" >< /pathParameter >

< pathParameter name="asd:dataSet" value="Data" >< /pathParameter >

< /pathNode >

< pathNode name="Out1" kind="asd:element" >

< /pathNode >

< /modelLocation >

< modelKind kind="message" visibility="public">

< flowDirection in="false" out="true" >

< /flowDirection >

< /modelKind >

< modelType type="continuous" >< /modelType >

< annotation >

< ix:documentation xmlns=

"http://www.w3.org/1999/xhtml" lang="en-US">

This is output message < i >Out1< /i > of continuous type.

< /ix:documentation >

</ annotation >

< /modelOrigin >

< implementation >

< conversionRef name="ident" >< /conversionRef >

< valueRange min="-2147483648" max="2147483647" >< /valueRange >

< saturation value="true" resolution="reduce" assignment="true" >< /saturation >

< zeroExcluded value="false" >< /zeroExcluded >

< /implementation >

< usage measurement="true" virtual="false" variant="false" >

< address kind="pseudo" >

< BLOB kind="KP_BLOB" device="E_TARGET" >

<![CDATA[2 1001 1 1001 1]]>< /BLOB >

< /address >

< /usage >

< /dataElement >

< dataElement interfaceKind ="export">

< dataCInterface identifier=

"ASDSIMPLEMODEL_IMPL_ClassObj.Module-> myProduct->val">

< type >< typeRef name="sint32" >< /typeRef >< /type >

< fileOrigin name="MODULEM.c" >< /fileOrigin >

< initValue value="0" ></initValue>

< /dataCInterface >

INTECRIO V4.7 - User’s Guide 137

ETAS SCOOP and SCOOP-IX

< modelOrigin identifier =

"ASDSimpleModel.Module.myProduct">

< name >myProduct< /name >

< modelLink href="ASDSimpleModel.Module.

myProduct" >< /modelLink >

< modelLocation >

< pathNode name="Module" kind="asd:module" >

< pathParameter name="asd:implementation" value="Impl" >< /pathParameter >

< pathParameter name="asd:dataSet" value="Data" >< /pathParameter >

</ pathNode >

< pathNode name="myProduct" kind="asd:element" ></ pathNode >

< /modelLocation >

< modelKind kind ="variable" visibility ="private" ></modelKind>

< modelType type="continuous" >

< valueRange min="-2147483648.0" max="2147483647.0" >< /valueRange >

< /modelType >

< annotation >

< ix:documentation xmlns=

"http://www.w3.org/1999/xhtml" lang="en-US">

This is variable < i >myProduct< /i > of continuous type.

< /ix:documentation >

< /annotation >

< /modelOrigin >

< implementation >

< conversionRef name="ident" >< /conversionRef >

< valueRange min="-2147483648" max="2147483647"> < /valueRange >

< saturation value="true" resolution="reduce" assignment="true" >< /saturation >

< zeroExcluded value="false" >< /zeroExcluded >

< /implementation >

< usage measurement="true" virtual="false" variant="false" >

< address kind="pseudo" >

< BLOB kind="KP_BLOB" device="E_TARGET" >

<![CDATA[2 1001 1 1000 0]]>< /BLOB >

< /address >

< /usage >

< /dataElement >

< dataElement interfaceKind="export">

< dataCInterface identifier=

"ASDSIMPLEMODEL_IMPL_ClassObj.Module-> myPar->val">

INTECRIO V4.7 - User’s Guide 138

ETAS SCOOP and SCOOP-IX

< type >< typeRef name="real64" >< /typeRef >< /type >

< fileOrigin name="MODULEM.c" lines="23" >

< /fileOrigin >

< initValue value="3.2" />

< /dataCInterface >

< modelOrigin identifier="ASDSimpleModel.

Module.myPar">

< name >myPar< /name >

< modelLink href="ASDSimpleModel.Module.myPar"

> < /modelLink >

< modelLocation >

< pathNode name="Module" kind="asd:module">

< pathParameter name=

"asd:implementation" value="Impl" >

< /pathParameter >

< pathParameter name=

"asd:dataSet" value="Data" >

< /pathParameter >

< /pathNode >

< pathNode name="myPar" kind="asd:element" >< /pathNode >

< /modelLocation >

< modelKind kind="parameter" visibility="private" >< /modelKind >

< modelType type="continuous" >< /modelType >

< annotation >

< ix:documentation xmlns=

"http://www.w3.org/1999/xhtml" lang="en-US">

This is parameter < i >myPar< /i > of continuous type.

< /ix:documentation >

< /annotation >

< /modelOrigin >

< implementation >

< conversionRef name="ident" >< /conversionRef >

< valueRange min="-1.e+037" max="1.e+037" >

< /valueRange >

< zeroExcluded value="false" ></ zeroExcluded >

< /implementation >

< usage calibration="true" virtual="false" variant="false" >

< address kind="pseudo" >

< BLOB kind="KP_BLOB" device="E_TARGET"

><![CDATA[2 1001 1 1000 1]]>< /BLOB >

< /address >

< /usage >

< /dataElement >

< functionElement interfaceKind ="export">

INTECRIO V4.7 - User’s Guide 139

ETAS SCOOP and SCOOP-IX

< functionCInterface identifier=

"MODULE_IMPL_compute">

< signature >

< return >

< type >< void />< /type >

< /return >

< void />

< /signature >

< fileOrigin name="MODULEM.c" >< /fileOrigin >

< /functionCInterface >

< modelOrigin identifier ="Module.compute">

< name >compute< /name >

< modelLink href="Module.compute" />

< modelLocation >

< pathNode name="Module" kind="asd:module">

< pathParameter name="asd:implementation" value="Impl" >< /pathParameter >

< pathParameter name="asd:dataSet" value="Data" >< /pathParameter >

< /pathNode >

< pathNode name="compute" kind="asd:process" >

< /pathNode >

< /modelLocation >

< modelKind kind ="process" visibility ="public" > < /modelKind >

< runTimeInfo >

< FPUUsage value="true" >< /FPUUsage >

< TerminateTaskUsage value="false" >

< /TerminateTaskUsage >

< messageAccess >

< message identifier=

"MODULE_IMPL_ClassObj.Out1->val" send ="true" >< /message >

< /messageAccess >

< resourceAccess >< /resourceAccess >

< constraint >

< period value="0.01" ></period>

< execution trigger ="timer" priority ="0" > ↵

</execution>

< scheduling mode="preemptive" >

< /scheduling>

< /constraint >

< /runTimeInfo >

< annotation >

< ix:documentation xmlns=

"http://www.w3.org/1999/xhtml">

This is process < i >compute< /i > of module

< i >Module< /i >.

< /ix:documentation >

< /annotation >

INTECRIO V4.7 - User’s Guide 140

ETAS

< /modelOrigin >

< /functionElement >

< /interface >

< /module >

SCOOP and SCOOP-IX

INTECRIO V4.7 - User’s Guide 141

advertisement

Related manuals

Download PDF

advertisement

Table of contents