blob: a682a054f09497b727d04e375facd9ed74f23a92 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xsd:schema xmlns:am="http://app4mc.eclipse.org/amalthea/0.9.6" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://app4mc.eclipse.org/amalthea/0.9.6">
<xsd:annotation>
<xsd:documentation>*
*******************************************************************************
Copyright (c) 2015-2019 Robert Bosch GmbH and others.
This program and the accompanying materials are made
available under the terms of the Eclipse Public License 2.0
which is available at https://www.eclipse.org/legal/epl-2.0/
SPDX-License-Identifier: EPL-2.0
*******************************************************************************</xsd:documentation>
</xsd:annotation>
<xsd:import namespace="http://www.omg.org/XMI" schemaLocation="platform:/plugin/org.eclipse.emf.ecore/model/XMI.xsd"/>
<xsd:simpleType name="RelationalOperator">
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="EQUAL"/>
<xsd:enumeration value="NOT_EQUAL"/>
<xsd:enumeration value="LESS_THAN"/>
<xsd:enumeration value="GREATER_THAN"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="TimeUnit">
<xsd:annotation>
<xsd:documentation>Time units (enumeration of available units)</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="s"/>
<xsd:enumeration value="ms"/>
<xsd:enumeration value="us"/>
<xsd:enumeration value="ns"/>
<xsd:enumeration value="ps"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="FrequencyUnit">
<xsd:annotation>
<xsd:documentation>Frequency units (enumeration of available units)</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="Hz"/>
<xsd:enumeration value="kHz"/>
<xsd:enumeration value="MHz"/>
<xsd:enumeration value="GHz"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="VoltageUnit">
<xsd:annotation>
<xsd:documentation>Voltage units (enumeration of available units)</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="uV"/>
<xsd:enumeration value="mV"/>
<xsd:enumeration value="V"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="DataSizeUnit">
<xsd:annotation>
<xsd:documentation>Data size units (enumeration of available units)</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="bit"/>
<xsd:enumeration value="kbit"/>
<xsd:enumeration value="Mbit"/>
<xsd:enumeration value="Gbit"/>
<xsd:enumeration value="Tbit"/>
<xsd:enumeration value="Kibit"/>
<xsd:enumeration value="Mibit"/>
<xsd:enumeration value="Gibit"/>
<xsd:enumeration value="Tibit"/>
<xsd:enumeration value="B"/>
<xsd:enumeration value="kB"/>
<xsd:enumeration value="MB"/>
<xsd:enumeration value="GB"/>
<xsd:enumeration value="TB"/>
<xsd:enumeration value="KiB"/>
<xsd:enumeration value="MiB"/>
<xsd:enumeration value="GiB"/>
<xsd:enumeration value="TiB"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="DataRateUnit">
<xsd:annotation>
<xsd:documentation>Data rate units (enumeration of available units)</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="bitPerSecond"/>
<xsd:enumeration value="kbitPerSecond"/>
<xsd:enumeration value="MbitPerSecond"/>
<xsd:enumeration value="GbitPerSecond"/>
<xsd:enumeration value="TbitPerSecond"/>
<xsd:enumeration value="KibitPerSecond"/>
<xsd:enumeration value="MibitPerSecond"/>
<xsd:enumeration value="GibitPerSecond"/>
<xsd:enumeration value="TibitPerSecond"/>
<xsd:enumeration value="BPerSecond"/>
<xsd:enumeration value="kBPerSecond"/>
<xsd:enumeration value="MBPerSecond"/>
<xsd:enumeration value="GBPerSecond"/>
<xsd:enumeration value="TBPerSecond"/>
<xsd:enumeration value="KiBPerSecond"/>
<xsd:enumeration value="MiBPerSecond"/>
<xsd:enumeration value="GiBPerSecond"/>
<xsd:enumeration value="TiBPerSecond"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="SamplingType">
<xsd:annotation>
<xsd:documentation>The types of sampling</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="default"/>
<xsd:enumeration value="BestCase"/>
<xsd:enumeration value="WorstCase"/>
<xsd:enumeration value="AverageCase"/>
<xsd:enumeration value="CornerCase"/>
<xsd:enumeration value="Uniform"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="InterfaceKind">
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="provides"/>
<xsd:enumeration value="requires"/>
<xsd:enumeration value="provides_requires"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="RunnableOrderType">
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="successor"/>
<xsd:enumeration value="immediateSuccessorStartSequence"/>
<xsd:enumeration value="immediateSuccessorAnySequence"/>
<xsd:enumeration value="immediateSuccessorEndSequence"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="EventChainItemType">
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="sequence"/>
<xsd:enumeration value="parallel"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="SynchronizationType">
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="Stimulus"/>
<xsd:enumeration value="Response"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="MappingType">
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="OneToOne"/>
<xsd:enumeration value="Reaction"/>
<xsd:enumeration value="UniqueReaction"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="LatencyType">
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="Age"/>
<xsd:enumeration value="Reaction"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="Severity">
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="Cosmetic"/>
<xsd:enumeration value="Minor"/>
<xsd:enumeration value="Major"/>
<xsd:enumeration value="Critical"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="LimitType">
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="UpperLimit"/>
<xsd:enumeration value="LowerLimit"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="TimeMetric">
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="ActivateToActivate"/>
<xsd:enumeration value="CoreExecutionTime"/>
<xsd:enumeration value="EndToEnd"/>
<xsd:enumeration value="EndToStart"/>
<xsd:enumeration value="GrossExecutionTime"/>
<xsd:enumeration value="Lateness"/>
<xsd:enumeration value="MemoryAccessTime"/>
<xsd:enumeration value="NetExecutionTime"/>
<xsd:enumeration value="OsOverhead"/>
<xsd:enumeration value="ParkingTime"/>
<xsd:enumeration value="PollingTime"/>
<xsd:enumeration value="ReadyTime"/>
<xsd:enumeration value="ResponseTime"/>
<xsd:enumeration value="RunningTime"/>
<xsd:enumeration value="StartDelay"/>
<xsd:enumeration value="StartToStart"/>
<xsd:enumeration value="WaitingTime"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="CountMetric">
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="Activations"/>
<xsd:enumeration value="BoundedMigrations"/>
<xsd:enumeration value="CacheHit"/>
<xsd:enumeration value="CacheMiss"/>
<xsd:enumeration value="FullMigrations"/>
<xsd:enumeration value="MtaLimitExceeding"/>
<xsd:enumeration value="Preemptions"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="PercentageMetric">
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="CacheHitRatio"/>
<xsd:enumeration value="CacheMissRatio"/>
<xsd:enumeration value="CoreExecutionTimeRelative"/>
<xsd:enumeration value="MemoryAccessTimeRelative"/>
<xsd:enumeration value="NormalizedLateness"/>
<xsd:enumeration value="NormalizedResponseTime"/>
<xsd:enumeration value="OsOverheadRelative"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="CPUPercentageMetric">
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="CPUBuffering"/>
<xsd:enumeration value="CPULoad"/>
<xsd:enumeration value="CPUParking"/>
<xsd:enumeration value="CPUPolling"/>
<xsd:enumeration value="CPUReady"/>
<xsd:enumeration value="CPURunning"/>
<xsd:enumeration value="CPUWaiting"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="FrequencyMetric">
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="CacheHitFrequency"/>
<xsd:enumeration value="CacheMissFrequency"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="CoherencyDirection">
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="input"/>
<xsd:enumeration value="output"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ProcessEventType">
<xsd:annotation>
<xsd:documentation>The types of a process event</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_all_"/>
<xsd:enumeration value="activate"/>
<xsd:enumeration value="deadline"/>
<xsd:enumeration value="start"/>
<xsd:enumeration value="resume"/>
<xsd:enumeration value="preempt"/>
<xsd:enumeration value="poll"/>
<xsd:enumeration value="run"/>
<xsd:enumeration value="wait"/>
<xsd:enumeration value="poll_parking"/>
<xsd:enumeration value="park"/>
<xsd:enumeration value="release_parking"/>
<xsd:enumeration value="release"/>
<xsd:enumeration value="terminate"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="RunnableEventType">
<xsd:annotation>
<xsd:documentation>The types of a runnable event</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_all_"/>
<xsd:enumeration value="start"/>
<xsd:enumeration value="suspend"/>
<xsd:enumeration value="resume"/>
<xsd:enumeration value="terminate"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="LabelEventType">
<xsd:annotation>
<xsd:documentation>The types of a label event</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_all_"/>
<xsd:enumeration value="read"/>
<xsd:enumeration value="write"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ChannelEventType">
<xsd:annotation>
<xsd:documentation>The types of a label event</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_all_"/>
<xsd:enumeration value="send"/>
<xsd:enumeration value="receive"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="SemaphoreEventType">
<xsd:annotation>
<xsd:documentation>The types of a semaphore event</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_all_"/>
<xsd:enumeration value="lock"/>
<xsd:enumeration value="unlock"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ComponentEventType">
<xsd:annotation>
<xsd:documentation>The types of a component event</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_all_"/>
<xsd:enumeration value="start"/>
<xsd:enumeration value="end"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="MemoryType">
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="DRAM"/>
<xsd:enumeration value="SRAM"/>
<xsd:enumeration value="FLASH"/>
<xsd:enumeration value="PCM"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="StructureType">
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="System"/>
<xsd:enumeration value="ECU"/>
<xsd:enumeration value="Microcontroller"/>
<xsd:enumeration value="SoC"/>
<xsd:enumeration value="Cluster"/>
<xsd:enumeration value="Group"/>
<xsd:enumeration value="Array"/>
<xsd:enumeration value="Area"/>
<xsd:enumeration value="Region"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="CacheType">
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="instruction"/>
<xsd:enumeration value="data"/>
<xsd:enumeration value="unified"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="PortType">
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="initiator"/>
<xsd:enumeration value="responder"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="SchedPolicy">
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="RoundRobin"/>
<xsd:enumeration value="FCFS"/>
<xsd:enumeration value="PriorityBased"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="WriteStrategy">
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="none"/>
<xsd:enumeration value="writeback"/>
<xsd:enumeration value="writethrough"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="PuType">
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="GPU"/>
<xsd:enumeration value="CPU"/>
<xsd:enumeration value="Accelerator"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="PortInterface">
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="custom"/>
<xsd:enumeration value="CAN"/>
<xsd:enumeration value="Flexray"/>
<xsd:enumeration value="LIN"/>
<xsd:enumeration value="MOST"/>
<xsd:enumeration value="Ethernet"/>
<xsd:enumeration value="SPI"/>
<xsd:enumeration value="I2C"/>
<xsd:enumeration value="AXI"/>
<xsd:enumeration value="AHB"/>
<xsd:enumeration value="APB"/>
<xsd:enumeration value="SWR"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="HwFeatureType">
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="performance"/>
<xsd:enumeration value="power"/>
<xsd:enumeration value="performance_and_power"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="MemoryAddressMappingType">
<xsd:annotation>
<xsd:documentation>Defines how to interpret the memory addresses in this mapping model</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="none"/>
<xsd:enumeration value="address"/>
<xsd:enumeration value="offset"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="OsDataConsistencyMode">
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="noProtection"/>
<xsd:enumeration value="automaticProtection"/>
<xsd:enumeration value="customProtection"/>
<xsd:enumeration value="handledByModelElements"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="AccessMultiplicity">
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="singleAccess"/>
<xsd:enumeration value="multipleAccesses"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="DataStabilityLevel">
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="period"/>
<xsd:enumeration value="process"/>
<xsd:enumeration value="scheduleSection"/>
<xsd:enumeration value="runnable"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="SemaphoreType">
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="CountingSemaphore"/>
<xsd:enumeration value="Resource"/>
<xsd:enumeration value="Spinlock"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="Condition">
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="requires"/>
<xsd:enumeration value="excludes"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="GroupingType">
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="allOfThem"/>
<xsd:enumeration value="atLeastOneOfThem"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="CurveType">
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="sine"/>
<xsd:enumeration value="triangle"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="WaitEventType">
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="AND"/>
<xsd:enumeration value="OR"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="WaitingBehaviour">
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="active"/>
<xsd:enumeration value="passive"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ISRCategory">
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="CATEGORY_1"/>
<xsd:enumeration value="CATEGORY_2"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="AccessPrecedenceType">
<xsd:annotation>
<xsd:documentation>Defines the access precedence at the time of one task period.</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="defaultWR">
<xsd:annotation>
<xsd:documentation>Writer of label has to be performed before the reader.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="ignoreWR">
<xsd:annotation>
<xsd:documentation>Dependency between writer and reader can be ignored.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="enforceRW">
<xsd:annotation>
<xsd:documentation>Reader of label has to be performed before the writer (delay unit of controller).</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="OrderType">
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="order">
<xsd:annotation>
<xsd:documentation>Defines a general order, the included elements must not follow directly</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="directOrder">
<xsd:annotation>
<xsd:documentation>The defined elements must follow directly</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="startSequence"/>
<xsd:enumeration value="endSequence"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="DirectionType">
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="in"/>
<xsd:enumeration value="out"/>
<xsd:enumeration value="inout"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="LabelDataStability">
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="noProtection"/>
<xsd:enumeration value="automaticProtection"/>
<xsd:enumeration value="customProtection"/>
<xsd:enumeration value="handledByModelElements"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ModeLabelAccessEnum">
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="read"/>
<xsd:enumeration value="set"/>
<xsd:enumeration value="increment"/>
<xsd:enumeration value="decrement"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ReceiveOperation">
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="FIFO_Read"/>
<xsd:enumeration value="FIFO_Take"/>
<xsd:enumeration value="LIFO_Read"/>
<xsd:enumeration value="LIFO_Take"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="LabelAccessDataStability">
<xsd:annotation>
<xsd:documentation>Defines the data stability needs of a label access.
Inherited means that the setting of the Label is used</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="inherited"/>
<xsd:enumeration value="noProtection"/>
<xsd:enumeration value="automaticProtection"/>
<xsd:enumeration value="customProtection"/>
<xsd:enumeration value="handledByModelElements"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="LabelAccessEnum">
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="read"/>
<xsd:enumeration value="write"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="LabelAccessImplementation">
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="explicit"/>
<xsd:enumeration value="implicit"/>
<xsd:enumeration value="timed"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="SemaphoreAccessEnum">
<xsd:annotation>
<xsd:documentation>request: requests access to semaphore
release: release accessed semaphore
exclusive: gets access to requested semaphore only when there is no other user accessing it</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="request"/>
<xsd:enumeration value="exclusive"/>
<xsd:enumeration value="release"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="BlockingType">
<xsd:annotation>
<xsd:documentation>Blocking type</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="active_wait"/>
<xsd:enumeration value="passive_wait"/>
<xsd:enumeration value="non_blocking"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="Preemption">
<xsd:annotation>
<xsd:documentation>Preemption type for scheduling</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="preemptive"/>
<xsd:enumeration value="cooperative"/>
<xsd:enumeration value="non_preemptive"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ConcurrencyType">
<xsd:annotation>
<xsd:documentation>Concurrency type of an entity</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="SingleCoreSafe">
<xsd:annotation>
<xsd:documentation>Safe for access inside of the same core</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="MultiCoreSafe">
<xsd:annotation>
<xsd:documentation>Safe for access from another core</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="SingleCorePrioSafe"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ASILType">
<xsd:restriction base="xsd:NCName">
<xsd:enumeration value="_undefined_"/>
<xsd:enumeration value="D"/>
<xsd:enumeration value="C"/>
<xsd:enumeration value="B"/>
<xsd:enumeration value="A"/>
<xsd:enumeration value="QM"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="Amalthea">
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="commonElements" type="am:CommonElements"/>
<xsd:element name="swModel" type="am:SWModel"/>
<xsd:element name="hwModel" type="am:HWModel"/>
<xsd:element name="osModel" type="am:OSModel"/>
<xsd:element name="stimuliModel" type="am:StimuliModel"/>
<xsd:element name="eventModel" type="am:EventModel"/>
<xsd:element name="constraintsModel" type="am:ConstraintsModel"/>
<xsd:element name="propertyConstraintsModel" type="am:PropertyConstraintsModel"/>
<xsd:element name="mappingModel" type="am:MappingModel"/>
<xsd:element name="componentsModel" type="am:ComponentsModel"/>
<xsd:element name="configModel" type="am:ConfigModel"/>
<xsd:element name="measurementModel" type="am:MeasurementModel"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="Amalthea" type="am:Amalthea"/>
<xsd:complexType name="CommonElements">
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="tags" type="am:Tag"/>
<xsd:element name="coreClassifiers" type="am:CoreClassifier"/>
<xsd:element name="memoryClassifiers" type="am:MemoryClassifier"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="CommonElements" type="am:CommonElements"/>
<xsd:complexType abstract="true" name="BaseObject">
<xsd:annotation>
<xsd:documentation>Base classes to be used to provide common functionality for all objects.
Needs to be extended by other classes.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:IAnnotatable"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="BaseObject" type="am:BaseObject">
<xsd:annotation>
<xsd:documentation>Base classes to be used to provide common functionality for all objects.
Needs to be extended by other classes.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType abstract="true" name="ReferableObject">
<xsd:complexContent>
<xsd:extension base="am:IReferable"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ReferableObject" type="am:ReferableObject"/>
<xsd:complexType abstract="true" name="ReferableBaseObject">
<xsd:complexContent>
<xsd:extension base="am:IAnnotatable">
<xsd:attribute name="name" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ReferableBaseObject" type="am:ReferableBaseObject"/>
<xsd:complexType abstract="true" name="IAnnotatable">
<xsd:annotation>
<xsd:documentation>IAnnotatable: Possibility to store custom properties on elements</xsd:documentation>
</xsd:annotation>
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="customProperties" type="am:CustomProperty"/>
<xsd:element ref="xmi:Extension"/>
</xsd:choice>
<xsd:attribute ref="xmi:id"/>
<xsd:attributeGroup ref="xmi:ObjectAttribs"/>
</xsd:complexType>
<xsd:element name="IAnnotatable" type="am:IAnnotatable">
<xsd:annotation>
<xsd:documentation>IAnnotatable: Possibility to store custom properties on elements</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType abstract="true" name="ITaggable">
<xsd:annotation>
<xsd:documentation>ITaggable: Possibility to add tags to an elements</xsd:documentation>
</xsd:annotation>
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="tags" type="am:Tag"/>
<xsd:element ref="xmi:Extension"/>
</xsd:choice>
<xsd:attribute ref="xmi:id"/>
<xsd:attributeGroup ref="xmi:ObjectAttribs"/>
<xsd:attribute name="tags" type="xsd:string"/>
</xsd:complexType>
<xsd:element name="ITaggable" type="am:ITaggable">
<xsd:annotation>
<xsd:documentation>ITaggable: Possibility to add tags to an elements</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType abstract="true" name="INamed">
<xsd:annotation>
<xsd:documentation>INamed: Name attribute</xsd:documentation>
</xsd:annotation>
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element ref="xmi:Extension"/>
</xsd:choice>
<xsd:attribute ref="xmi:id"/>
<xsd:attributeGroup ref="xmi:ObjectAttribs"/>
<xsd:attribute name="name" type="xsd:string"/>
</xsd:complexType>
<xsd:element name="INamed" type="am:INamed">
<xsd:annotation>
<xsd:documentation>INamed: Name attribute</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType abstract="true" name="IReferable">
<xsd:annotation>
<xsd:documentation>IReferable: Computed ID for name based references</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:INamed"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="IReferable" type="am:IReferable">
<xsd:annotation>
<xsd:documentation>IReferable: Computed ID for name based references</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType abstract="true" name="IDisplayName">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element ref="xmi:Extension"/>
</xsd:choice>
<xsd:attribute ref="xmi:id"/>
<xsd:attributeGroup ref="xmi:ObjectAttribs"/>
<xsd:attribute name="displayName" type="xsd:string"/>
</xsd:complexType>
<xsd:element name="IDisplayName" type="am:IDisplayName"/>
<xsd:complexType abstract="true" name="IDescription">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element ref="xmi:Extension"/>
</xsd:choice>
<xsd:attribute ref="xmi:id"/>
<xsd:attributeGroup ref="xmi:ObjectAttribs"/>
<xsd:attribute name="description" type="xsd:string"/>
</xsd:complexType>
<xsd:element name="IDescription" type="am:IDescription"/>
<xsd:complexType name="Tag">
<xsd:annotation>
<xsd:documentation>A tag for processes, runnables, events and labels</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:ReferableBaseObject">
<xsd:attribute name="description" type="xsd:string"/>
<xsd:attribute name="tagType" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="Tag" type="am:Tag">
<xsd:annotation>
<xsd:documentation>A tag for processes, runnables, events and labels</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType abstract="true" name="Classifier">
<xsd:annotation>
<xsd:documentation>Classifiers for hardware properties</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:ReferableBaseObject">
<xsd:attribute name="description" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="Classifier" type="am:Classifier">
<xsd:annotation>
<xsd:documentation>Classifiers for hardware properties</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="CoreClassifier">
<xsd:complexContent>
<xsd:extension base="am:Classifier"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="CoreClassifier" type="am:CoreClassifier"/>
<xsd:complexType name="MemoryClassifier">
<xsd:complexContent>
<xsd:extension base="am:Classifier"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="MemoryClassifier" type="am:MemoryClassifier"/>
<xsd:complexType name="TransmissionPolicy">
<xsd:annotation>
<xsd:documentation>Data transmission details for communication (e.g. LabelAccesses)</xsd:documentation>
</xsd:annotation>
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="chunkSize" type="am:DataSize"/>
<xsd:element ref="xmi:Extension"/>
</xsd:choice>
<xsd:attribute ref="xmi:id"/>
<xsd:attributeGroup ref="xmi:ObjectAttribs"/>
<xsd:attribute name="chunkProcessingTicks" type="xsd:int"/>
<xsd:attribute name="transmitRatio" type="xsd:double"/>
</xsd:complexType>
<xsd:element name="TransmissionPolicy" type="am:TransmissionPolicy">
<xsd:annotation>
<xsd:documentation>Data transmission details for communication (e.g. LabelAccesses)</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType abstract="true" name="Quantity">
<xsd:annotation>
<xsd:documentation>Abstract class for Quantities (value + unit)</xsd:documentation>
</xsd:annotation>
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element ref="xmi:Extension"/>
</xsd:choice>
<xsd:attribute ref="xmi:id"/>
<xsd:attributeGroup ref="xmi:ObjectAttribs"/>
</xsd:complexType>
<xsd:element name="Quantity" type="am:Quantity">
<xsd:annotation>
<xsd:documentation>Abstract class for Quantities (value + unit)</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType abstract="true" name="TimeComparable">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element ref="xmi:Extension"/>
</xsd:choice>
<xsd:attribute ref="xmi:id"/>
<xsd:attributeGroup ref="xmi:ObjectAttribs"/>
</xsd:complexType>
<xsd:element name="TimeComparable" type="am:TimeComparable"/>
<xsd:complexType name="Time">
<xsd:annotation>
<xsd:documentation>General time class to define time value and unit.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:Quantity">
<xsd:attribute name="value" type="xsd:string"/>
<xsd:attribute name="unit" type="am:TimeUnit"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="Time" type="am:Time">
<xsd:annotation>
<xsd:documentation>General time class to define time value and unit.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="Frequency">
<xsd:annotation>
<xsd:documentation>General frequency class to define frequency value and unit</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:Quantity">
<xsd:attribute name="value" type="xsd:string"/>
<xsd:attribute name="unit" type="am:FrequencyUnit"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="Frequency" type="am:Frequency">
<xsd:annotation>
<xsd:documentation>General frequency class to define frequency value and unit</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="Voltage">
<xsd:annotation>
<xsd:documentation>General voltage class to define voltage value and unit</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:Quantity">
<xsd:attribute name="value" type="xsd:double"/>
<xsd:attribute name="unit" type="am:VoltageUnit"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="Voltage" type="am:Voltage">
<xsd:annotation>
<xsd:documentation>General voltage class to define voltage value and unit</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="DataSize">
<xsd:annotation>
<xsd:documentation>General data size class to define size (value and unit)</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:Quantity">
<xsd:attribute name="value" type="xsd:string"/>
<xsd:attribute name="unit" type="am:DataSizeUnit"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="DataSize" type="am:DataSize">
<xsd:annotation>
<xsd:documentation>General data size class to define size (value and unit)</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType abstract="true" name="DataRateComparable">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element ref="xmi:Extension"/>
</xsd:choice>
<xsd:attribute ref="xmi:id"/>
<xsd:attributeGroup ref="xmi:ObjectAttribs"/>
</xsd:complexType>
<xsd:element name="DataRateComparable" type="am:DataRateComparable"/>
<xsd:complexType name="DataRate">
<xsd:annotation>
<xsd:documentation>General data rate class to define rate (value and unit)</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:Quantity">
<xsd:attribute name="value" type="xsd:string"/>
<xsd:attribute name="unit" type="am:DataRateUnit"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="DataRate" type="am:DataRate">
<xsd:annotation>
<xsd:documentation>General data rate class to define rate (value and unit)</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="CustomProperty">
<xsd:annotation>
<xsd:documentation>custom property container for map</xsd:documentation>
</xsd:annotation>
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="value" type="am:Value"/>
<xsd:element ref="xmi:Extension"/>
</xsd:choice>
<xsd:attribute ref="xmi:id"/>
<xsd:attributeGroup ref="xmi:ObjectAttribs"/>
<xsd:attribute name="key" type="xsd:string" use="required"/>
</xsd:complexType>
<xsd:element name="CustomProperty" type="am:CustomProperty">
<xsd:annotation>
<xsd:documentation>custom property container for map</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType abstract="true" name="Value">
<xsd:annotation>
<xsd:documentation>Abstract generalization of a value entry.</xsd:documentation>
</xsd:annotation>
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element ref="xmi:Extension"/>
</xsd:choice>
<xsd:attribute ref="xmi:id"/>
<xsd:attributeGroup ref="xmi:ObjectAttribs"/>
</xsd:complexType>
<xsd:element name="Value" type="am:Value">
<xsd:annotation>
<xsd:documentation>Abstract generalization of a value entry.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="ListObject">
<xsd:complexContent>
<xsd:extension base="am:Value">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="values" type="am:Value"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ListObject" type="am:ListObject"/>
<xsd:complexType name="StringObject">
<xsd:annotation>
<xsd:documentation>Object for using the elementary datatype String as generic parameter</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:Value">
<xsd:attribute name="value" type="xsd:string" use="required"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="StringObject" type="am:StringObject">
<xsd:annotation>
<xsd:documentation>Object for using the elementary datatype String as generic parameter</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="BigIntegerObject">
<xsd:annotation>
<xsd:documentation>Object for using the elementary datatype String as generic parameter</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:Value">
<xsd:attribute name="value" type="xsd:string" use="required"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="BigIntegerObject" type="am:BigIntegerObject">
<xsd:annotation>
<xsd:documentation>Object for using the elementary datatype String as generic parameter</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="ReferenceObject">
<xsd:annotation>
<xsd:documentation>Object for using object reference as generic parameter</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:Value">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="value" type="am:IReferable"/>
</xsd:choice>
<xsd:attribute name="value" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ReferenceObject" type="am:ReferenceObject">
<xsd:annotation>
<xsd:documentation>Object for using object reference as generic parameter</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="IntegerObject">
<xsd:annotation>
<xsd:documentation>Object for using the elementary datatype integer as generic parameter</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:Value">
<xsd:attribute name="value" type="xsd:int" use="required"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="IntegerObject" type="am:IntegerObject">
<xsd:annotation>
<xsd:documentation>Object for using the elementary datatype integer as generic parameter</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="LongObject">
<xsd:annotation>
<xsd:documentation>Object for using the elementary datatype long as generic parameter</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:Value">
<xsd:attribute name="value" type="xsd:long" use="required"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="LongObject" type="am:LongObject">
<xsd:annotation>
<xsd:documentation>Object for using the elementary datatype long as generic parameter</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="FloatObject">
<xsd:annotation>
<xsd:documentation>Object for using the elementary datatype float as generic parameter</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:Value">
<xsd:attribute name="value" type="xsd:float" use="required"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="FloatObject" type="am:FloatObject">
<xsd:annotation>
<xsd:documentation>Object for using the elementary datatype float as generic parameter</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="DoubleObject">
<xsd:annotation>
<xsd:documentation>Object for using the elementary datatype double as generic parameter</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:Value">
<xsd:attribute name="value" type="xsd:double" use="required"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="DoubleObject" type="am:DoubleObject">
<xsd:annotation>
<xsd:documentation>Object for using the elementary datatype double as generic parameter</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="BooleanObject">
<xsd:annotation>
<xsd:documentation>Object for using the elementary datatype boolean as generic parameter</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:Value">
<xsd:attribute name="value" type="xsd:boolean" use="required"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="BooleanObject" type="am:BooleanObject">
<xsd:annotation>
<xsd:documentation>Object for using the elementary datatype boolean as generic parameter</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType abstract="true" name="NumericStatistic">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element ref="xmi:Extension"/>
</xsd:choice>
<xsd:attribute ref="xmi:id"/>
<xsd:attributeGroup ref="xmi:ObjectAttribs"/>
</xsd:complexType>
<xsd:element name="NumericStatistic" type="am:NumericStatistic"/>
<xsd:complexType name="MinAvgMaxStatistic">
<xsd:annotation>
<xsd:documentation>Statistic to provide capabilities for min, max and avg</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:NumericStatistic">
<xsd:attribute name="min" type="xsd:int"/>
<xsd:attribute name="avg" type="xsd:float"/>
<xsd:attribute name="max" type="xsd:int"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="MinAvgMaxStatistic" type="am:MinAvgMaxStatistic">
<xsd:annotation>
<xsd:documentation>Statistic to provide capabilities for min, max and avg</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="SingleValueStatistic">
<xsd:complexContent>
<xsd:extension base="am:NumericStatistic">
<xsd:attribute name="value" type="xsd:float"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="SingleValueStatistic" type="am:SingleValueStatistic"/>
<xsd:complexType abstract="true" name="ITimeDeviation">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element ref="xmi:Extension"/>
</xsd:choice>
<xsd:attribute ref="xmi:id"/>
<xsd:attributeGroup ref="xmi:ObjectAttribs"/>
</xsd:complexType>
<xsd:element name="ITimeDeviation" type="am:ITimeDeviation"/>
<xsd:complexType abstract="true" name="TimeInterval">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="lowerBound" type="am:Time"/>
<xsd:element name="upperBound" type="am:Time"/>
<xsd:element ref="xmi:Extension"/>
</xsd:choice>
<xsd:attribute ref="xmi:id"/>
<xsd:attributeGroup ref="xmi:ObjectAttribs"/>
</xsd:complexType>
<xsd:element name="TimeInterval" type="am:TimeInterval"/>
<xsd:complexType name="TimeConstant">
<xsd:complexContent>
<xsd:extension base="am:ITimeDeviation">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="value" type="am:Time"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="TimeConstant" type="am:TimeConstant"/>
<xsd:complexType name="TimeHistogram">
<xsd:complexContent>
<xsd:extension base="am:ITimeDeviation">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="entries" type="am:TimeHistogramEntry"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="TimeHistogram" type="am:TimeHistogram"/>
<xsd:complexType name="TimeHistogramEntry">
<xsd:complexContent>
<xsd:extension base="am:TimeInterval">
<xsd:attribute name="occurrences" type="xsd:string" use="required"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="TimeHistogramEntry" type="am:TimeHistogramEntry"/>
<xsd:complexType abstract="true" name="BoundedTimeDistribution">
<xsd:complexContent>
<xsd:extension base="am:TimeInterval"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="BoundedTimeDistribution" type="am:BoundedTimeDistribution"/>
<xsd:complexType abstract="true" name="TruncatedTimeDistribution">
<xsd:complexContent>
<xsd:extension base="am:ITimeDeviation">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="lowerBound" type="am:Time"/>
<xsd:element name="upperBound" type="am:Time"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="TruncatedTimeDistribution" type="am:TruncatedTimeDistribution"/>
<xsd:complexType name="TimeBoundaries">
<xsd:annotation>
<xsd:documentation>Defines the upper and lower bounds of a value interval without defining the distribution</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:BoundedTimeDistribution">
<xsd:attribute name="samplingType" type="am:SamplingType"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="TimeBoundaries" type="am:TimeBoundaries">
<xsd:annotation>
<xsd:documentation>Defines the upper and lower bounds of a value interval without defining the distribution</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="TimeStatistics">
<xsd:annotation>
<xsd:documentation>Defines the upper bound, lower bound and mean of a value interval without defining the distribution</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:BoundedTimeDistribution">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="average" type="am:Time"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="TimeStatistics" type="am:TimeStatistics">
<xsd:annotation>
<xsd:documentation>Defines the upper bound, lower bound and mean of a value interval without defining the distribution</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="TimeUniformDistribution">
<xsd:annotation>
<xsd:documentation>Uniform distribution</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:BoundedTimeDistribution"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="TimeUniformDistribution" type="am:TimeUniformDistribution">
<xsd:annotation>
<xsd:documentation>Uniform distribution</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="TimeGaussDistribution">
<xsd:annotation>
<xsd:documentation>Gauss distribution</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:TruncatedTimeDistribution">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="mean" type="am:Time"/>
<xsd:element name="sd" type="am:Time"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="TimeGaussDistribution" type="am:TimeGaussDistribution">
<xsd:annotation>
<xsd:documentation>Gauss distribution</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="TimeWeibullEstimatorsDistribution">
<xsd:annotation>
<xsd:documentation>Weibull Distribution
The parameter of a Weibull distribution (kappa, lambda...) are calculated from the estimators minimum, maximum and average.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:BoundedTimeDistribution">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="average" type="am:Time"/>
</xsd:choice>
<xsd:attribute name="pRemainPromille" type="xsd:string" use="required"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="TimeWeibullEstimatorsDistribution" type="am:TimeWeibullEstimatorsDistribution">
<xsd:annotation>
<xsd:documentation>Weibull Distribution
The parameter of a Weibull distribution (kappa, lambda...) are calculated from the estimators minimum, maximum and average.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="TimeBetaDistribution">
<xsd:annotation>
<xsd:documentation>Beta distribution</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:BoundedTimeDistribution">
<xsd:attribute name="alpha" type="xsd:string" use="required"/>
<xsd:attribute name="beta" type="xsd:string" use="required"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="TimeBetaDistribution" type="am:TimeBetaDistribution">
<xsd:annotation>
<xsd:documentation>Beta distribution</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType abstract="true" name="IDiscreteValueDeviation">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element ref="xmi:Extension"/>
</xsd:choice>
<xsd:attribute ref="xmi:id"/>
<xsd:attributeGroup ref="xmi:ObjectAttribs"/>
</xsd:complexType>
<xsd:element name="IDiscreteValueDeviation" type="am:IDiscreteValueDeviation"/>
<xsd:complexType abstract="true" name="DiscreteValueInterval">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element ref="xmi:Extension"/>
</xsd:choice>
<xsd:attribute ref="xmi:id"/>
<xsd:attributeGroup ref="xmi:ObjectAttribs"/>
<xsd:attribute name="lowerBound" type="xsd:long" use="required"/>
<xsd:attribute name="upperBound" type="xsd:long" use="required"/>
</xsd:complexType>
<xsd:element name="DiscreteValueInterval" type="am:DiscreteValueInterval"/>
<xsd:complexType name="DiscreteValueConstant">
<xsd:complexContent>
<xsd:extension base="am:IDiscreteValueDeviation">
<xsd:attribute name="value" type="xsd:long" use="required"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="DiscreteValueConstant" type="am:DiscreteValueConstant"/>
<xsd:complexType name="DiscreteValueHistogram">
<xsd:complexContent>
<xsd:extension base="am:IDiscreteValueDeviation">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="entries" type="am:DiscreteValueHistogramEntry"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="DiscreteValueHistogram" type="am:DiscreteValueHistogram"/>
<xsd:complexType name="DiscreteValueHistogramEntry">
<xsd:complexContent>
<xsd:extension base="am:DiscreteValueInterval">
<xsd:attribute name="occurrences" type="xsd:string" use="required"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="DiscreteValueHistogramEntry" type="am:DiscreteValueHistogramEntry"/>
<xsd:complexType abstract="true" name="BoundedDiscreteValueDistribution">
<xsd:complexContent>
<xsd:extension base="am:DiscreteValueInterval"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="BoundedDiscreteValueDistribution" type="am:BoundedDiscreteValueDistribution"/>
<xsd:complexType abstract="true" name="TruncatedDiscreteValueDistribution">
<xsd:complexContent>
<xsd:extension base="am:IDiscreteValueDeviation">
<xsd:attribute name="lowerBound" type="xsd:long"/>
<xsd:attribute name="upperBound" type="xsd:long"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="TruncatedDiscreteValueDistribution" type="am:TruncatedDiscreteValueDistribution"/>
<xsd:complexType name="DiscreteValueBoundaries">
<xsd:annotation>
<xsd:documentation>Defines the upper and lower bounds of a value interval without defining the distribution</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:BoundedDiscreteValueDistribution">
<xsd:attribute name="samplingType" type="am:SamplingType"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="DiscreteValueBoundaries" type="am:DiscreteValueBoundaries">
<xsd:annotation>
<xsd:documentation>Defines the upper and lower bounds of a value interval without defining the distribution</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="DiscreteValueStatistics">
<xsd:annotation>
<xsd:documentation>Defines the upper bound, lower bound and mean of a value interval without defining the distribution</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:BoundedDiscreteValueDistribution">
<xsd:attribute name="average" type="xsd:double" use="required"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="DiscreteValueStatistics" type="am:DiscreteValueStatistics">
<xsd:annotation>
<xsd:documentation>Defines the upper bound, lower bound and mean of a value interval without defining the distribution</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="DiscreteValueUniformDistribution">
<xsd:annotation>
<xsd:documentation>Uniform distribution</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:BoundedDiscreteValueDistribution"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="DiscreteValueUniformDistribution" type="am:DiscreteValueUniformDistribution">
<xsd:annotation>
<xsd:documentation>Uniform distribution</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="DiscreteValueGaussDistribution">
<xsd:annotation>
<xsd:documentation>Gauss distribution</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:TruncatedDiscreteValueDistribution">
<xsd:attribute name="mean" type="xsd:double" use="required"/>
<xsd:attribute name="sd" type="xsd:string" use="required"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="DiscreteValueGaussDistribution" type="am:DiscreteValueGaussDistribution">
<xsd:annotation>
<xsd:documentation>Gauss distribution</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="DiscreteValueWeibullEstimatorsDistribution">
<xsd:annotation>
<xsd:documentation>Weibull Distribution
The parameter of a Weibull distribution (kappa, lambda...) are calculated from the estimators minimum, maximum and average.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:BoundedDiscreteValueDistribution">
<xsd:attribute name="average" type="xsd:double" use="required"/>
<xsd:attribute name="pRemainPromille" type="xsd:string" use="required"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="DiscreteValueWeibullEstimatorsDistribution" type="am:DiscreteValueWeibullEstimatorsDistribution">
<xsd:annotation>
<xsd:documentation>Weibull Distribution
The parameter of a Weibull distribution (kappa, lambda...) are calculated from the estimators minimum, maximum and average.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="DiscreteValueBetaDistribution">
<xsd:annotation>
<xsd:documentation>Beta distribution</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:BoundedDiscreteValueDistribution">
<xsd:attribute name="alpha" type="xsd:string" use="required"/>
<xsd:attribute name="beta" type="xsd:string" use="required"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="DiscreteValueBetaDistribution" type="am:DiscreteValueBetaDistribution">
<xsd:annotation>
<xsd:documentation>Beta distribution</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType abstract="true" name="IContinuousValueDeviation">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element ref="xmi:Extension"/>
</xsd:choice>
<xsd:attribute ref="xmi:id"/>
<xsd:attributeGroup ref="xmi:ObjectAttribs"/>
</xsd:complexType>
<xsd:element name="IContinuousValueDeviation" type="am:IContinuousValueDeviation"/>
<xsd:complexType abstract="true" name="ContinuousValueInterval">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element ref="xmi:Extension"/>
</xsd:choice>
<xsd:attribute ref="xmi:id"/>
<xsd:attributeGroup ref="xmi:ObjectAttribs"/>
<xsd:attribute name="lowerBound" type="xsd:double" use="required"/>
<xsd:attribute name="upperBound" type="xsd:double" use="required"/>
</xsd:complexType>
<xsd:element name="ContinuousValueInterval" type="am:ContinuousValueInterval"/>
<xsd:complexType name="ContinuousValueConstant">
<xsd:complexContent>
<xsd:extension base="am:IContinuousValueDeviation">
<xsd:attribute name="value" type="xsd:double" use="required"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ContinuousValueConstant" type="am:ContinuousValueConstant"/>
<xsd:complexType name="ContinuousValueHistogram">
<xsd:complexContent>
<xsd:extension base="am:IContinuousValueDeviation">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="entries" type="am:ContinuousValueHistogramEntry"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ContinuousValueHistogram" type="am:ContinuousValueHistogram"/>
<xsd:complexType name="ContinuousValueHistogramEntry">
<xsd:complexContent>
<xsd:extension base="am:ContinuousValueInterval">
<xsd:attribute name="occurrences" type="xsd:string" use="required"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ContinuousValueHistogramEntry" type="am:ContinuousValueHistogramEntry"/>
<xsd:complexType abstract="true" name="BoundedContinuousValueDistribution">
<xsd:complexContent>
<xsd:extension base="am:ContinuousValueInterval"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="BoundedContinuousValueDistribution" type="am:BoundedContinuousValueDistribution"/>
<xsd:complexType abstract="true" name="TruncatedContinuousValueDistribution">
<xsd:complexContent>
<xsd:extension base="am:IContinuousValueDeviation">
<xsd:attribute name="lowerBound" type="xsd:double"/>
<xsd:attribute name="upperBound" type="xsd:double"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="TruncatedContinuousValueDistribution" type="am:TruncatedContinuousValueDistribution"/>
<xsd:complexType name="ContinuousValueBoundaries">
<xsd:annotation>
<xsd:documentation>Defines the upper and lower bounds of a value interval without defining the distribution</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:BoundedContinuousValueDistribution">
<xsd:attribute name="samplingType" type="am:SamplingType"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ContinuousValueBoundaries" type="am:ContinuousValueBoundaries">
<xsd:annotation>
<xsd:documentation>Defines the upper and lower bounds of a value interval without defining the distribution</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="ContinuousValueStatistics">
<xsd:annotation>
<xsd:documentation>Defines the upper bound, lower bound and mean of a value interval without defining the distribution</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:BoundedContinuousValueDistribution">
<xsd:attribute name="average" type="xsd:double" use="required"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ContinuousValueStatistics" type="am:ContinuousValueStatistics">
<xsd:annotation>
<xsd:documentation>Defines the upper bound, lower bound and mean of a value interval without defining the distribution</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="ContinuousValueUniformDistribution">
<xsd:annotation>
<xsd:documentation>Uniform distribution</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:BoundedContinuousValueDistribution"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ContinuousValueUniformDistribution" type="am:ContinuousValueUniformDistribution">
<xsd:annotation>
<xsd:documentation>Uniform distribution</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="ContinuousValueGaussDistribution">
<xsd:annotation>
<xsd:documentation>Gauss distribution</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:TruncatedContinuousValueDistribution">
<xsd:attribute name="mean" type="xsd:double" use="required"/>
<xsd:attribute name="sd" type="xsd:string" use="required"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ContinuousValueGaussDistribution" type="am:ContinuousValueGaussDistribution">
<xsd:annotation>
<xsd:documentation>Gauss distribution</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="ContinuousValueWeibullEstimatorsDistribution">
<xsd:annotation>
<xsd:documentation>Weibull Distribution
The parameter of a Weibull distribution (kappa, lambda...) are calculated from the estimators minimum, maximum and average.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:BoundedContinuousValueDistribution">
<xsd:attribute name="average" type="xsd:double" use="required"/>
<xsd:attribute name="pRemainPromille" type="xsd:string" use="required"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ContinuousValueWeibullEstimatorsDistribution" type="am:ContinuousValueWeibullEstimatorsDistribution">
<xsd:annotation>
<xsd:documentation>Weibull Distribution
The parameter of a Weibull distribution (kappa, lambda...) are calculated from the estimators minimum, maximum and average.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="ContinuousValueBetaDistribution">
<xsd:annotation>
<xsd:documentation>Beta distribution</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:BoundedContinuousValueDistribution">
<xsd:attribute name="alpha" type="xsd:string" use="required"/>
<xsd:attribute name="beta" type="xsd:string" use="required"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ContinuousValueBetaDistribution" type="am:ContinuousValueBetaDistribution">
<xsd:annotation>
<xsd:documentation>Beta distribution</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType abstract="true" name="Mode">
<xsd:complexContent>
<xsd:extension base="am:ReferableBaseObject"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="Mode" type="am:Mode"/>
<xsd:complexType name="NumericMode">
<xsd:complexContent>
<xsd:extension base="am:Mode"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="NumericMode" type="am:NumericMode"/>
<xsd:complexType name="EnumMode">
<xsd:complexContent>
<xsd:extension base="am:Mode">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="literals" type="am:ModeLiteral"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="EnumMode" type="am:EnumMode"/>
<xsd:complexType name="ModeLiteral">
<xsd:complexContent>
<xsd:extension base="am:ReferableBaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="containingMode" type="am:EnumMode"/>
</xsd:choice>
<xsd:attribute name="containingMode" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ModeLiteral" type="am:ModeLiteral"/>
<xsd:complexType name="ComponentsModel">
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="components" type="am:Component"/>
<xsd:element name="systems" type="am:System"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ComponentsModel" type="am:ComponentsModel"/>
<xsd:complexType abstract="true" name="ISystem">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="componentInstances" type="am:ComponentInstance"/>
<xsd:element name="connectors" type="am:Connector"/>
<xsd:element name="groundedPorts" type="am:QualifiedPort"/>
<xsd:element ref="xmi:Extension"/>
</xsd:choice>
<xsd:attribute ref="xmi:id"/>
<xsd:attributeGroup ref="xmi:ObjectAttribs"/>
</xsd:complexType>
<xsd:element name="ISystem" type="am:ISystem"/>
<xsd:complexType abstract="true" name="Port">
<xsd:complexContent>
<xsd:extension base="am:ReferableBaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="tags" type="am:Tag"/>
<xsd:element name="containingComponent" type="am:Component"/>
</xsd:choice>
<xsd:attribute name="tags" type="xsd:string"/>
<xsd:attribute name="containingComponent" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="Port" type="am:Port"/>
<xsd:complexType name="Component">
<xsd:complexContent>
<xsd:extension base="am:ReferableBaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="tags" type="am:Tag"/>
<xsd:element name="ports" type="am:Port"/>
<xsd:element name="tasks" type="am:AbstractProcess"/>
<xsd:element name="runnables" type="am:Runnable"/>
<xsd:element name="labels" type="am:Label"/>
<xsd:element name="semaphores" type="am:Semaphore"/>
<xsd:element name="osEvents" type="am:OsEvent"/>
</xsd:choice>
<xsd:attribute name="tags" type="xsd:string"/>
<xsd:attribute name="tasks" type="xsd:string"/>
<xsd:attribute name="runnables" type="xsd:string"/>
<xsd:attribute name="labels" type="xsd:string"/>
<xsd:attribute name="semaphores" type="xsd:string"/>
<xsd:attribute name="osEvents" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="Component" type="am:Component"/>
<xsd:complexType name="Composite">
<xsd:complexContent>
<xsd:extension base="am:Component">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="componentInstances" type="am:ComponentInstance"/>
<xsd:element name="connectors" type="am:Connector"/>
<xsd:element name="groundedPorts" type="am:QualifiedPort"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="Composite" type="am:Composite"/>
<xsd:complexType name="System">
<xsd:complexContent>
<xsd:extension base="am:ReferableBaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="tags" type="am:Tag"/>
<xsd:element name="componentInstances" type="am:ComponentInstance"/>
<xsd:element name="connectors" type="am:Connector"/>
<xsd:element name="groundedPorts" type="am:QualifiedPort"/>
</xsd:choice>
<xsd:attribute name="tags" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="System" type="am:System"/>
<xsd:complexType name="ComponentInstance">
<xsd:complexContent>
<xsd:extension base="am:ReferableBaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="tags" type="am:Tag"/>
<xsd:element name="type" type="am:Component"/>
</xsd:choice>
<xsd:attribute name="tags" type="xsd:string"/>
<xsd:attribute name="type" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ComponentInstance" type="am:ComponentInstance"/>
<xsd:complexType name="Connector">
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="tags" type="am:Tag"/>
<xsd:element name="sourcePort" type="am:QualifiedPort"/>
<xsd:element name="targetPort" type="am:QualifiedPort"/>
</xsd:choice>
<xsd:attribute name="name" type="xsd:string"/>
<xsd:attribute name="tags" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="Connector" type="am:Connector"/>
<xsd:complexType name="QualifiedPort">
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="instance" type="am:ComponentInstance"/>
<xsd:element name="port" type="am:Port"/>
</xsd:choice>
<xsd:attribute name="instance" type="xsd:string"/>
<xsd:attribute name="port" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="QualifiedPort" type="am:QualifiedPort"/>
<xsd:complexType name="InterfacePort">
<xsd:complexContent>
<xsd:extension base="am:Port">
<xsd:attribute name="interfaceName" type="xsd:string"/>
<xsd:attribute name="kind" type="am:InterfaceKind"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="InterfacePort" type="am:InterfacePort"/>
<xsd:complexType name="ConfigModel">
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="eventsToTrace" type="am:EventConfig"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ConfigModel" type="am:ConfigModel"/>
<xsd:complexType name="EventConfig">
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="event" type="am:EntityEvent"/>
</xsd:choice>
<xsd:attribute name="name" type="xsd:string"/>
<xsd:attribute name="event" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="EventConfig" type="am:EventConfig"/>
<xsd:complexType name="ConstraintsModel">
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="eventChains" type="am:EventChain"/>
<xsd:element name="timingConstraints" type="am:TimingConstraint"/>
<xsd:element name="affinityConstraints" type="am:AffinityConstraint"/>
<xsd:element name="runnableSequencingConstraints" type="am:RunnableSequencingConstraint"/>
<xsd:element name="dataAgeConstraints" type="am:DataAgeConstraint"/>
<xsd:element name="requirements" type="am:Requirement"/>
<xsd:element name="dataCoherencyGroups" type="am:DataCoherencyGroup"/>
<xsd:element name="dataStabilityGroups" type="am:DataStabilityGroup"/>
<xsd:element name="physicalSectionConstraints" type="am:PhysicalSectionConstraint"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ConstraintsModel" type="am:ConstraintsModel"/>
<xsd:complexType name="RunnableSequencingConstraint">
<xsd:complexContent>
<xsd:extension base="am:ReferableBaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="runnableGroups" type="am:RunnableEntityGroup"/>
<xsd:element name="processScope" type="am:AbstractProcess"/>
</xsd:choice>
<xsd:attribute name="orderType" type="am:RunnableOrderType"/>
<xsd:attribute name="processScope" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="RunnableSequencingConstraint" type="am:RunnableSequencingConstraint"/>
<xsd:complexType abstract="true" name="AffinityConstraint">
<xsd:complexContent>
<xsd:extension base="am:ReferableBaseObject"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="AffinityConstraint" type="am:AffinityConstraint"/>
<xsd:complexType abstract="true" name="SeparationConstraint">
<xsd:annotation>
<xsd:documentation>An abstract superclass for all separation constraints</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:AffinityConstraint"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="SeparationConstraint" type="am:SeparationConstraint">
<xsd:annotation>
<xsd:documentation>An abstract superclass for all separation constraints</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType abstract="true" name="PairingConstraint">
<xsd:annotation>
<xsd:documentation>An abstract superclass for all pairing constraints</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:AffinityConstraint"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="PairingConstraint" type="am:PairingConstraint">
<xsd:annotation>
<xsd:documentation>An abstract superclass for all pairing constraints</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType abstract="true" name="ProcessConstraint">
<xsd:annotation>
<xsd:documentation>An abstract superclass for all process related constraint
The target describes the entity on which the processes can be mapped</xsd:documentation>
</xsd:annotation>
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="target" type="am:ProcessConstraintTarget"/>
<xsd:element ref="xmi:Extension"/>
</xsd:choice>
<xsd:attribute ref="xmi:id"/>
<xsd:attributeGroup ref="xmi:ObjectAttribs"/>
</xsd:complexType>
<xsd:element name="ProcessConstraint" type="am:ProcessConstraint">
<xsd:annotation>
<xsd:documentation>An abstract superclass for all process related constraint
The target describes the entity on which the processes can be mapped</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType abstract="true" name="RunnableConstraint">
<xsd:annotation>
<xsd:documentation>An abstract superclass for all runnable related constraint
The target describes the entity on which the runnables can be mapped</xsd:documentation>
</xsd:annotation>
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="target" type="am:RunnableConstraintTarget"/>
<xsd:element ref="xmi:Extension"/>
</xsd:choice>
<xsd:attribute ref="xmi:id"/>
<xsd:attributeGroup ref="xmi:ObjectAttribs"/>
</xsd:complexType>
<xsd:element name="RunnableConstraint" type="am:RunnableConstraint">
<xsd:annotation>
<xsd:documentation>An abstract superclass for all runnable related constraint
The target describes the entity on which the runnables can be mapped</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType abstract="true" name="DataConstraint">
<xsd:annotation>
<xsd:documentation>An abstract superclass for all data related constraint
The target describes the entity on which the data can be mapped</xsd:documentation>
</xsd:annotation>
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="target" type="am:DataConstraintTarget"/>
<xsd:element ref="xmi:Extension"/>
</xsd:choice>
<xsd:attribute ref="xmi:id"/>
<xsd:attributeGroup ref="xmi:ObjectAttribs"/>
</xsd:complexType>
<xsd:element name="DataConstraint" type="am:DataConstraint">
<xsd:annotation>
<xsd:documentation>An abstract superclass for all data related constraint
The target describes the entity on which the data can be mapped</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="RunnableSeparationConstraint">
<xsd:annotation>
<xsd:documentation>A runnable-separation-constraint
groups describes the runnable-groups that should be separated from each other on the target
if there is only one group then this means that the runnables of this group are not allowed to be executed on the target</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:SeparationConstraint">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="target" type="am:RunnableConstraintTarget"/>
<xsd:element name="groups" type="am:RunnableGroup"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="RunnableSeparationConstraint" type="am:RunnableSeparationConstraint">
<xsd:annotation>
<xsd:documentation>A runnable-separation-constraint
groups describes the runnable-groups that should be separated from each other on the target
if there is only one group then this means that the runnables of this group are not allowed to be executed on the target</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="ProcessSeparationConstraint">
<xsd:annotation>
<xsd:documentation>A process-separation-constraint
groups describes the process-groups that should be separated from each other on the target
if there is only one group then this means that the processes of this group are not allowed to be executed on the target</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:SeparationConstraint">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="target" type="am:ProcessConstraintTarget"/>
<xsd:element name="groups" type="am:ProcessGroup"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ProcessSeparationConstraint" type="am:ProcessSeparationConstraint">
<xsd:annotation>
<xsd:documentation>A process-separation-constraint
groups describes the process-groups that should be separated from each other on the target
if there is only one group then this means that the processes of this group are not allowed to be executed on the target</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="DataSeparationConstraint">
<xsd:annotation>
<xsd:documentation>A data-separation-constraint
groups describes the label-groups that should be separated from each other on the target
if there is only one group then this means that the label of this group is not allowed to be executed on the target</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:SeparationConstraint">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="target" type="am:DataConstraintTarget"/>
<xsd:element name="groups" type="am:LabelEntityGroup"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="DataSeparationConstraint" type="am:DataSeparationConstraint">
<xsd:annotation>
<xsd:documentation>A data-separation-constraint
groups describes the label-groups that should be separated from each other on the target
if there is only one group then this means that the label of this group is not allowed to be executed on the target</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="RunnablePairingConstraint">
<xsd:annotation>
<xsd:documentation>A runnable-pairing-constraint
runnables describes the group of runnables that should be paired on the target</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:PairingConstraint">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="target" type="am:RunnableConstraintTarget"/>
<xsd:element name="group" type="am:RunnableGroup"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="RunnablePairingConstraint" type="am:RunnablePairingConstraint">
<xsd:annotation>
<xsd:documentation>A runnable-pairing-constraint
runnables describes the group of runnables that should be paired on the target</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="ProcessPairingConstraint">
<xsd:annotation>
<xsd:documentation>A process-pairing-constraint
processes describes the group of processes that should be paired on the target</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:PairingConstraint">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="target" type="am:ProcessConstraintTarget"/>
<xsd:element name="group" type="am:ProcessGroup"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ProcessPairingConstraint" type="am:ProcessPairingConstraint">
<xsd:annotation>
<xsd:documentation>A process-pairing-constraint
processes describes the group of processes that should be paired on the target</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="DataPairingConstraint">
<xsd:annotation>
<xsd:documentation>A data-pairing-constraint
labels describes the group of labels that should be paired on the target</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:PairingConstraint">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="target" type="am:DataConstraintTarget"/>
<xsd:element name="group" type="am:LabelGroup"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="DataPairingConstraint" type="am:DataPairingConstraint">
<xsd:annotation>
<xsd:documentation>A data-pairing-constraint
labels describes the group of labels that should be paired on the target</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType abstract="true" name="RunnableConstraintTarget">
<xsd:annotation>
<xsd:documentation>An abstract superclass for all possible targets for runnable-constraints</xsd:documentation>
</xsd:annotation>
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element ref="xmi:Extension"/>
</xsd:choice>
<xsd:attribute ref="xmi:id"/>
<xsd:attributeGroup ref="xmi:ObjectAttribs"/>
</xsd:complexType>
<xsd:element name="RunnableConstraintTarget" type="am:RunnableConstraintTarget">
<xsd:annotation>
<xsd:documentation>An abstract superclass for all possible targets for runnable-constraints</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType abstract="true" name="ProcessConstraintTarget">
<xsd:annotation>
<xsd:documentation>An abstract superclass for all possible targets for process-constraints</xsd:documentation>
</xsd:annotation>
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element ref="xmi:Extension"/>
</xsd:choice>
<xsd:attribute ref="xmi:id"/>
<xsd:attributeGroup ref="xmi:ObjectAttribs"/>
</xsd:complexType>
<xsd:element name="ProcessConstraintTarget" type="am:ProcessConstraintTarget">
<xsd:annotation>
<xsd:documentation>An abstract superclass for all possible targets for process-constraints</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType abstract="true" name="DataConstraintTarget">
<xsd:annotation>
<xsd:documentation>An abstract superclass for all possible targets for data-constraints</xsd:documentation>
</xsd:annotation>
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element ref="xmi:Extension"/>
</xsd:choice>
<xsd:attribute ref="xmi:id"/>
<xsd:attributeGroup ref="xmi:ObjectAttribs"/>
</xsd:complexType>
<xsd:element name="DataConstraintTarget" type="am:DataConstraintTarget">
<xsd:annotation>
<xsd:documentation>An abstract superclass for all possible targets for data-constraints</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="TargetMemory">
<xsd:annotation>
<xsd:documentation>A memory target description
A memory can be a target for data-constraints
memories: the reference to zero or more Memories. If this list is empty, the target stands for all memories!</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:DataConstraintTarget">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="customProperties" type="am:CustomProperty"/>
<xsd:element name="memories" type="am:Memory"/>
</xsd:choice>
<xsd:attribute name="memories" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="TargetMemory" type="am:TargetMemory">
<xsd:annotation>
<xsd:documentation>A memory target description
A memory can be a target for data-constraints
memories: the reference to zero or more Memories. If this list is empty, the target stands for all memories!</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="TargetCore">
<xsd:annotation>
<xsd:documentation>A core target description
A core can be a target for runnable-constraints, process-constraints and scheduler-constraints
cores: the reference to zero or more Cores. If this list is empty, the target stands for all cores!</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:RunnableConstraintTarget">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="customProperties" type="am:CustomProperty"/>
<xsd:element name="cores" type="am:ProcessingUnit"/>
</xsd:choice>
<xsd:attribute name="cores" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="TargetCore" type="am:TargetCore">
<xsd:annotation>
<xsd:documentation>A core target description
A core can be a target for runnable-constraints, process-constraints and scheduler-constraints
cores: the reference to zero or more Cores. If this list is empty, the target stands for all cores!</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="TargetScheduler">
<xsd:annotation>
<xsd:documentation>A scheduler target description
A scheduler can be a target for runnable-constraints and process-constraints
schedulers: the reference to zero or more Schedulers. If this list is empty, the target stands for all schedulers!</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:RunnableConstraintTarget">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="customProperties" type="am:CustomProperty"/>
<xsd:element name="schedulers" type="am:Scheduler"/>
</xsd:choice>
<xsd:attribute name="schedulers" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="TargetScheduler" type="am:TargetScheduler">
<xsd:annotation>
<xsd:documentation>A scheduler target description
A scheduler can be a target for runnable-constraints and process-constraints
schedulers: the reference to zero or more Schedulers. If this list is empty, the target stands for all schedulers!</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType abstract="true" name="LabelGroup">
<xsd:annotation>
<xsd:documentation>An abstract description for a group of labels that can be paired or separated by a runnable-constraint</xsd:documentation>
</xsd:annotation>
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element ref="xmi:Extension"/>
</xsd:choice>
<xsd:attribute ref="xmi:id"/>
<xsd:attributeGroup ref="xmi:ObjectAttribs"/>
</xsd:complexType>
<xsd:element name="LabelGroup" type="am:LabelGroup">
<xsd:annotation>
<xsd:documentation>An abstract description for a group of labels that can be paired or separated by a runnable-constraint</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType abstract="true" name="RunnableGroup">
<xsd:annotation>
<xsd:documentation>An abstract description for a group of runnables that can be paired or separated by a runnable-constraint</xsd:documentation>
</xsd:annotation>
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element ref="xmi:Extension"/>
</xsd:choice>
<xsd:attribute ref="xmi:id"/>
<xsd:attributeGroup ref="xmi:ObjectAttribs"/>
</xsd:complexType>
<xsd:element name="RunnableGroup" type="am:RunnableGroup">
<xsd:annotation>
<xsd:documentation>An abstract description for a group of runnables that can be paired or separated by a runnable-constraint</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType abstract="true" name="ProcessGroup">
<xsd:annotation>
<xsd:documentation>An abstract description for a group of processes that can be paired or separated by a process-constraint</xsd:documentation>
</xsd:annotation>
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element ref="xmi:Extension"/>
</xsd:choice>
<xsd:attribute ref="xmi:id"/>
<xsd:attributeGroup ref="xmi:ObjectAttribs"/>
</xsd:complexType>
<xsd:element name="ProcessGroup" type="am:ProcessGroup">
<xsd:annotation>
<xsd:documentation>An abstract description for a group of processes that can be paired or separated by a process-constraint</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="LabelEntityGroup">
<xsd:annotation>
<xsd:documentation>A group of labels that can be paired or separated by a data-constraint</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:LabelGroup">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="customProperties" type="am:CustomProperty"/>
<xsd:element name="labels" type="am:Label"/>
</xsd:choice>
<xsd:attribute name="labels" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="LabelEntityGroup" type="am:LabelEntityGroup">
<xsd:annotation>
<xsd:documentation>A group of labels that can be paired or separated by a data-constraint</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="RunnableEntityGroup">
<xsd:annotation>
<xsd:documentation>A group of runnables that can be paired or separated by a runnable-constraint</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:RunnableGroup">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="customProperties" type="am:CustomProperty"/>
<xsd:element name="runnables" type="am:Runnable"/>
</xsd:choice>
<xsd:attribute name="runnables" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="RunnableEntityGroup" type="am:RunnableEntityGroup">
<xsd:annotation>
<xsd:documentation>A group of runnables that can be paired or separated by a runnable-constraint</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="ProcessEntityGroup">
<xsd:annotation>
<xsd:documentation>A group of processes that can be paired or separated by a process-constraint</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:ProcessGroup">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="customProperties" type="am:CustomProperty"/>
<xsd:element name="processes" type="am:Process"/>
</xsd:choice>
<xsd:attribute name="processes" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ProcessEntityGroup" type="am:ProcessEntityGroup">
<xsd:annotation>
<xsd:documentation>A group of processes that can be paired or separated by a process-constraint</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="TagGroup">
<xsd:annotation>
<xsd:documentation>A group that contains only a tag and groups all objects that are marked with this tag
This can be runnables or processes</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:RunnableGroup">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="customProperties" type="am:CustomProperty"/>
<xsd:element name="tag" type="am:Tag"/>
</xsd:choice>
<xsd:attribute name="tag" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="TagGroup" type="am:TagGroup">
<xsd:annotation>
<xsd:documentation>A group that contains only a tag and groups all objects that are marked with this tag
This can be runnables or processes</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType abstract="true" name="AbstractEventChain">
<xsd:annotation>
<xsd:documentation>Describes an event chain which must have a minimum of two events (stimulus and response)
If there are more events the event chain have to be divided into segments. Each segment is another event chain.
Alternative event paths are contained in strands.
stimulus: Beginning of chain
response: End of chain
segments: Sub event chains
strands: alternative event paths</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="stimulus" type="am:Event"/>
<xsd:element name="response" type="am:Event"/>
<xsd:element name="items" type="am:EventChainItem"/>
</xsd:choice>
<xsd:attribute name="name" type="xsd:string"/>
<xsd:attribute name="itemType" type="am:EventChainItemType"/>
<xsd:attribute name="minItemsCompleted" type="xsd:string"/>
<xsd:attribute name="stimulus" type="xsd:string"/>
<xsd:attribute name="response" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="AbstractEventChain" type="am:AbstractEventChain">
<xsd:annotation>
<xsd:documentation>Describes an event chain which must have a minimum of two events (stimulus and response)
If there are more events the event chain have to be divided into segments. Each segment is another event chain.
Alternative event paths are contained in strands.
stimulus: Beginning of chain
response: End of chain
segments: Sub event chains
strands: alternative event paths</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="EventChain">
<xsd:complexContent>
<xsd:extension base="am:AbstractEventChain"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="EventChain" type="am:EventChain"/>
<xsd:complexType name="SubEventChain">
<xsd:complexContent>
<xsd:extension base="am:AbstractEventChain"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="SubEventChain" type="am:SubEventChain"/>
<xsd:complexType abstract="true" name="EventChainItem">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element ref="xmi:Extension"/>
</xsd:choice>
<xsd:attribute ref="xmi:id"/>
<xsd:attributeGroup ref="xmi:ObjectAttribs"/>
</xsd:complexType>
<xsd:element name="EventChainItem" type="am:EventChainItem"/>
<xsd:complexType name="EventChainReference">
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="eventChain" type="am:EventChain"/>
</xsd:choice>
<xsd:attribute name="eventChain" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="EventChainReference" type="am:EventChainReference"/>
<xsd:complexType name="EventChainContainer">
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="eventChain" type="am:SubEventChain"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="EventChainContainer" type="am:EventChainContainer"/>
<xsd:complexType abstract="true" name="TimingConstraint">
<xsd:complexContent>
<xsd:extension base="am:ReferableBaseObject"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="TimingConstraint" type="am:TimingConstraint"/>
<xsd:complexType name="PhysicalSectionConstraint">
<xsd:annotation>
<xsd:documentation>This contraints is used to limit a section in Memories</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:ReferableBaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="section" type="am:Section"/>
<xsd:element name="memories" type="am:Memory"/>
</xsd:choice>
<xsd:attribute name="section" type="xsd:string"/>
<xsd:attribute name="memories" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="PhysicalSectionConstraint" type="am:PhysicalSectionConstraint">
<xsd:annotation>
<xsd:documentation>This contraints is used to limit a section in Memories</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType abstract="true" name="SynchronizationConstraint">
<xsd:annotation>
<xsd:documentation>Base class for synchronization constraints, which limit the distance between events
multipleOccurrencesAllowed: Defines whether multiple event occurrences are allowed for analysis
tolerance: Maximum allowed tolerance</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:TimingConstraint">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="tolerance" type="am:Time"/>
</xsd:choice>
<xsd:attribute name="multipleOccurrencesAllowed" type="xsd:boolean"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="SynchronizationConstraint" type="am:SynchronizationConstraint">
<xsd:annotation>
<xsd:documentation>Base class for synchronization constraints, which limit the distance between events
multipleOccurrencesAllowed: Defines whether multiple event occurrences are allowed for analysis
tolerance: Maximum allowed tolerance</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="EventSynchronizationConstraint">
<xsd:annotation>
<xsd:documentation>The synchronization constraint considers a group of events and limits the distance of the events within this group.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:SynchronizationConstraint">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="events" type="am:EntityEvent"/>
</xsd:choice>
<xsd:attribute name="events" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="EventSynchronizationConstraint" type="am:EventSynchronizationConstraint">
<xsd:annotation>
<xsd:documentation>The synchronization constraint considers a group of events and limits the distance of the events within this group.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="EventChainSynchronizationConstraint">
<xsd:annotation>
<xsd:documentation>A synchronization constraint describes the allowed tolerance in synchronization between two event chains
scope: Considered event chains that have to by in sync
type: Defines which parts of the event chains have to be in sync</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:SynchronizationConstraint">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="scope" type="am:EventChain"/>
</xsd:choice>
<xsd:attribute name="type" type="am:SynchronizationType"/>
<xsd:attribute name="scope" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="EventChainSynchronizationConstraint" type="am:EventChainSynchronizationConstraint">
<xsd:annotation>
<xsd:documentation>A synchronization constraint describes the allowed tolerance in synchronization between two event chains
scope: Considered event chains that have to by in sync
type: Defines which parts of the event chains have to be in sync</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="DelayConstraint">
<xsd:annotation>
<xsd:documentation>This constraint describes how a source and a target event are placed relative to each other</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:TimingConstraint">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="source" type="am:EntityEvent"/>
<xsd:element name="target" type="am:EntityEvent"/>
<xsd:element name="upper" type="am:Time"/>
<xsd:element name="lower" type="am:Time"/>
</xsd:choice>
<xsd:attribute name="mappingType" type="am:MappingType"/>
<xsd:attribute name="source" type="xsd:string"/>
<xsd:attribute name="target" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="DelayConstraint" type="am:DelayConstraint">
<xsd:annotation>
<xsd:documentation>This constraint describes how a source and a target event are placed relative to each other</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="EventChainLatencyConstraint">
<xsd:annotation>
<xsd:documentation>A latency constraint describes the allowed range in latency between a stimulus and its response.
scope: Considered event chain that defines the stimulus and response relation
type: Defines the point of view (forward or backward)
minimum: Minimum allowed latency
maximum: Maximum allowed latency</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:TimingConstraint">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="scope" type="am:EventChain"/>
<xsd:element name="minimum" type="am:Time"/>
<xsd:element name="maximum" type="am:Time"/>
</xsd:choice>
<xsd:attribute name="type" type="am:LatencyType"/>
<xsd:attribute name="scope" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="EventChainLatencyConstraint" type="am:EventChainLatencyConstraint">
<xsd:annotation>
<xsd:documentation>A latency constraint describes the allowed range in latency between a stimulus and its response.
scope: Considered event chain that defines the stimulus and response relation
type: Defines the point of view (forward or backward)
minimum: Minimum allowed latency
maximum: Maximum allowed latency</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="RepetitionConstraint">
<xsd:annotation>
<xsd:documentation>A repetition constraint prescribes the distribution of a single event during runtime.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:TimingConstraint">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="event" type="am:EntityEvent"/>
<xsd:element name="lower" type="am:Time"/>
<xsd:element name="upper" type="am:Time"/>
<xsd:element name="jitter" type="am:Time"/>
<xsd:element name="period" type="am:Time"/>
</xsd:choice>
<xsd:attribute name="span" type="xsd:int"/>
<xsd:attribute name="event" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="RepetitionConstraint" type="am:RepetitionConstraint">
<xsd:annotation>
<xsd:documentation>A repetition constraint prescribes the distribution of a single event during runtime.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="DataAgeConstraint">
<xsd:complexContent>
<xsd:extension base="am:ReferableBaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="runnable" type="am:Runnable"/>
<xsd:element name="label" type="am:Label"/>
<xsd:element name="dataAge" type="am:DataAge"/>
</xsd:choice>
<xsd:attribute name="runnable" type="xsd:string"/>
<xsd:attribute name="label" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="DataAgeConstraint" type="am:DataAgeConstraint"/>
<xsd:complexType abstract="true" name="DataAge">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element ref="xmi:Extension"/>
</xsd:choice>
<xsd:attribute ref="xmi:id"/>
<xsd:attributeGroup ref="xmi:ObjectAttribs"/>
</xsd:complexType>
<xsd:element name="DataAge" type="am:DataAge"/>
<xsd:complexType name="DataAgeCycle">
<xsd:complexContent>
<xsd:extension base="am:DataAge">
<xsd:attribute name="minimumCycle" type="xsd:int"/>
<xsd:attribute name="maximumCycle" type="xsd:int"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="DataAgeCycle" type="am:DataAgeCycle"/>
<xsd:complexType name="DataAgeTime">
<xsd:complexContent>
<xsd:extension base="am:DataAge">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="minimumTime" type="am:Time"/>
<xsd:element name="maximumTime" type="am:Time"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="DataAgeTime" type="am:DataAgeTime"/>
<xsd:complexType abstract="true" name="Requirement">
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="limit" type="am:RequirementLimit"/>
</xsd:choice>
<xsd:attribute name="name" type="xsd:string"/>
<xsd:attribute name="severity" type="am:Severity"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="Requirement" type="am:Requirement"/>
<xsd:complexType name="ProcessRequirement">
<xsd:complexContent>
<xsd:extension base="am:Requirement">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="process" type="am:AbstractProcess"/>
</xsd:choice>
<xsd:attribute name="process" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ProcessRequirement" type="am:ProcessRequirement"/>
<xsd:complexType name="RunnableRequirement">
<xsd:complexContent>
<xsd:extension base="am:Requirement">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="runnable" type="am:Runnable"/>
</xsd:choice>
<xsd:attribute name="runnable" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="RunnableRequirement" type="am:RunnableRequirement"/>
<xsd:complexType name="ArchitectureRequirement">
<xsd:complexContent>
<xsd:extension base="am:Requirement">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="component" type="am:Component"/>
</xsd:choice>
<xsd:attribute name="component" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ArchitectureRequirement" type="am:ArchitectureRequirement"/>
<xsd:complexType name="ProcessChainRequirement">
<xsd:complexContent>
<xsd:extension base="am:Requirement">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="processChain" type="am:ProcessChain"/>
</xsd:choice>
<xsd:attribute name="processChain" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ProcessChainRequirement" type="am:ProcessChainRequirement"/>
<xsd:complexType abstract="true" name="RequirementLimit">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element ref="xmi:Extension"/>
</xsd:choice>
<xsd:attribute ref="xmi:id"/>
<xsd:attributeGroup ref="xmi:ObjectAttribs"/>
<xsd:attribute name="limitType" type="am:LimitType"/>
</xsd:complexType>
<xsd:element name="RequirementLimit" type="am:RequirementLimit"/>
<xsd:complexType name="CPUPercentageRequirementLimit">
<xsd:complexContent>
<xsd:extension base="am:RequirementLimit">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="hardwareContext" type="am:ProcessingUnit"/>
</xsd:choice>
<xsd:attribute name="metric" type="am:CPUPercentageMetric"/>
<xsd:attribute name="limitValue" type="xsd:double"/>
<xsd:attribute name="hardwareContext" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="CPUPercentageRequirementLimit" type="am:CPUPercentageRequirementLimit"/>
<xsd:complexType name="FrequencyRequirementLimit">
<xsd:complexContent>
<xsd:extension base="am:RequirementLimit">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="limitValue" type="am:Frequency"/>
</xsd:choice>
<xsd:attribute name="metric" type="am:FrequencyMetric"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="FrequencyRequirementLimit" type="am:FrequencyRequirementLimit"/>
<xsd:complexType name="PercentageRequirementLimit">
<xsd:complexContent>
<xsd:extension base="am:RequirementLimit">
<xsd:attribute name="metric" type="am:PercentageMetric"/>
<xsd:attribute name="limitValue" type="xsd:double"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="PercentageRequirementLimit" type="am:PercentageRequirementLimit"/>
<xsd:complexType name="CountRequirementLimit">
<xsd:complexContent>
<xsd:extension base="am:RequirementLimit">
<xsd:attribute name="metric" type="am:CountMetric"/>
<xsd:attribute name="limitValue" type="xsd:int"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="CountRequirementLimit" type="am:CountRequirementLimit"/>
<xsd:complexType name="TimeRequirementLimit">
<xsd:complexContent>
<xsd:extension base="am:RequirementLimit">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="limitValue" type="am:Time"/>
</xsd:choice>
<xsd:attribute name="metric" type="am:TimeMetric"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="TimeRequirementLimit" type="am:TimeRequirementLimit"/>
<xsd:complexType name="DataCoherencyGroup">
<xsd:complexContent>
<xsd:extension base="am:ReferableBaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="labels" type="am:Label"/>
<xsd:element name="scope" type="am:DataGroupScope"/>
</xsd:choice>
<xsd:attribute name="direction" type="am:CoherencyDirection"/>
<xsd:attribute name="labels" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="DataCoherencyGroup" type="am:DataCoherencyGroup"/>
<xsd:complexType name="DataStabilityGroup">
<xsd:complexContent>
<xsd:extension base="am:ReferableBaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="labels" type="am:Label"/>
<xsd:element name="scope" type="am:DataGroupScope"/>
</xsd:choice>
<xsd:attribute name="labels" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="DataStabilityGroup" type="am:DataStabilityGroup"/>
<xsd:complexType abstract="true" name="DataGroupScope">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element ref="xmi:Extension"/>
</xsd:choice>
<xsd:attribute ref="xmi:id"/>
<xsd:attributeGroup ref="xmi:ObjectAttribs"/>
</xsd:complexType>
<xsd:element name="DataGroupScope" type="am:DataGroupScope"/>
<xsd:complexType name="ProcessScope">
<xsd:complexContent>
<xsd:extension base="am:DataGroupScope">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="process" type="am:AbstractProcess"/>
</xsd:choice>
<xsd:attribute name="process" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ProcessScope" type="am:ProcessScope"/>
<xsd:complexType name="RunnableScope">
<xsd:complexContent>
<xsd:extension base="am:DataGroupScope">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="runnable" type="am:Runnable"/>
</xsd:choice>
<xsd:attribute name="runnable" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="RunnableScope" type="am:RunnableScope"/>
<xsd:complexType name="ComponentScope">
<xsd:complexContent>
<xsd:extension base="am:DataGroupScope">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="component" type="am:Component"/>
</xsd:choice>
<xsd:attribute name="component" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ComponentScope" type="am:ComponentScope"/>
<xsd:complexType name="EventModel">
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="events" type="am:Event"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="EventModel" type="am:EventModel"/>
<xsd:complexType abstract="true" name="Event">
<xsd:annotation>
<xsd:documentation>An abstract event</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:ReferableBaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="tags" type="am:Tag"/>
</xsd:choice>
<xsd:attribute name="tags" type="xsd:string"/>
<xsd:attribute name="description" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="Event" type="am:Event">
<xsd:annotation>
<xsd:documentation>An abstract event</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="EventSet">
<xsd:annotation>
<xsd:documentation>A set of entity-events</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:Event">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="events" type="am:EntityEvent"/>
</xsd:choice>
<xsd:attribute name="events" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="EventSet" type="am:EventSet">
<xsd:annotation>
<xsd:documentation>A set of entity-events</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType abstract="true" name="EntityEvent">
<xsd:annotation>
<xsd:documentation>An abstract event that describes the notification of a changed state of an entity</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:Event"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="EntityEvent" type="am:EntityEvent">
<xsd:annotation>
<xsd:documentation>An abstract event that describes the notification of a changed state of an entity</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType abstract="true" name="TriggerEvent">
<xsd:annotation>
<xsd:documentation>Defines Events to be used in Stimuli as trigger.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:EntityEvent"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="TriggerEvent" type="am:TriggerEvent">
<xsd:annotation>
<xsd:documentation>Defines Events to be used in Stimuli as trigger.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="CustomEvent">
<xsd:complexContent>
<xsd:extension base="am:TriggerEvent">
<xsd:attribute name="eventType" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="CustomEvent" type="am:CustomEvent"/>
<xsd:complexType name="StimulusEvent">
<xsd:annotation>
<xsd:documentation>Describes the event of a stimulus.
It contains only the stimulus but no event type because a stimulus has only one event type.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:EntityEvent">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="entity" type="am:Stimulus"/>
</xsd:choice>
<xsd:attribute name="entity" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="StimulusEvent" type="am:StimulusEvent">
<xsd:annotation>
<xsd:documentation>Describes the event of a stimulus.
It contains only the stimulus but no event type because a stimulus has only one event type.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="ProcessEvent">
<xsd:annotation>
<xsd:documentation>Describes the event of a process
eventType: The type of the Event
entity: The process that fires the event (optional)
processingUnit: The processing unit that executes the process when the event is fired (optional)</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:EntityEvent">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="entity" type="am:Process"/>
<xsd:element name="processingUnit" type="am:ProcessingUnit"/>
</xsd:choice>
<xsd:attribute name="eventType" type="am:ProcessEventType"/>
<xsd:attribute name="entity" type="xsd:string"/>
<xsd:attribute name="processingUnit" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ProcessEvent" type="am:ProcessEvent">
<xsd:annotation>
<xsd:documentation>Describes the event of a process
eventType: The type of the Event
entity: The process that fires the event (optional)
processingUnit: The processing unit that executes the process when the event is fired (optional)</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="ProcessChainEvent">
<xsd:annotation>
<xsd:documentation>Describes the event of some process within a process chain
eventType: The type of the Event
entity: The process that fires the event (optional)
processingUnit: The processing unit that executes the process when the event is fired (optional)</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:EntityEvent">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="entity" type="am:ProcessChain"/>
<xsd:element name="processingUnit" type="am:ProcessingUnit"/>
</xsd:choice>
<xsd:attribute name="eventType" type="am:ProcessEventType"/>
<xsd:attribute name="entity" type="xsd:string"/>
<xsd:attribute name="processingUnit" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ProcessChainEvent" type="am:ProcessChainEvent">
<xsd:annotation>
<xsd:documentation>Describes the event of some process within a process chain
eventType: The type of the Event
entity: The process that fires the event (optional)
processingUnit: The processing unit that executes the process when the event is fired (optional)</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="RunnableEvent">
<xsd:annotation>
<xsd:documentation>Describes the event of a runnable
eventType: The type of event
entity: The runnable that fires the event (optional)
process: The process that executes the runnable (optional)
processingUnit: The processing unit that executes the runnable (executes the process that calls the runnable) (optional)</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:TriggerEvent">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="entity" type="am:Runnable"/>
<xsd:element name="process" type="am:Process"/>
<xsd:element name="processingUnit" type="am:ProcessingUnit"/>
</xsd:choice>
<xsd:attribute name="eventType" type="am:RunnableEventType"/>
<xsd:attribute name="entity" type="xsd:string"/>
<xsd:attribute name="process" type="xsd:string"/>
<xsd:attribute name="processingUnit" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="RunnableEvent" type="am:RunnableEvent">
<xsd:annotation>
<xsd:documentation>Describes the event of a runnable
eventType: The type of event
entity: The runnable that fires the event (optional)
process: The process that executes the runnable (optional)
processingUnit: The processing unit that executes the runnable (executes the process that calls the runnable) (optional)</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="LabelEvent">
<xsd:annotation>
<xsd:documentation>Describes the event of a label access
eventType: The type of event
entity: The accessed label that fires the event (optional)
runnable: The runnable that accesses the label (optional)
process: The process that accesses the label (optional)</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:TriggerEvent">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="entity" type="am:Label"/>
<xsd:element name="runnable" type="am:Runnable"/>
<xsd:element name="process" type="am:Process"/>
</xsd:choice>
<xsd:attribute name="eventType" type="am:LabelEventType"/>
<xsd:attribute name="entity" type="xsd:string"/>
<xsd:attribute name="runnable" type="xsd:string"/>
<xsd:attribute name="process" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="LabelEvent" type="am:LabelEvent">
<xsd:annotation>
<xsd:documentation>Describes the event of a label access
eventType: The type of event
entity: The accessed label that fires the event (optional)
runnable: The runnable that accesses the label (optional)
process: The process that accesses the label (optional)</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="ChannelEvent">
<xsd:annotation>
<xsd:documentation>Describes the event of a channel access
eventType: The type of event
entity: The accessed channel that fires the event (optional)
runnable: The runnable that accesses the label (optional)
process: The process that accesses the label (optional)</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:TriggerEvent">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="entity" type="am:Channel"/>
<xsd:element name="runnable" type="am:Runnable"/>
<xsd:element name="process" type="am:Process"/>
</xsd:choice>
<xsd:attribute name="eventType" type="am:ChannelEventType"/>
<xsd:attribute name="entity" type="xsd:string"/>
<xsd:attribute name="runnable" type="xsd:string"/>
<xsd:attribute name="process" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ChannelEvent" type="am:ChannelEvent">
<xsd:annotation>
<xsd:documentation>Describes the event of a channel access
eventType: The type of event
entity: The accessed channel that fires the event (optional)
runnable: The runnable that accesses the label (optional)
process: The process that accesses the label (optional)</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="SemaphoreEvent">
<xsd:annotation>
<xsd:documentation>Describes the event of a semaphore access
eventType: The type of event
entity: The accessed semaphore that fires the event (optional)
runnable: The runnable that accesses the semaphore (optional)
process: The process that accesses the semaphore (optional)
processingUnit: The processing unit that executes the process/runnable that accesses the semaphore (optional)</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:EntityEvent">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="entity" type="am:Semaphore"/>
<xsd:element name="runnable" type="am:Runnable"/>
<xsd:element name="process" type="am:Process"/>
<xsd:element name="processingUnit" type="am:ProcessingUnit"/>
</xsd:choice>
<xsd:attribute name="eventType" type="am:SemaphoreEventType"/>
<xsd:attribute name="entity" type="xsd:string"/>
<xsd:attribute name="runnable" type="xsd:string"/>
<xsd:attribute name="process" type="xsd:string"/>
<xsd:attribute name="processingUnit" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="SemaphoreEvent" type="am:SemaphoreEvent">
<xsd:annotation>
<xsd:documentation>Describes the event of a semaphore access
eventType: The type of event
entity: The accessed semaphore that fires the event (optional)
runnable: The runnable that accesses the semaphore (optional)
process: The process that accesses the semaphore (optional)
processingUnit: The processing unit that executes the process/runnable that accesses the semaphore (optional)</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="ComponentEvent">
<xsd:annotation>
<xsd:documentation>Describes the event of a component
eventType: The type of event
entity: The component that fires the event (optional)</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:EntityEvent">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="entity" type="am:Component"/>
</xsd:choice>
<xsd:attribute name="eventType" type="am:ComponentEventType"/>
<xsd:attribute name="entity" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ComponentEvent" type="am:ComponentEvent">
<xsd:annotation>
<xsd:documentation>Describes the event of a component
eventType: The type of event
entity: The component that fires the event (optional)</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="HWModel">
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="definitions" type="am:HwDefinition"/>
<xsd:element name="featureCategories" type="am:HwFeatureCategory"/>
<xsd:element name="structures" type="am:HwStructure"/>
<xsd:element name="domains" type="am:HwDomain"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="HWModel" type="am:HWModel"/>
<xsd:complexType name="HwStructure">
<xsd:complexContent>
<xsd:extension base="am:ReferableBaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="tags" type="am:Tag"/>
<xsd:element name="ports" type="am:HwPort"/>
<xsd:element name="structures" type="am:HwStructure"/>
<xsd:element name="modules" type="am:HwModule"/>
<xsd:element name="connections" type="am:HwConnection"/>
</xsd:choice>
<xsd:attribute name="tags" type="xsd:string"/>
<xsd:attribute name="structureType" type="am:StructureType"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="HwStructure" type="am:HwStructure"/>
<xsd:complexType abstract="true" name="HwModule">
<xsd:complexContent>
<xsd:extension base="am:ReferableBaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="tags" type="am:Tag"/>
<xsd:element name="ports" type="am:HwPort"/>
<xsd:element name="powerDomain" type="am:PowerDomain"/>
<xsd:element name="frequencyDomain" type="am:FrequencyDomain"/>
</xsd:choice>
<xsd:attribute name="tags" type="xsd:string"/>
<xsd:attribute name="powerDomain" type="xsd:string"/>
<xsd:attribute name="frequencyDomain" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="HwModule" type="am:HwModule"/>
<xsd:complexType abstract="true" name="HwDomain">
<xsd:complexContent>
<xsd:extension base="am:ReferableBaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="tags" type="am:Tag"/>
</xsd:choice>
<xsd:attribute name="tags" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="HwDomain" type="am:HwDomain"/>
<xsd:complexType name="FrequencyDomain">
<xsd:complexContent>
<xsd:extension base="am:HwDomain">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="defaultValue" type="am:Frequency"/>
</xsd:choice>
<xsd:attribute name="clockGating" type="xsd:boolean"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="FrequencyDomain" type="am:FrequencyDomain"/>
<xsd:complexType name="PowerDomain">
<xsd:complexContent>
<xsd:extension base="am:HwDomain">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="defaultValue" type="am:Voltage"/>
</xsd:choice>
<xsd:attribute name="powerGating" type="xsd:boolean"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="PowerDomain" type="am:PowerDomain"/>
<xsd:complexType name="ProcessingUnit">
<xsd:complexContent>
<xsd:extension base="am:HwModule">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="definition" type="am:ProcessingUnitDefinition"/>
<xsd:element name="accessElements" type="am:HwAccessElement"/>
<xsd:element name="caches" type="am:Cache"/>
</xsd:choice>
<xsd:attribute name="definition" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ProcessingUnit" type="am:ProcessingUnit"/>
<xsd:complexType name="Memory">
<xsd:complexContent>
<xsd:extension base="am:HwModule">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="definition" type="am:MemoryDefinition"/>
</xsd:choice>
<xsd:attribute name="definition" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="Memory" type="am:Memory"/>
<xsd:complexType name="Cache">
<xsd:complexContent>
<xsd:extension base="am:HwModule">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="definition" type="am:CacheDefinition"/>
</xsd:choice>
<xsd:attribute name="definition" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="Cache" type="am:Cache"/>
<xsd:complexType name="HwFeatureCategory">
<xsd:complexContent>
<xsd:extension base="am:ReferableBaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="features" type="am:HwFeature"/>
</xsd:choice>
<xsd:attribute name="description" type="xsd:string"/>
<xsd:attribute name="featureType" type="am:HwFeatureType"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="HwFeatureCategory" type="am:HwFeatureCategory"/>
<xsd:complexType name="HwFeature">
<xsd:complexContent>
<xsd:extension base="am:ReferableBaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="containingCategory" type="am:HwFeatureCategory"/>
</xsd:choice>
<xsd:attribute name="value" type="xsd:double"/>
<xsd:attribute name="containingCategory" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="HwFeature" type="am:HwFeature"/>
<xsd:complexType name="HwPort">
<xsd:complexContent>
<xsd:extension base="am:ReferableBaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="tags" type="am:Tag"/>
</xsd:choice>
<xsd:attribute name="tags" type="xsd:string"/>
<xsd:attribute name="bitWidth" type="xsd:int"/>
<xsd:attribute name="priority" type="xsd:int"/>
<xsd:attribute name="portType" type="am:PortType"/>
<xsd:attribute name="portInterface" type="am:PortInterface"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="HwPort" type="am:HwPort"/>
<xsd:complexType name="ConnectionHandler">
<xsd:complexContent>
<xsd:extension base="am:HwModule">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="definition" type="am:ConnectionHandlerDefinition"/>
<xsd:element name="internalConnections" type="am:HwConnection"/>
</xsd:choice>
<xsd:attribute name="definition" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ConnectionHandler" type="am:ConnectionHandler"/>
<xsd:complexType name="HwConnection">
<xsd:complexContent>
<xsd:extension base="am:ReferableBaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="tags" type="am:Tag"/>
<xsd:element name="readLatency" type="am:IDiscreteValueDeviation">
<xsd:annotation>
<xsd:documentation>
<p>
<b>Read latency [cycles]</b>
</p>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="writeLatency" type="am:IDiscreteValueDeviation">
<xsd:annotation>
<xsd:documentation>
<p>
<b>Write latency [cycles]</b>
</p>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="dataRate" type="am:DataRate"/>
<xsd:element name="port1" type="am:HwPort"/>
<xsd:element name="port2" type="am:HwPort"/>
</xsd:choice>
<xsd:attribute name="tags" type="xsd:string"/>
<xsd:attribute name="port1" type="xsd:string"/>
<xsd:attribute name="port2" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="HwConnection" type="am:HwConnection"/>
<xsd:complexType name="HwAccessElement">
<xsd:complexContent>
<xsd:extension base="am:ITaggable">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="source" type="am:ProcessingUnit"/>
<xsd:element name="destination" type="am:HwDestination"/>
<xsd:element name="accessPath" type="am:HwAccessPath"/>
<xsd:element name="readLatency" type="am:IDiscreteValueDeviation">
<xsd:annotation>
<xsd:documentation>
<p>
<b>Read latency [cycles]</b>
</p>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="writeLatency" type="am:IDiscreteValueDeviation">
<xsd:annotation>
<xsd:documentation>
<p>
<b>Write latency [cycles]</b>
</p>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="dataRate" type="am:DataRate"/>
</xsd:choice>
<xsd:attribute name="name" type="xsd:string"/>
<xsd:attribute name="source" type="xsd:string"/>
<xsd:attribute name="destination" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="HwAccessElement" type="am:HwAccessElement"/>
<xsd:complexType abstract="true" name="HwDefinition">
<xsd:complexContent>
<xsd:extension base="am:ReferableBaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="tags" type="am:Tag"/>
</xsd:choice>
<xsd:attribute name="tags" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="HwDefinition" type="am:HwDefinition"/>
<xsd:complexType name="ProcessingUnitDefinition">
<xsd:complexContent>
<xsd:extension base="am:HwDefinition">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="features" type="am:HwFeature"/>
<xsd:element name="classifiers" type="am:CoreClassifier"/>
</xsd:choice>
<xsd:attribute name="puType" type="am:PuType"/>
<xsd:attribute name="features" type="xsd:string"/>
<xsd:attribute name="classifiers" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ProcessingUnitDefinition" type="am:ProcessingUnitDefinition"/>
<xsd:complexType name="ConnectionHandlerDefinition">
<xsd:complexContent>
<xsd:extension base="am:HwDefinition">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="readLatency" type="am:IDiscreteValueDeviation">
<xsd:annotation>
<xsd:documentation>
<p>
<b>Read latency [cycles]</b>
</p>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="writeLatency" type="am:IDiscreteValueDeviation">
<xsd:annotation>
<xsd:documentation>
<p>
<b>Write latency [cycles]</b>
</p>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="dataRate" type="am:DataRate"/>
</xsd:choice>
<xsd:attribute name="policy" type="am:SchedPolicy"/>
<xsd:attribute name="maxBurstSize" type="xsd:string"/>
<xsd:attribute name="maxConcurrentTransfers" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ConnectionHandlerDefinition" type="am:ConnectionHandlerDefinition"/>
<xsd:complexType name="MemoryDefinition">
<xsd:complexContent>
<xsd:extension base="am:HwDefinition">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="size" type="am:DataSize"/>
<xsd:element name="accessLatency" type="am:IDiscreteValueDeviation">
<xsd:annotation>
<xsd:documentation>
<p>
<b>Access latency [cycles]</b>
</p>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="dataRate" type="am:DataRate"/>
<xsd:element name="classifiers" type="am:MemoryClassifier"/>
</xsd:choice>
<xsd:attribute name="memoryType" type="am:MemoryType"/>
<xsd:attribute name="classifiers" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="MemoryDefinition" type="am:MemoryDefinition"/>
<xsd:complexType name="CacheDefinition">
<xsd:complexContent>
<xsd:extension base="am:HwDefinition">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="size" type="am:DataSize"/>
<xsd:element name="lineSize" type="am:DataSize"/>
<xsd:element name="accessLatency" type="am:IDiscreteValueDeviation">
<xsd:annotation>
<xsd:documentation>
<p>
<b>Access latency [cycles]</b>
</p>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
<xsd:attribute name="cacheType" type="am:CacheType"/>
<xsd:attribute name="writeStrategy" type="am:WriteStrategy"/>
<xsd:attribute name="nWays" type="xsd:int"/>
<xsd:attribute name="coherency" type="xsd:boolean"/>
<xsd:attribute name="exclusive" type="xsd:boolean"/>
<xsd:attribute name="hitRate" type="xsd:double"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="CacheDefinition" type="am:CacheDefinition"/>
<xsd:complexType abstract="true" name="HwPath">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element ref="xmi:Extension"/>
</xsd:choice>
<xsd:attribute ref="xmi:id"/>
<xsd:attributeGroup ref="xmi:ObjectAttribs"/>
</xsd:complexType>
<xsd:element name="HwPath" type="am:HwPath"/>
<xsd:complexType name="HwAccessPath">
<xsd:complexContent>
<xsd:extension base="am:HwPath">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="containingAccessElement" type="am:HwAccessElement"/>
<xsd:element name="pathElements" type="am:HwPathElement"/>
</xsd:choice>
<xsd:attribute name="name" type="xsd:string"/>
<xsd:attribute name="startAddress" type="xsd:string"/>
<xsd:attribute name="endAddress" type="xsd:string"/>
<xsd:attribute name="memOffset" type="xsd:string"/>
<xsd:attribute name="containingAccessElement" type="xsd:string"/>
<xsd:attribute name="pathElements" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="HwAccessPath" type="am:HwAccessPath"/>
<xsd:complexType abstract="true" name="HwPathElement">
<xsd:complexContent>
<xsd:extension base="am:IReferable"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="HwPathElement" type="am:HwPathElement"/>
<xsd:complexType abstract="true" name="HwDestination">
<xsd:complexContent>
<xsd:extension base="am:IReferable"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="HwDestination" type="am:HwDestination"/>
<xsd:complexType name="MappingModel">
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="schedulerAllocation" type="am:SchedulerAllocation"/>
<xsd:element name="runnableAllocation" type="am:RunnableAllocation"/>
<xsd:element name="taskAllocation" type="am:TaskAllocation"/>
<xsd:element name="isrAllocation" type="am:ISRAllocation"/>
<xsd:element name="memoryMapping" type="am:MemoryMapping"/>
<xsd:element name="physicalSectionMapping" type="am:PhysicalSectionMapping"/>
</xsd:choice>
<xsd:attribute name="addressMappingType" type="am:MemoryAddressMappingType"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="MappingModel" type="am:MappingModel"/>
<xsd:complexType name="SchedulerAllocation">
<xsd:annotation>
<xsd:documentation>Allocation of Schedulers</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="scheduler" type="am:Scheduler"/>
<xsd:element name="responsibility" type="am:ProcessingUnit"/>
<xsd:element name="executingPU" type="am:ProcessingUnit"/>
</xsd:choice>
<xsd:attribute name="scheduler" type="xsd:string"/>
<xsd:attribute name="responsibility" type="xsd:string"/>
<xsd:attribute name="executingPU" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="SchedulerAllocation" type="am:SchedulerAllocation">
<xsd:annotation>
<xsd:documentation>Allocation of Schedulers</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="TaskAllocation">
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="task" type="am:Task"/>
<xsd:element name="scheduler" type="am:TaskScheduler"/>
<xsd:element name="affinity" type="am:ProcessingUnit"/>
<xsd:element name="schedulingParameters" type="am:SchedulingParameters"/>
<xsd:element name="parameterExtensions" type="am:ParameterExtension"/>
</xsd:choice>
<xsd:attribute name="task" type="xsd:string"/>
<xsd:attribute name="scheduler" type="xsd:string"/>
<xsd:attribute name="affinity" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="TaskAllocation" type="am:TaskAllocation"/>
<xsd:complexType name="ISRAllocation">
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="isr" type="am:ISR"/>
<xsd:element name="controller" type="am:InterruptController"/>
</xsd:choice>
<xsd:attribute name="priority" type="xsd:int"/>
<xsd:attribute name="isr" type="xsd:string"/>
<xsd:attribute name="controller" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ISRAllocation" type="am:ISRAllocation"/>
<xsd:complexType name="RunnableAllocation">
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="scheduler" type="am:Scheduler"/>
<xsd:element name="entity" type="am:Runnable"/>
</xsd:choice>
<xsd:attribute name="scheduler" type="xsd:string"/>
<xsd:attribute name="entity" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="RunnableAllocation" type="am:RunnableAllocation"/>
<xsd:complexType name="MemoryMapping">
<xsd:annotation>
<xsd:documentation>Mapping of AbstractMemoryElement (Label, Runnable, ISR, Task, ...)
to a specific memory.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="abstractElement" type="am:AbstractMemoryElement"/>
<xsd:element name="memory" type="am:Memory"/>
</xsd:choice>
<xsd:attribute name="memoryPositionAddress" type="xsd:string">
<xsd:annotation>
<xsd:documentation>The position of the element in the mapped memory</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="abstractElement" type="xsd:string"/>
<xsd:attribute name="memory" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="MemoryMapping" type="am:MemoryMapping">
<xsd:annotation>
<xsd:documentation>Mapping of AbstractMemoryElement (Label, Runnable, ISR, Task, ...)
to a specific memory.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="PhysicalSectionMapping">
<xsd:complexContent>
<xsd:extension base="am:ReferableBaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="origin" type="am:Section"/>
<xsd:element name="memory" type="am:Memory"/>
<xsd:element name="labels" type="am:Label"/>
<xsd:element name="runEntities" type="am:Runnable"/>
</xsd:choice>
<xsd:attribute name="startAddress" type="xsd:string"/>
<xsd:attribute name="endAddress" type="xsd:string"/>
<xsd:attribute name="origin" type="xsd:string"/>
<xsd:attribute name="memory" type="xsd:string"/>
<xsd:attribute name="labels" type="xsd:string"/>
<xsd:attribute name="runEntities" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="PhysicalSectionMapping" type="am:PhysicalSectionMapping"/>
<xsd:complexType name="OSModel">
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="semaphores" type="am:Semaphore"/>
<xsd:element name="operatingSystems" type="am:OperatingSystem"/>
<xsd:element name="osOverheads" type="am:OsOverhead"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="OSModel" type="am:OSModel"/>
<xsd:complexType name="OsDataConsistency">
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="dataStability" type="am:DataStability"/>
<xsd:element name="nonAtomicDataCoherency" type="am:NonAtomicDataCoherency"/>
</xsd:choice>
<xsd:attribute name="mode" type="am:OsDataConsistencyMode"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="OsDataConsistency" type="am:OsDataConsistency"/>
<xsd:complexType name="DataStability">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element ref="xmi:Extension"/>
</xsd:choice>
<xsd:attribute ref="xmi:id"/>
<xsd:attributeGroup ref="xmi:ObjectAttribs"/>
<xsd:attribute name="enabled" type="xsd:boolean"/>
<xsd:attribute name="algorithm" type="xsd:string"/>
<xsd:attribute name="accessMultiplicity" type="am:AccessMultiplicity"/>
<xsd:attribute name="level" type="am:DataStabilityLevel"/>
</xsd:complexType>
<xsd:element name="DataStability" type="am:DataStability"/>
<xsd:complexType name="NonAtomicDataCoherency">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element ref="xmi:Extension"/>
</xsd:choice>
<xsd:attribute ref="xmi:id"/>
<xsd:attributeGroup ref="xmi:ObjectAttribs"/>
<xsd:attribute name="enabled" type="xsd:boolean"/>
<xsd:attribute name="algorithm" type="xsd:string"/>
<xsd:attribute name="accessMultiplicity" type="am:AccessMultiplicity"/>
</xsd:complexType>
<xsd:element name="NonAtomicDataCoherency" type="am:NonAtomicDataCoherency"/>
<xsd:complexType name="Semaphore">
<xsd:annotation>
<xsd:documentation>name: Name of semaphore
maxValue: maximum number of users which can access the semaphore simultaneously
initialValue: number of users which access semaphore at system startup
priorityCeilingProtocol: enables priority ceiling for this resource</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:ReferableBaseObject">
<xsd:attribute name="semaphoreType" type="am:SemaphoreType"/>
<xsd:attribute name="initialValue" type="xsd:int"/>
<xsd:attribute name="maxValue" type="xsd:int"/>
<xsd:attribute name="priorityCeilingProtocol" type="xsd:boolean"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="Semaphore" type="am:Semaphore">
<xsd:annotation>
<xsd:documentation>name: Name of semaphore
maxValue: maximum number of users which can access the semaphore simultaneously
initialValue: number of users which access semaphore at system startup
priorityCeilingProtocol: enables priority ceiling for this resource</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType abstract="true" name="Scheduler">
<xsd:annotation>
<xsd:documentation>scheduling algorithm: The used algorithm for scheduling
computation items: steps to perform the scheduling algorithm</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:ReferableBaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="computationItems" type="am:ComputationItem"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="Scheduler" type="am:Scheduler">
<xsd:annotation>
<xsd:documentation>scheduling algorithm: The used algorithm for scheduling
computation items: steps to perform the scheduling algorithm</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="TaskScheduler">
<xsd:complexContent>
<xsd:extension base="am:Scheduler">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="schedulingAlgorithm" type="am:TaskSchedulingAlgorithm"/>
<xsd:element name="parentAssociation" type="am:SchedulerAssociation"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="TaskScheduler" type="am:TaskScheduler"/>
<xsd:complexType name="SchedulerAssociation">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="child" type="am:TaskScheduler"/>
<xsd:element name="parent" type="am:TaskScheduler"/>
<xsd:element name="schedulingParameters" type="am:SchedulingParameters"/>
<xsd:element name="parameterExtensions" type="am:ParameterExtension"/>
<xsd:element ref="xmi:Extension"/>
</xsd:choice>
<xsd:attribute ref="xmi:id"/>
<xsd:attributeGroup ref="xmi:ObjectAttribs"/>
<xsd:attribute name="child" type="xsd:string"/>
<xsd:attribute name="parent" type="xsd:string"/>
</xsd:complexType>
<xsd:element name="SchedulerAssociation" type="am:SchedulerAssociation"/>
<xsd:complexType name="InterruptController">
<xsd:complexContent>
<xsd:extension base="am:Scheduler">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="schedulingAlgorithm" type="am:InterruptSchedulingAlgorithm"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="InterruptController" type="am:InterruptController"/>
<xsd:complexType name="SchedulingParameters">
<xsd:annotation>
<xsd:documentation>Common scheduling parameters</xsd:documentation>
</xsd:annotation>
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="minBudget" type="am:Time"/>
<xsd:element name="maxBudget" type="am:Time"/>
<xsd:element name="replenishment" type="am:Time"/>
<xsd:element ref="xmi:Extension"/>
</xsd:choice>
<xsd:attribute ref="xmi:id"/>
<xsd:attributeGroup ref="xmi:ObjectAttribs"/>
<xsd:attribute name="priority" type="xsd:int"/>
</xsd:complexType>
<xsd:element name="SchedulingParameters" type="am:SchedulingParameters">
<xsd:annotation>
<xsd:documentation>Common scheduling parameters</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="ParameterExtension">
<xsd:annotation>
<xsd:documentation>Parameter extensions (used for scheduling algorithms)</xsd:documentation>
</xsd:annotation>
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element ref="xmi:Extension"/>
</xsd:choice>
<xsd:attribute ref="xmi:id"/>
<xsd:attributeGroup ref="xmi:ObjectAttribs"/>
<xsd:attribute name="key" type="xsd:string" use="required"/>
<xsd:attribute name="value" type="xsd:string" use="required"/>
</xsd:complexType>
<xsd:element name="ParameterExtension" type="am:ParameterExtension">
<xsd:annotation>
<xsd:documentation>Parameter extensions (used for scheduling algorithms)</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType abstract="true" name="Algorithm">
<xsd:complexContent>
<xsd:extension base="am:BaseObject"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="Algorithm" type="am:Algorithm"/>
<xsd:complexType abstract="true" name="InterruptSchedulingAlgorithm">
<xsd:annotation>
<xsd:documentation>Interrupt Scheduling Algorithm</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:Algorithm"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="InterruptSchedulingAlgorithm" type="am:InterruptSchedulingAlgorithm">
<xsd:annotation>
<xsd:documentation>Interrupt Scheduling Algorithm</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType abstract="true" name="TaskSchedulingAlgorithm">
<xsd:annotation>
<xsd:documentation>Task Scheduling Algorithm</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:Algorithm"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="TaskSchedulingAlgorithm" type="am:TaskSchedulingAlgorithm">
<xsd:annotation>
<xsd:documentation>Task Scheduling Algorithm</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType abstract="true" name="FixedPriority">
<xsd:annotation>
<xsd:documentation>Fixed Priority Scheduling</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:TaskSchedulingAlgorithm"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="FixedPriority" type="am:FixedPriority">
<xsd:annotation>
<xsd:documentation>Fixed Priority Scheduling</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="FixedPriorityPreemptive">
<xsd:annotation>
<xsd:documentation>Fixed Priority Preemptive scheduling algorithm</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:FixedPriority"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="FixedPriorityPreemptive" type="am:FixedPriorityPreemptive">
<xsd:annotation>
<xsd:documentation>Fixed Priority Preemptive scheduling algorithm</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="FixedPriorityPreemptiveWithBudgetEnforcement">
<xsd:annotation>
<xsd:documentation>Fixed Priority Preemptive scheduling algorithm (with budget enforcement)</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:FixedPriority"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="FixedPriorityPreemptiveWithBudgetEnforcement" type="am:FixedPriorityPreemptiveWithBudgetEnforcement">
<xsd:annotation>
<xsd:documentation>Fixed Priority Preemptive scheduling algorithm (with budget enforcement)</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="OSEK">
<xsd:annotation>
<xsd:documentation>OSEK scheduling algorithm</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:FixedPriority"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="OSEK" type="am:OSEK">
<xsd:annotation>
<xsd:documentation>OSEK scheduling algorithm</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="DeadlineMonotonic">
<xsd:annotation>
<xsd:documentation>task with shortest deadline has highest priority</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:FixedPriority"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="DeadlineMonotonic" type="am:DeadlineMonotonic">
<xsd:annotation>
<xsd:documentation>task with shortest deadline has highest priority</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="RateMonotonic">
<xsd:annotation>
<xsd:documentation>task with shortest recurrence (i.e. period) has highest priority</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:FixedPriority"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="RateMonotonic" type="am:RateMonotonic">
<xsd:annotation>
<xsd:documentation>task with shortest recurrence (i.e. period) has highest priority</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType abstract="true" name="Pfair">
<xsd:annotation>
<xsd:documentation>Proportionate Fair (Pfair) Scheduling
(global scheduling algorithm)</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:TaskSchedulingAlgorithm">
<xsd:attribute name="quantSizeNs" type="xsd:int"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="Pfair" type="am:Pfair">
<xsd:annotation>
<xsd:documentation>Proportionate Fair (Pfair) Scheduling
(global scheduling algorithm)</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="PfairPD2">
<xsd:annotation>
<xsd:documentation>Proportionate Fair PD2 Scheduling
(global scheduling algorithm)</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:Pfair"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="PfairPD2" type="am:PfairPD2">
<xsd:annotation>
<xsd:documentation>Proportionate Fair PD2 Scheduling
(global scheduling algorithm)</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="PartlyPFairPD2">
<xsd:annotation>
<xsd:documentation>Partly Proportionate Fair PD2 Scheduling
(global scheduling algorithm)</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:Pfair"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="PartlyPFairPD2" type="am:PartlyPFairPD2">
<xsd:annotation>
<xsd:documentation>Partly Proportionate Fair PD2 Scheduling
(global scheduling algorithm)</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="EarlyReleaseFairPD2">
<xsd:annotation>
<xsd:documentation>Early Release Fair PD2 Scheduling
(global scheduling algorithm)</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:Pfair"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="EarlyReleaseFairPD2" type="am:EarlyReleaseFairPD2">
<xsd:annotation>
<xsd:documentation>Early Release Fair PD2 Scheduling
(global scheduling algorithm)</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="PartlyEarlyReleaseFairPD2">
<xsd:annotation>
<xsd:documentation>Partly Early Release Fair PD2 Scheduling
(global scheduling algorithm)</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:Pfair"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="PartlyEarlyReleaseFairPD2" type="am:PartlyEarlyReleaseFairPD2">
<xsd:annotation>
<xsd:documentation>Partly Early Release Fair PD2 Scheduling
(global scheduling algorithm)</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType abstract="true" name="DynamicPriority">
<xsd:annotation>
<xsd:documentation>Dynamic Priority Scheduling</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:TaskSchedulingAlgorithm"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="DynamicPriority" type="am:DynamicPriority">
<xsd:annotation>
<xsd:documentation>Dynamic Priority Scheduling</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="LeastLocalRemainingExecutionTimeFirst">
<xsd:annotation>
<xsd:documentation>global scheduling algorithm</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:DynamicPriority"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="LeastLocalRemainingExecutionTimeFirst" type="am:LeastLocalRemainingExecutionTimeFirst">
<xsd:annotation>
<xsd:documentation>global scheduling algorithm</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="EarliestDeadlineFirst">
<xsd:annotation>
<xsd:documentation>earliest absolute deadline first</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:DynamicPriority"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="EarliestDeadlineFirst" type="am:EarliestDeadlineFirst">
<xsd:annotation>
<xsd:documentation>earliest absolute deadline first</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="PriorityBasedRoundRobin">
<xsd:annotation>
<xsd:documentation>all tasks with equal priority executed for certain time slice</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:DynamicPriority"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="PriorityBasedRoundRobin" type="am:PriorityBasedRoundRobin">
<xsd:annotation>
<xsd:documentation>all tasks with equal priority executed for certain time slice</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType abstract="true" name="ReservationBasedServer">
<xsd:annotation>
<xsd:documentation>Reservation Based Server</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:TaskSchedulingAlgorithm"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ReservationBasedServer" type="am:ReservationBasedServer">
<xsd:annotation>
<xsd:documentation>Reservation Based Server</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="DeferrableServer">
<xsd:annotation>
<xsd:documentation>Deferrable Server</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:ReservationBasedServer"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="DeferrableServer" type="am:DeferrableServer">
<xsd:annotation>
<xsd:documentation>Deferrable Server</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="PollingPeriodicServer">
<xsd:annotation>
<xsd:documentation>Polling Periodic Server</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:ReservationBasedServer"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="PollingPeriodicServer" type="am:PollingPeriodicServer">
<xsd:annotation>
<xsd:documentation>Polling Periodic Server</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="SporadicServer">
<xsd:annotation>
<xsd:documentation>Sporadic Server</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:ReservationBasedServer"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="SporadicServer" type="am:SporadicServer">
<xsd:annotation>
<xsd:documentation>Sporadic Server</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="ConstantBandwidthServer">
<xsd:annotation>
<xsd:documentation>Constant Bandwidth Server</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:ReservationBasedServer"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ConstantBandwidthServer" type="am:ConstantBandwidthServer">
<xsd:annotation>
<xsd:documentation>Constant Bandwidth Server</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="ConstantBandwidthServerWithCASH">
<xsd:annotation>
<xsd:documentation>Constant Bandwidth Server With CASH</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:ReservationBasedServer"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ConstantBandwidthServerWithCASH" type="am:ConstantBandwidthServerWithCASH">
<xsd:annotation>
<xsd:documentation>Constant Bandwidth Server With CASH</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="Grouping">
<xsd:annotation>
<xsd:documentation>logical grouping of tasks/child-schedulers</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:TaskSchedulingAlgorithm"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="Grouping" type="am:Grouping">
<xsd:annotation>
<xsd:documentation>logical grouping of tasks/child-schedulers</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="UserSpecificSchedulingAlgorithm">
<xsd:annotation>
<xsd:documentation>allows the user to define own scheduling algorithm (TA-Toolsuite feature)</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:TaskSchedulingAlgorithm">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="parameterExtensions" type="am:ParameterExtension"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="UserSpecificSchedulingAlgorithm" type="am:UserSpecificSchedulingAlgorithm">
<xsd:annotation>
<xsd:documentation>allows the user to define own scheduling algorithm (TA-Toolsuite feature)</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="PriorityBased">
<xsd:annotation>
<xsd:documentation>Priority based Scheduling Algorithm for Interrupts</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:InterruptSchedulingAlgorithm"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="PriorityBased" type="am:PriorityBased">
<xsd:annotation>
<xsd:documentation>Priority based Scheduling Algorithm for Interrupts</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="OperatingSystem">
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="overhead" type="am:OsOverhead"/>
<xsd:element name="taskSchedulers" type="am:TaskScheduler"/>
<xsd:element name="interruptControllers" type="am:InterruptController"/>
<xsd:element name="osDataConsistency" type="am:OsDataConsistency"/>
</xsd:choice>
<xsd:attribute name="name" type="xsd:string"/>
<xsd:attribute name="overhead" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="OperatingSystem" type="am:OperatingSystem"/>
<xsd:complexType name="VendorOperatingSystem">
<xsd:complexContent>
<xsd:extension base="am:OperatingSystem">
<xsd:attribute name="osName" type="xsd:string"/>
<xsd:attribute name="vendor" type="xsd:string"/>
<xsd:attribute name="version" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="VendorOperatingSystem" type="am:VendorOperatingSystem"/>
<xsd:complexType name="OsOverhead">
<xsd:complexContent>
<xsd:extension base="am:ReferableBaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="apiOverhead" type="am:OsAPIOverhead"/>
<xsd:element name="isrCategory1Overhead" type="am:OsISROverhead"/>
<xsd:element name="isrCategory2Overhead" type="am:OsISROverhead"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="OsOverhead" type="am:OsOverhead"/>
<xsd:complexType name="OsAPIOverhead">
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="apiSendMessage" type="am:Ticks"/>
<xsd:element name="apiTerminateTask" type="am:Ticks"/>
<xsd:element name="apiSchedule" type="am:Ticks"/>
<xsd:element name="apiRequestResource" type="am:Ticks"/>
<xsd:element name="apiReleaseResource" type="am:Ticks"/>
<xsd:element name="apiSetEvent" type="am:Ticks"/>
<xsd:element name="apiWaitEvent" type="am:Ticks"/>
<xsd:element name="apiClearEvent" type="am:Ticks"/>
<xsd:element name="apiActivateTask" type="am:Ticks"/>
<xsd:element name="apiEnforcedMigration" type="am:Ticks"/>
<xsd:element name="apiSuspendOsInterrupts" type="am:Ticks"/>
<xsd:element name="apiResumeOsInterrupts" type="am:Ticks"/>
<xsd:element name="apiRequestSpinlock" type="am:Ticks"/>
<xsd:element name="apiReleaseSpinlock" type="am:Ticks"/>
<xsd:element name="apiSenderReceiverRead" type="am:Ticks"/>
<xsd:element name="apiSenderReceiverWrite" type="am:Ticks"/>
<xsd:element name="apiSynchronousServerCallPoint" type="am:Ticks"/>
<xsd:element name="apiIocRead" type="am:Ticks"/>
<xsd:element name="apiIocWrite" type="am:Ticks"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="OsAPIOverhead" type="am:OsAPIOverhead"/>
<xsd:complexType name="OsISROverhead">
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="preExecutionOverhead" type="am:Ticks"/>
<xsd:element name="postExecutionOverhead" type="am:Ticks"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="OsISROverhead" type="am:OsISROverhead"/>
<xsd:complexType name="PropertyConstraintsModel">
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="allocationConstraints" type="am:CoreAllocationConstraint"/>
<xsd:element name="mappingConstraints" type="am:MemoryMappingConstraint"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="PropertyConstraintsModel" type="am:PropertyConstraintsModel"/>
<xsd:complexType abstract="true" name="CoreAllocationConstraint">
<xsd:annotation>
<xsd:documentation>Abstract Class, used to describe Constraints for Allocations
(these usually target Cores and their features/attributes)</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="coreClassification" type="am:CoreClassification"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="CoreAllocationConstraint" type="am:CoreAllocationConstraint">
<xsd:annotation>
<xsd:documentation>Abstract Class, used to describe Constraints for Allocations
(these usually target Cores and their features/attributes)</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType abstract="true" name="MemoryMappingConstraint">
<xsd:annotation>
<xsd:documentation>Abstract Class, used to describe Constraints for Mapping
(these usually target Memories and their features/attributes)</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="memoryClassification" type="am:MemoryClassification"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="MemoryMappingConstraint" type="am:MemoryMappingConstraint">
<xsd:annotation>
<xsd:documentation>Abstract Class, used to describe Constraints for Mapping
(these usually target Memories and their features/attributes)</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="ProcessAllocationConstraint">
<xsd:annotation>
<xsd:documentation>ProcessAllocationConstraints describe the constraints for
Process-to-Core allocations</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:CoreAllocationConstraint">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="process" type="am:Process"/>
</xsd:choice>
<xsd:attribute name="process" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ProcessAllocationConstraint" type="am:ProcessAllocationConstraint">
<xsd:annotation>
<xsd:documentation>ProcessAllocationConstraints describe the constraints for
Process-to-Core allocations</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="ProcessPrototypeAllocationConstraint">
<xsd:annotation>
<xsd:documentation>ProcessPrototypeAllocationConstraints describe the constraints for
ProcessPrototype-to-Core allocations</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:CoreAllocationConstraint">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="processPrototype" type="am:ProcessPrototype"/>
</xsd:choice>
<xsd:attribute name="processPrototype" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ProcessPrototypeAllocationConstraint" type="am:ProcessPrototypeAllocationConstraint">
<xsd:annotation>
<xsd:documentation>ProcessPrototypeAllocationConstraints describe the constraints for
ProcessPrototype-to-Core allocations</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="RunnableAllocationConstraint">
<xsd:annotation>
<xsd:documentation>RunnableAllocationConstraints describe the constraints for
Runnable-to-Core allocations</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:CoreAllocationConstraint">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="runnable" type="am:Runnable"/>
</xsd:choice>
<xsd:attribute name="runnable" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="RunnableAllocationConstraint" type="am:RunnableAllocationConstraint">
<xsd:annotation>
<xsd:documentation>RunnableAllocationConstraints describe the constraints for
Runnable-to-Core allocations</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="AbstractElementMappingConstraint">
<xsd:annotation>
<xsd:documentation>AbstractElementMappingConstraints describe the constraints for
AbstractMemoryElement-to-Memory Mapping</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:MemoryMappingConstraint">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="abstractElement" type="am:AbstractMemoryElement"/>
</xsd:choice>
<xsd:attribute name="abstractElement" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="AbstractElementMappingConstraint" type="am:AbstractElementMappingConstraint">
<xsd:annotation>
<xsd:documentation>AbstractElementMappingConstraints describe the constraints for
AbstractMemoryElement-to-Memory Mapping</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType abstract="true" name="Classification">
<xsd:annotation>
<xsd:documentation>Generalization for all Hardware related constraints</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:attribute name="condition" type="am:Condition"/>
<xsd:attribute name="grouping" type="am:GroupingType"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="Classification" type="am:Classification">
<xsd:annotation>
<xsd:documentation>Generalization for all Hardware related constraints</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="CoreClassification">
<xsd:complexContent>
<xsd:extension base="am:Classification">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="classifiers" type="am:CoreClassifier"/>
</xsd:choice>
<xsd:attribute name="classifiers" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="CoreClassification" type="am:CoreClassification"/>
<xsd:complexType name="MemoryClassification">
<xsd:complexContent>
<xsd:extension base="am:Classification">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="classifiers" type="am:MemoryClassifier"/>
</xsd:choice>
<xsd:attribute name="classifiers" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="MemoryClassification" type="am:MemoryClassification"/>
<xsd:complexType name="StimuliModel">
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="stimuli" type="am:Stimulus"/>
<xsd:element name="clocks" type="am:Clock"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="StimuliModel" type="am:StimuliModel"/>
<xsd:complexType abstract="true" name="Stimulus">
<xsd:annotation>
<xsd:documentation>Every process/task can have one or more stimuli.
A stimulus activates the process</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:ReferableBaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="tags" type="am:Tag"/>
<xsd:element name="setModeValueList" type="am:ModeValueList"/>
<xsd:element name="executionCondition" type="am:ModeConditionDisjunction"/>
</xsd:choice>
<xsd:attribute name="tags" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="Stimulus" type="am:Stimulus">
<xsd:annotation>
<xsd:documentation>Every process/task can have one or more stimuli.
A stimulus activates the process</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="ModeValueList">
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="entries" type="am:ModeAssignment"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ModeValueList" type="am:ModeValueList"/>
<xsd:complexType name="ModeValueMapEntry">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="key" type="am:ModeLabel"/>
<xsd:element ref="xmi:Extension"/>
</xsd:choice>
<xsd:attribute ref="xmi:id"/>
<xsd:attributeGroup ref="xmi:ObjectAttribs"/>
<xsd:attribute name="value" type="xsd:string" use="required"/>
<xsd:attribute name="key" type="xsd:string"/>
</xsd:complexType>
<xsd:element name="ModeValueMapEntry" type="am:ModeValueMapEntry"/>
<xsd:complexType abstract="true" name="ModeValue">
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="label" type="am:ModeLabel"/>
</xsd:choice>
<xsd:attribute name="value" type="xsd:string" use="required"/>
<xsd:attribute name="label" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ModeValue" type="am:ModeValue"/>
<xsd:complexType name="ModeAssignment">
<xsd:complexContent>
<xsd:extension base="am:ModeValue"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ModeAssignment" type="am:ModeAssignment"/>
<xsd:complexType name="ModeConditionDisjunction">
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="entries" type="am:ModeConditionDisjunctionEntry"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ModeConditionDisjunction" type="am:ModeConditionDisjunction"/>
<xsd:complexType abstract="true" name="ModeConditionDisjunctionEntry">
<xsd:complexContent>
<xsd:extension base="am:BaseObject"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ModeConditionDisjunctionEntry" type="am:ModeConditionDisjunctionEntry"/>
<xsd:complexType abstract="true" name="ModeCondition">
<xsd:complexContent>
<xsd:extension base="am:ModeConditionDisjunctionEntry">
<xsd:attribute name="relation" type="am:RelationalOperator"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ModeCondition" type="am:ModeCondition"/>
<xsd:complexType name="ModeValueCondition">
<xsd:complexContent>
<xsd:extension base="am:ModeValue">
<xsd:attribute name="relation" type="am:RelationalOperator"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ModeValueCondition" type="am:ModeValueCondition"/>
<xsd:complexType name="ModeLabelCondition">
<xsd:complexContent>
<xsd:extension base="am:ModeCondition">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="label1" type="am:ModeLabel"/>
<xsd:element name="label2" type="am:ModeLabel"/>
</xsd:choice>
<xsd:attribute name="label1" type="xsd:string"/>
<xsd:attribute name="label2" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ModeLabelCondition" type="am:ModeLabelCondition"/>
<xsd:complexType name="ModeConditionConjunction">
<xsd:complexContent>
<xsd:extension base="am:ModeConditionDisjunctionEntry">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="entries" type="am:ModeCondition"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ModeConditionConjunction" type="am:ModeConditionConjunction"/>
<xsd:complexType abstract="true" name="FixedPeriodic">
<xsd:annotation>
<xsd:documentation>Stimulus that is triggered periodically.
offset: Time of first occurrence
recurrence: Time between following occurrences</xsd:documentation>
</xsd:annotation>
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="offset" type="am:Time"/>
<xsd:element name="recurrence" type="am:Time"/>
<xsd:element ref="xmi:Extension"/>
</xsd:choice>
<xsd:attribute ref="xmi:id"/>
<xsd:attributeGroup ref="xmi:ObjectAttribs"/>
</xsd:complexType>
<xsd:element name="FixedPeriodic" type="am:FixedPeriodic">
<xsd:annotation>
<xsd:documentation>Stimulus that is triggered periodically.
offset: Time of first occurrence
recurrence: Time between following occurrences</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="PeriodicStimulus">
<xsd:annotation>
<xsd:documentation>Stimulus that is triggered periodically.
jitter: Deviation from true periodicity to real occurrence
minDistance: Minimal time between occurrences</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:Stimulus">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="offset" type="am:Time"/>
<xsd:element name="recurrence" type="am:Time"/>
<xsd:element name="jitter" type="am:ITimeDeviation"/>
<xsd:element name="minDistance" type="am:Time"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="PeriodicStimulus" type="am:PeriodicStimulus">
<xsd:annotation>
<xsd:documentation>Stimulus that is triggered periodically.
jitter: Deviation from true periodicity to real occurrence
minDistance: Minimal time between occurrences</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="RelativePeriodicStimulus">
<xsd:annotation>
<xsd:documentation>Stimulus that is triggered relative to the previous occurrence.
offset: Time of first occurrence
step: Time (Deviation) between successive occurrences</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:Stimulus">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="offset" type="am:Time"/>
<xsd:element name="nextOccurrence" type="am:ITimeDeviation"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="RelativePeriodicStimulus" type="am:RelativePeriodicStimulus">
<xsd:annotation>
<xsd:documentation>Stimulus that is triggered relative to the previous occurrence.
offset: Time of first occurrence
step: Time (Deviation) between successive occurrences</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="VariableRateStimulus">
<xsd:annotation>
<xsd:documentation>Periodic stimulus based on other events, like rotation speed
clock: Time base which defines deviation of time, multiple stimuli can have the same time base</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:Stimulus">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="step" type="am:Time"/>
<xsd:element name="occurrencesPerStep" type="am:IContinuousValueDeviation"/>
<xsd:element name="scenario" type="am:Scenario"/>
</xsd:choice>
<xsd:attribute name="maxIncreasePerStep" type="xsd:double"/>
<xsd:attribute name="maxDecreasePerStep" type="xsd:double"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="VariableRateStimulus" type="am:VariableRateStimulus">
<xsd:annotation>
<xsd:documentation>Periodic stimulus based on other events, like rotation speed
clock: Time base which defines deviation of time, multiple stimuli can have the same time base</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="Scenario">
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="clock" type="am:Clock"/>
</xsd:choice>
<xsd:attribute name="samplingOffset" type="xsd:string"/>
<xsd:attribute name="samplingRecurrence" type="xsd:string"/>
<xsd:attribute name="clock" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="Scenario" type="am:Scenario"/>
<xsd:complexType name="PeriodicSyntheticStimulus">
<xsd:annotation>
<xsd:documentation>Stimulus (repeated periodically) with a defined list of occurrences.
occurrenceTimes: List of all occurrences</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:Stimulus">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="offset" type="am:Time"/>
<xsd:element name="recurrence" type="am:Time"/>
<xsd:element name="occurrenceTimes" type="am:Time"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="PeriodicSyntheticStimulus" type="am:PeriodicSyntheticStimulus">
<xsd:annotation>
<xsd:documentation>Stimulus (repeated periodically) with a defined list of occurrences.
occurrenceTimes: List of all occurrences</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="CustomStimulus">
<xsd:annotation>
<xsd:documentation>Stimulus to describe own custom types, including properties.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:Stimulus">
<xsd:attribute name="description" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="CustomStimulus" type="am:CustomStimulus">
<xsd:annotation>
<xsd:documentation>Stimulus to describe own custom types, including properties.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="SingleStimulus">
<xsd:annotation>
<xsd:documentation>Single occurrence at a defined time.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:Stimulus">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="occurrence" type="am:Time"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="SingleStimulus" type="am:SingleStimulus">
<xsd:annotation>
<xsd:documentation>Single occurrence at a defined time.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="InterProcessStimulus">
<xsd:annotation>
<xsd:documentation>Stimulus based on a explicit inter process trigger.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:Stimulus">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="counter" type="am:Counter"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="InterProcessStimulus" type="am:InterProcessStimulus">
<xsd:annotation>
<xsd:documentation>Stimulus based on a explicit inter process trigger.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="PeriodicBurstStimulus">
<xsd:annotation>
<xsd:documentation>Stimulus (repeated periodically) for burst occurrences
burstLength: Time frame for the burst (occurrences after the length are clipped)</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:Stimulus">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="offset" type="am:Time"/>
<xsd:element name="recurrence" type="am:Time"/>
<xsd:element name="burstLength" type="am:Time"/>
<xsd:element name="occurrenceMinDistance" type="am:Time"/>
</xsd:choice>
<xsd:attribute name="occurrenceCount" type="xsd:int"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="PeriodicBurstStimulus" type="am:PeriodicBurstStimulus">
<xsd:annotation>
<xsd:documentation>Stimulus (repeated periodically) for burst occurrences
burstLength: Time frame for the burst (occurrences after the length are clipped)</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="EventStimulus">
<xsd:annotation>
<xsd:documentation>Stimulus which is activated by an event.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:Stimulus">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="triggeringEvents" type="am:TriggerEvent"/>
<xsd:element name="counter" type="am:Counter"/>
</xsd:choice>
<xsd:attribute name="triggeringEvents" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="EventStimulus" type="am:EventStimulus">
<xsd:annotation>
<xsd:documentation>Stimulus which is activated by an event.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="ArrivalCurveStimulus">
<xsd:annotation>
<xsd:documentation>Arrival Curve Stimulus</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:Stimulus">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="entries" type="am:ArrivalCurveEntry"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ArrivalCurveStimulus" type="am:ArrivalCurveStimulus">
<xsd:annotation>
<xsd:documentation>Arrival Curve Stimulus</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="ArrivalCurveEntry">
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="lowerTimeBorder" type="am:Time"/>
<xsd:element name="upperTimeBorder" type="am:Time"/>
</xsd:choice>
<xsd:attribute name="numberOfOccurrences" type="xsd:int"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ArrivalCurveEntry" type="am:ArrivalCurveEntry"/>
<xsd:complexType abstract="true" name="Clock">
<xsd:annotation>
<xsd:documentation>Within a Scenario a Clock defines the predefined curve progression in a simulation</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:ReferableBaseObject"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="Clock" type="am:Clock">
<xsd:annotation>
<xsd:documentation>Within a Scenario a Clock defines the predefined curve progression in a simulation</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="ClockFunction">
<xsd:complexContent>
<xsd:extension base="am:Clock">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="period" type="am:Time"/>
<xsd:element name="peakToPeak" type="am:Frequency"/>
<xsd:element name="xOffset" type="am:Time"/>
<xsd:element name="yOffset" type="am:Frequency"/>
</xsd:choice>
<xsd:attribute name="curveType" type="am:CurveType"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ClockFunction" type="am:ClockFunction"/>
<xsd:complexType name="ClockStepList">
<xsd:complexContent>
<xsd:extension base="am:Clock">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="entries" type="am:ClockStep"/>
<xsd:element name="period" type="am:Time"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ClockStepList" type="am:ClockStepList"/>
<xsd:complexType name="ClockStep">
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="frequency" type="am:Frequency"/>
<xsd:element name="time" type="am:Time"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ClockStep" type="am:ClockStep"/>
<xsd:complexType name="SWModel">
<xsd:annotation>
<xsd:documentation>Central instance to provide central access.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="isrs" type="am:ISR"/>
<xsd:element name="tasks" type="am:Task"/>
<xsd:element name="runnables" type="am:Runnable"/>
<xsd:element name="labels" type="am:Label"/>
<xsd:element name="channels" type="am:Channel"/>
<xsd:element name="processPrototypes" type="am:ProcessPrototype"/>
<xsd:element name="sections" type="am:Section"/>
<xsd:element name="activations" type="am:Activation"/>
<xsd:element name="events" type="am:OsEvent"/>
<xsd:element name="typeDefinitions" type="am:TypeDefinition"/>
<xsd:element name="customEntities" type="am:CustomEntity"/>
<xsd:element name="processChains" type="am:ProcessChain"/>
<xsd:element name="modes" type="am:Mode"/>
<xsd:element name="modeLabels" type="am:ModeLabel"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="SWModel" type="am:SWModel">
<xsd:annotation>
<xsd:documentation>Central instance to provide central access.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType abstract="true" name="AbstractMemoryElement">
<xsd:complexContent>
<xsd:extension base="am:ReferableBaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="tags" type="am:Tag"/>
<xsd:element name="size" type="am:DataSize">
<xsd:annotation>
<xsd:documentation>Specifying the size of the element corresponding to the needed memory allocation</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
<xsd:attribute name="tags" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="AbstractMemoryElement" type="am:AbstractMemoryElement"/>
<xsd:complexType abstract="true" name="AbstractProcess">
<xsd:complexContent>
<xsd:extension base="am:AbstractMemoryElement"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="AbstractProcess" type="am:AbstractProcess"/>
<xsd:complexType name="CustomEntity">
<xsd:annotation>
<xsd:documentation>Possibility to define general custom elements</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:AbstractMemoryElement">
<xsd:attribute name="description" type="xsd:string"/>
<xsd:attribute name="typeName" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="CustomEntity" type="am:CustomEntity">
<xsd:annotation>
<xsd:documentation>Possibility to define general custom elements</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="ProcessChain">
<xsd:annotation>
<xsd:documentation>Groups a list of processes to a process chain.
This does not define how the processes are chained, like being executed by one parent or like they trigger each other
This just defines that the processes should be chained.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:ReferableBaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="processes" type="am:Process"/>
</xsd:choice>
<xsd:attribute name="processes" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ProcessChain" type="am:ProcessChain">
<xsd:annotation>
<xsd:documentation>Groups a list of processes to a process chain.
This does not define how the processes are chained, like being executed by one parent or like they trigger each other
This just defines that the processes should be chained.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType abstract="true" name="Process">
<xsd:annotation>
<xsd:documentation>Generalizes interrupt service routines and tasks</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:AbstractProcess">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="callGraph" type="am:CallGraph"/>
<xsd:element name="stimuli" type="am:Stimulus"/>
</xsd:choice>
<xsd:attribute name="stimuli" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="Process" type="am:Process">
<xsd:annotation>
<xsd:documentation>Generalizes interrupt service routines and tasks</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType abstract="true" name="ICallGraphItemContainer">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="items" type="am:CallGraphItem"/>
<xsd:element ref="xmi:Extension"/>
</xsd:choice>
<xsd:attribute ref="xmi:id"/>
<xsd:attributeGroup ref="xmi:ObjectAttribs"/>
</xsd:complexType>
<xsd:element name="ICallGraphItemContainer" type="am:ICallGraphItemContainer"/>
<xsd:complexType name="CallGraph">
<xsd:annotation>
<xsd:documentation>Describes the different execution paths of a process or runnable</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="items" type="am:CallGraphItem"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="CallGraph" type="am:CallGraph">
<xsd:annotation>
<xsd:documentation>Describes the different execution paths of a process or runnable</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType abstract="true" name="CallGraphItem">
<xsd:annotation>
<xsd:documentation>An abstract item of a call graph</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:BaseObject"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="CallGraphItem" type="am:CallGraphItem">
<xsd:annotation>
<xsd:documentation>An abstract item of a call graph</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="ModeSwitch">
<xsd:annotation>
<xsd:documentation>A switch in the call graph, the selected path depends on the value of the provided mode conditions</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:CallGraphItem">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="entries" type="am:ModeSwitchEntry"/>
<xsd:element name="defaultEntry" type="am:ModeSwitchDefault"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ModeSwitch" type="am:ModeSwitch">
<xsd:annotation>
<xsd:documentation>A switch in the call graph, the selected path depends on the value of the provided mode conditions</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="ModeSwitchEntry">
<xsd:annotation>
<xsd:documentation>A switch entry for a ModeSwitch.
It describes a path of the switch and the required mode condition to use this path</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="items" type="am:CallGraphItem"/>
<xsd:element name="condition" type="am:ModeConditionDisjunction"/>
</xsd:choice>
<xsd:attribute name="name" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ModeSwitchEntry" type="am:ModeSwitchEntry">
<xsd:annotation>
<xsd:documentation>A switch entry for a ModeSwitch.
It describes a path of the switch and the required mode condition to use this path</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="ModeSwitchDefault">
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="items" type="am:CallGraphItem"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ModeSwitchDefault" type="am:ModeSwitchDefault"/>
<xsd:complexType name="ProbabilitySwitch">
<xsd:annotation>
<xsd:documentation>A switch in the call graph, each path has a probability</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:CallGraphItem">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="entries" type="am:ProbabilitySwitchEntry"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ProbabilitySwitch" type="am:ProbabilitySwitch">
<xsd:annotation>
<xsd:documentation>A switch in the call graph, each path has a probability</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="ProbabilitySwitchEntry">
<xsd:annotation>
<xsd:documentation>A switch entry for a ProbabilitySwitch
It describes a path of the switch and it's probability</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="items" type="am:CallGraphItem"/>
</xsd:choice>
<xsd:attribute name="probability" type="xsd:double"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ProbabilitySwitchEntry" type="am:ProbabilitySwitchEntry">
<xsd:annotation>
<xsd:documentation>A switch entry for a ProbabilitySwitch
It describes a path of the switch and it's probability</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="Counter">
<xsd:annotation>
<xsd:documentation>A counter for the call sequence items</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:attribute name="prescaler" type="xsd:string"/>
<xsd:attribute name="offset" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="Counter" type="am:Counter">
<xsd:annotation>
<xsd:documentation>A counter for the call sequence items</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="WaitEvent">
<xsd:annotation>
<xsd:documentation>Let the process wait for a combination of events defined by eventMask
maskType defines if the events in eventMask are linked by a AND or OR</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:CallGraphItem">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="eventMask" type="am:EventMask"/>
<xsd:element name="counter" type="am:Counter"/>
</xsd:choice>
<xsd:attribute name="maskType" type="am:WaitEventType"/>
<xsd:attribute name="waitingBehaviour" type="am:WaitingBehaviour"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="WaitEvent" type="am:WaitEvent">
<xsd:annotation>
<xsd:documentation>Let the process wait for a combination of events defined by eventMask
maskType defines if the events in eventMask are linked by a AND or OR</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="SetEvent">
<xsd:annotation>
<xsd:documentation>Sets the events of eventMask
These events can be set for a specific process, if there is no process, is is global (for all processes)
If there is a process, it is possible to set the event for a specific process instance that is currently activated</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:CallGraphItem">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="eventMask" type="am:EventMask"/>
<xsd:element name="process" type="am:Process"/>
<xsd:element name="counter" type="am:Counter"/>
</xsd:choice>
<xsd:attribute name="process" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="SetEvent" type="am:SetEvent">
<xsd:annotation>
<xsd:documentation>Sets the events of eventMask
These events can be set for a specific process, if there is no process, is is global (for all processes)
If there is a process, it is possible to set the event for a specific process instance that is currently activated</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="ClearEvent">
<xsd:annotation>
<xsd:documentation>Clears the events of eventMask</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:CallGraphItem">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="eventMask" type="am:EventMask"/>
<xsd:element name="counter" type="am:Counter"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ClearEvent" type="am:ClearEvent">
<xsd:annotation>
<xsd:documentation>Clears the events of eventMask</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="EventMask">
<xsd:annotation>
<xsd:documentation>A event mask</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="events" type="am:OsEvent"/>
</xsd:choice>
<xsd:attribute name="events" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="EventMask" type="am:EventMask">
<xsd:annotation>
<xsd:documentation>A event mask</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="OsEvent">
<xsd:annotation>
<xsd:documentation>A event that can be set, cleared and waited for by a process</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:ReferableBaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="tags" type="am:Tag"/>
</xsd:choice>
<xsd:attribute name="tags" type="xsd:string"/>
<xsd:attribute name="communicationOverheadInBit" type="xsd:int"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="OsEvent" type="am:OsEvent">
<xsd:annotation>
<xsd:documentation>A event that can be set, cleared and waited for by a process</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="InterProcessTrigger">
<xsd:annotation>
<xsd:documentation>Triggers a stimulus to activate its processes</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:CallGraphItem">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="stimulus" type="am:InterProcessStimulus"/>
<xsd:element name="counter" type="am:Counter"/>
</xsd:choice>
<xsd:attribute name="stimulus" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="InterProcessTrigger" type="am:InterProcessTrigger">
<xsd:annotation>
<xsd:documentation>Triggers a stimulus to activate its processes</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="EnforcedMigration">
<xsd:annotation>
<xsd:documentation>Migrates task to core of resource owner</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:CallGraphItem">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="resourceOwner" type="am:TaskScheduler"/>
</xsd:choice>
<xsd:attribute name="resourceOwner" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="EnforcedMigration" type="am:EnforcedMigration">
<xsd:annotation>
<xsd:documentation>Migrates task to core of resource owner</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="SchedulePoint">
<xsd:annotation>
<xsd:documentation>Triggers scheduler</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:CallGraphItem"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="SchedulePoint" type="am:SchedulePoint">
<xsd:annotation>
<xsd:documentation>Triggers scheduler</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="TerminateProcess">
<xsd:annotation>
<xsd:documentation>Terminates the process</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:CallGraphItem">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="counter" type="am:Counter"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="TerminateProcess" type="am:TerminateProcess">
<xsd:annotation>
<xsd:documentation>Terminates the process</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="Task">
<xsd:annotation>
<xsd:documentation>Schedulable entity, which is managed by the OS. An instance of a Task is mapped to exactly one core
and includes the direct representation of all abstractions.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:Process">
<xsd:attribute name="preemption" type="am:Preemption"/>
<xsd:attribute name="multipleTaskActivationLimit" type="xsd:int"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="Task" type="am:Task">
<xsd:annotation>
<xsd:documentation>Schedulable entity, which is managed by the OS. An instance of a Task is mapped to exactly one core
and includes the direct representation of all abstractions.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="ISR">
<xsd:annotation>
<xsd:documentation>Interrupt service routine</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:Process">
<xsd:attribute name="category" type="am:ISRCategory"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ISR" type="am:ISR">
<xsd:annotation>
<xsd:documentation>Interrupt service routine</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="ProcessPrototype">
<xsd:annotation>
<xsd:documentation>Prototype class for Process.
It does contain meta information of potential processes, which does not represent the final state.
The final state can be several Tasks, which can be computed using provided information of this prototype.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:AbstractProcess">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="firstRunnable" type="am:Runnable"/>
<xsd:element name="lastRunnable" type="am:Runnable"/>
<xsd:element name="accessPrecedenceSpec" type="am:AccessPrecedenceSpec">
<xsd:annotation>
<xsd:documentation>Defines the general label accesses</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="orderPrecedenceSpec" type="am:OrderPrecedenceSpec">
<xsd:annotation>
<xsd:documentation>Defines the general order of runnables</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="chainedPrototypes" type="am:ChainedProcessPrototype"/>
<xsd:element name="activation" type="am:Activation"/>
<xsd:element name="runnableCalls" type="am:RunnableCall"/>
</xsd:choice>
<xsd:attribute name="preemption" type="am:Preemption"/>
<xsd:attribute name="firstRunnable" type="xsd:string"/>
<xsd:attribute name="lastRunnable" type="xsd:string"/>
<xsd:attribute name="activation" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ProcessPrototype" type="am:ProcessPrototype">
<xsd:annotation>
<xsd:documentation>Prototype class for Process.
It does contain meta information of potential processes, which does not represent the final state.
The final state can be several Tasks, which can be computed using provided information of this prototype.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="ChainedProcessPrototype">
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="prototype" type="am:ProcessPrototype"/>
</xsd:choice>
<xsd:attribute name="apply" type="xsd:int"/>
<xsd:attribute name="offset" type="xsd:int"/>
<xsd:attribute name="prototype" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ChainedProcessPrototype" type="am:ChainedProcessPrototype"/>
<xsd:complexType abstract="true" name="GeneralPrecedence">
<xsd:annotation>
<xsd:documentation>General abstraction for precedence</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="origin" type="am:Runnable"/>
<xsd:element name="target" type="am:Runnable"/>
</xsd:choice>
<xsd:attribute name="origin" type="xsd:string"/>
<xsd:attribute name="target" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="GeneralPrecedence" type="am:GeneralPrecedence">
<xsd:annotation>
<xsd:documentation>General abstraction for precedence</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="AccessPrecedenceSpec">
<xsd:complexContent>
<xsd:extension base="am:GeneralPrecedence">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="label" type="am:Label"/>
</xsd:choice>
<xsd:attribute name="orderType" type="am:AccessPrecedenceType"/>
<xsd:attribute name="label" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="AccessPrecedenceSpec" type="am:AccessPrecedenceSpec"/>
<xsd:complexType name="OrderPrecedenceSpec">
<xsd:complexContent>
<xsd:extension base="am:GeneralPrecedence">
<xsd:attribute name="orderType" type="am:OrderType"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="OrderPrecedenceSpec" type="am:OrderPrecedenceSpec"/>
<xsd:complexType name="DataDependency">
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="labels" type="am:Label"/>
<xsd:element name="parameters" type="am:RunnableParameter"/>
<xsd:element name="callArguments" type="am:CallArgument"/>
</xsd:choice>
<xsd:attribute name="labels" type="xsd:string"/>
<xsd:attribute name="parameters" type="xsd:string"/>
<xsd:attribute name="callArguments" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="DataDependency" type="am:DataDependency"/>
<xsd:complexType name="RunnableParameter">
<xsd:complexContent>
<xsd:extension base="am:ReferableBaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="containingRunnable" type="am:Runnable"/>
<xsd:element name="dataType" type="am:TypeDefinition"/>
<xsd:element name="dependsOn" type="am:DataDependency"/>
</xsd:choice>
<xsd:attribute name="direction" type="am:DirectionType"/>
<xsd:attribute name="containingRunnable" type="xsd:string"/>
<xsd:attribute name="dataType" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="RunnableParameter" type="am:RunnableParameter"/>
<xsd:complexType name="Runnable">
<xsd:annotation>
<xsd:documentation>Smallest allocatable unit, which provides additional (optional) attributes for allocation algorithms.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:AbstractMemoryElement">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="executionCondition" type="am:ModeConditionDisjunction"/>
<xsd:element name="parameters" type="am:RunnableParameter"/>
<xsd:element name="callGraph" type="am:CallGraph"/>
<xsd:element name="activations" type="am:Activation"/>
<xsd:element name="section" type="am:Section"/>
</xsd:choice>
<xsd:attribute name="callback" type="xsd:boolean">
<xsd:annotation>
<xsd:documentation>Marker if runnable is used as callback.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="service" type="xsd:boolean">
<xsd:annotation>
<xsd:documentation>Marker if runnable is used as a service.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="asilLevel" type="am:ASILType">
<xsd:annotation>
<xsd:documentation>ASIL level for the runnable entity</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="activations" type="xsd:string"/>
<xsd:attribute name="section" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="Runnable" type="am:Runnable">
<xsd:annotation>
<xsd:documentation>Smallest allocatable unit, which provides additional (optional) attributes for allocation algorithms.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="Label">
<xsd:annotation>
<xsd:documentation>Data representation, which can be accessed by run entities.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:AbstractMemoryElement">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="dataType" type="am:DataType"/>
<xsd:element name="section" type="am:Section"/>
</xsd:choice>
<xsd:attribute name="displayName" type="xsd:string"/>
<xsd:attribute name="constant" type="xsd:boolean">
<xsd:annotation>
<xsd:documentation>Defines the label as a constant, not modifiable entity</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="bVolatile" type="xsd:boolean">
<xsd:annotation>
<xsd:documentation>Defines if the label value is volatile or persistent to survive shutdown and start of system</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="dataStability" type="am:LabelDataStability">
<xsd:annotation>
<xsd:documentation>Defines the data stability needs of the label</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="stabilityLevel" type="am:DataStabilityLevel"/>
<xsd:attribute name="section" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="Label" type="am:Label">
<xsd:annotation>
<xsd:documentation>Data representation, which can be accessed by run entities.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="Channel">
<xsd:complexContent>
<xsd:extension base="am:AbstractMemoryElement">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="elementType" type="am:DataType"/>
</xsd:choice>
<xsd:attribute name="displayName" type="xsd:string"/>
<xsd:attribute name="defaultElements" type="xsd:int"/>
<xsd:attribute name="maxElements" type="xsd:int"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="Channel" type="am:Channel"/>
<xsd:complexType name="ModeLabel">
<xsd:complexContent>
<xsd:extension base="am:AbstractMemoryElement">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="mode" type="am:Mode"/>
</xsd:choice>
<xsd:attribute name="displayName" type="xsd:string"/>
<xsd:attribute name="initialValue" type="xsd:string"/>
<xsd:attribute name="mode" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ModeLabel" type="am:ModeLabel"/>
<xsd:complexType name="Section">
<xsd:annotation>
<xsd:documentation>A section is a logical structure, which contains labels and abstract run entities.
It is used to provide an easy mechanism to distribute objects to memory,
which are belonging together.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:ReferableBaseObject">
<xsd:attribute name="asilLevel" type="am:ASILType">
<xsd:annotation>
<xsd:documentation>for specifying the ASIL level for the "virtual memory sections"</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="Section" type="am:Section">
<xsd:annotation>
<xsd:documentation>A section is a logical structure, which contains labels and abstract run entities.
It is used to provide an easy mechanism to distribute objects to memory,
which are belonging together.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType abstract="true" name="ComputationItem">
<xsd:annotation>
<xsd:documentation>Representation of a object that describes computation</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:CallGraphItem"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ComputationItem" type="am:ComputationItem">
<xsd:annotation>
<xsd:documentation>Representation of a object that describes computation</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="ExecutionNeed">
<xsd:annotation>
<xsd:documentation>Representation of the execution needs of a Runnable (default and core-specific)</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:CallGraphItem">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="needs" type="am:NeedEntry"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ExecutionNeed" type="am:ExecutionNeed">
<xsd:annotation>
<xsd:documentation>Representation of the execution needs of a Runnable (default and core-specific)</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="NeedEntry">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="value" type="am:IDiscreteValueDeviation"/>
<xsd:element ref="xmi:Extension"/>
</xsd:choice>
<xsd:attribute ref="xmi:id"/>
<xsd:attributeGroup ref="xmi:ObjectAttribs"/>
<xsd:attribute name="key" type="xsd:string" use="required"/>
</xsd:complexType>
<xsd:element name="NeedEntry" type="am:NeedEntry"/>
<xsd:complexType name="Ticks">
<xsd:annotation>
<xsd:documentation>Representation of the execution IDiscreteValueDeviation of a Runnable (default and core-specific)</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:ComputationItem">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="default" type="am:IDiscreteValueDeviation"/>
<xsd:element name="extended" type="am:TicksEntry"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="Ticks" type="am:Ticks">
<xsd:annotation>
<xsd:documentation>Representation of the execution IDiscreteValueDeviation of a Runnable (default and core-specific)</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="TicksEntry">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="key" type="am:ProcessingUnitDefinition"/>
<xsd:element name="value" type="am:IDiscreteValueDeviation"/>
<xsd:element ref="xmi:Extension"/>
</xsd:choice>
<xsd:attribute ref="xmi:id"/>
<xsd:attributeGroup ref="xmi:ObjectAttribs"/>
<xsd:attribute name="key" type="xsd:string"/>
</xsd:complexType>
<xsd:element name="TicksEntry" type="am:TicksEntry"/>
<xsd:complexType name="ModeLabelAccess">
<xsd:annotation>
<xsd:documentation>Representation of a mode label access of a run entity.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:CallGraphItem">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="data" type="am:ModeLabel"/>
</xsd:choice>
<xsd:attribute name="access" type="am:ModeLabelAccessEnum"/>
<xsd:attribute name="value" type="xsd:string">
<xsd:annotation>
<xsd:documentation>Just used in case that this access writes a value to a Mode-Label.
It can be used to define which mode value is written to the label.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="step" type="xsd:string">
<xsd:annotation>
<xsd:documentation>Just used in case of increment or decrement.
It can be used to define a step other than 1.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="data" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ModeLabelAccess" type="am:ModeLabelAccess">
<xsd:annotation>
<xsd:documentation>Representation of a mode label access of a run entity.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="LabelAccess">
<xsd:annotation>
<xsd:documentation>Representation of a label access of a run entity.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:ComputationItem">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="tags" type="am:Tag"/>
<xsd:element name="data" type="am:Label"/>
<xsd:element name="statistic" type="am:LabelAccessStatistic">
<xsd:annotation>
<xsd:documentation>Optional parameter for statistic values</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="transmissionPolicy" type="am:TransmissionPolicy">
<xsd:annotation>
<xsd:documentation>Optional parameter for transmission policy of larger data</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="dependsOn" type="am:DataDependency"/>
</xsd:choice>
<xsd:attribute name="tags" type="xsd:string"/>
<xsd:attribute name="access" type="am:LabelAccessEnum"/>
<xsd:attribute name="dataStability" type="am:LabelAccessDataStability">
<xsd:annotation>
<xsd:documentation>Defines the data stability needs of the label access</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="implementation" type="am:LabelAccessImplementation"/>
<xsd:attribute name="data" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="LabelAccess" type="am:LabelAccess">
<xsd:annotation>
<xsd:documentation>Representation of a label access of a run entity.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType abstract="true" name="ChannelAccess">
<xsd:complexContent>
<xsd:extension base="am:CallGraphItem">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="data" type="am:Channel"/>
<xsd:element name="transmissionPolicy" type="am:TransmissionPolicy"/>
</xsd:choice>
<xsd:attribute name="elements" type="xsd:int"/>
<xsd:attribute name="data" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ChannelAccess" type="am:ChannelAccess"/>
<xsd:complexType name="ChannelSend">
<xsd:complexContent>
<xsd:extension base="am:ChannelAccess"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ChannelSend" type="am:ChannelSend"/>
<xsd:complexType name="ChannelReceive">
<xsd:complexContent>
<xsd:extension base="am:ChannelAccess">
<xsd:attribute name="receiveOperation" type="am:ReceiveOperation"/>
<xsd:attribute name="dataMustBeNew" type="xsd:boolean"/>
<xsd:attribute name="elementIndex" type="xsd:int"/>
<xsd:attribute name="lowerBound" type="xsd:int"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ChannelReceive" type="am:ChannelReceive"/>
<xsd:complexType name="SemaphoreAccess">
<xsd:annotation>
<xsd:documentation>Describes an semaphore access</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:CallGraphItem">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="semaphore" type="am:Semaphore"/>
</xsd:choice>
<xsd:attribute name="access" type="am:SemaphoreAccessEnum"/>
<xsd:attribute name="waitingBehaviour" type="am:WaitingBehaviour"/>
<xsd:attribute name="semaphore" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="SemaphoreAccess" type="am:SemaphoreAccess">
<xsd:annotation>
<xsd:documentation>Describes an semaphore access</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType abstract="true" name="SenderReceiverCommunication">
<xsd:annotation>
<xsd:documentation>An abstract description for sender-receiver-communication (it can be read or write)</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:CallGraphItem">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="label" type="am:Label"/>
<xsd:element name="port" type="am:Port"/>
</xsd:choice>
<xsd:attribute name="buffered" type="xsd:boolean"/>
<xsd:attribute name="label" type="xsd:string"/>
<xsd:attribute name="port" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="SenderReceiverCommunication" type="am:SenderReceiverCommunication">
<xsd:annotation>
<xsd:documentation>An abstract description for sender-receiver-communication (it can be read or write)</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="SenderReceiverRead">
<xsd:annotation>
<xsd:documentation>The read operation of the receiver of the sender-receiver-communication</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:SenderReceiverCommunication"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="SenderReceiverRead" type="am:SenderReceiverRead">
<xsd:annotation>
<xsd:documentation>The read operation of the receiver of the sender-receiver-communication</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="SenderReceiverWrite">
<xsd:annotation>
<xsd:documentation>The write operation of the sender of the sender-receiver-communication
It contains the runnables that have the corresponding SenderReceiverRead</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:SenderReceiverCommunication">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="notifiedRunnables" type="am:Runnable"/>
</xsd:choice>
<xsd:attribute name="notifiedRunnables" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="SenderReceiverWrite" type="am:SenderReceiverWrite">
<xsd:annotation>
<xsd:documentation>The write operation of the sender of the sender-receiver-communication
It contains the runnables that have the corresponding SenderReceiverRead</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType abstract="true" name="ServerCall">
<xsd:annotation>
<xsd:documentation>An abstract description for client/server communication
It refers to a required runnable that describes the called server operation</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:CallGraphItem">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="serverRunnable" type="am:Runnable"/>
<xsd:element name="port" type="am:Port"/>
</xsd:choice>
<xsd:attribute name="serverRunnable" type="xsd:string"/>
<xsd:attribute name="port" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="ServerCall" type="am:ServerCall">
<xsd:annotation>
<xsd:documentation>An abstract description for client/server communication
It refers to a required runnable that describes the called server operation</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="SynchronousServerCall">
<xsd:annotation>
<xsd:documentation>A synchronous server call</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:ServerCall">
<xsd:attribute name="waitingBehaviour" type="am:WaitingBehaviour"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="SynchronousServerCall" type="am:SynchronousServerCall">
<xsd:annotation>
<xsd:documentation>A synchronous server call</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="AsynchronousServerCall">
<xsd:annotation>
<xsd:documentation>A asynchronous server call
It refers to a optional runnable that exploits the results produced by the server</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:ServerCall">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="resultRunnable" type="am:Runnable"/>
</xsd:choice>
<xsd:attribute name="resultRunnable" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="AsynchronousServerCall" type="am:AsynchronousServerCall">
<xsd:annotation>
<xsd:documentation>A asynchronous server call
It refers to a optional runnable that exploits the results produced by the server</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="GetResultServerCall">
<xsd:annotation>
<xsd:documentation>Get the result of a previous asynchronous server call</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:ServerCall">
<xsd:attribute name="blockingType" type="am:BlockingType"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="GetResultServerCall" type="am:GetResultServerCall">
<xsd:annotation>
<xsd:documentation>Get the result of a previous asynchronous server call</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="Group">
<xsd:annotation>
<xsd:documentation>Describes a group of deviation runnable items</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:CallGraphItem">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="items" type="am:CallGraphItem"/>
</xsd:choice>
<xsd:attribute name="name" type="xsd:string"/>
<xsd:attribute name="ordered" type="xsd:boolean"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="Group" type="am:Group">
<xsd:annotation>
<xsd:documentation>Describes a group of deviation runnable items</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="CallArgument">
<xsd:complexContent>
<xsd:extension base="am:ReferableObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="containingCall" type="am:RunnableCall"/>
<xsd:element name="parameter" type="am:RunnableParameter"/>
<xsd:element name="dependsOn" type="am:DataDependency"/>
</xsd:choice>
<xsd:attribute name="containingCall" type="xsd:string"/>
<xsd:attribute name="parameter" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="CallArgument" type="am:CallArgument"/>
<xsd:complexType name="RunnableCall">
<xsd:annotation>
<xsd:documentation>Representation of a runnable call of a run entity.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:CallGraphItem">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="tags" type="am:Tag"/>
<xsd:element name="runnable" type="am:Runnable"/>
<xsd:element name="arguments" type="am:CallArgument"/>
<xsd:element name="counter" type="am:Counter"/>
<xsd:element name="statistic" type="am:RunEntityCallStatistic"/>
</xsd:choice>
<xsd:attribute name="tags" type="xsd:string"/>
<xsd:attribute name="runnable" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="RunnableCall" type="am:RunnableCall">
<xsd:annotation>
<xsd:documentation>Representation of a runnable call of a run entity.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="CustomEventTrigger">
<xsd:annotation>
<xsd:documentation>Explicitly trigger a custom event from a runnable.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:CallGraphItem">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="event" type="am:CustomEvent"/>
</xsd:choice>
<xsd:attribute name="event" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="CustomEventTrigger" type="am:CustomEventTrigger">
<xsd:annotation>
<xsd:documentation>Explicitly trigger a custom event from a runnable.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType abstract="true" name="DataType">
<xsd:annotation>
<xsd:documentation>Central access point for different data type definitions</xsd:documentation>
</xsd:annotation>
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element ref="xmi:Extension"/>
</xsd:choice>
<xsd:attribute ref="xmi:id"/>
<xsd:attributeGroup ref="xmi:ObjectAttribs"/>
</xsd:complexType>
<xsd:element name="DataType" type="am:DataType">
<xsd:annotation>
<xsd:documentation>Central access point for different data type definitions</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType abstract="true" name="CompoundType">
<xsd:annotation>
<xsd:documentation>Couple of compound data types</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:BaseObject"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="CompoundType" type="am:CompoundType">
<xsd:annotation>
<xsd:documentation>Couple of compound data types</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="Struct">
<xsd:annotation>
<xsd:documentation>Representing a struct definition, containing different entries</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:CompoundType">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="entries" type="am:StructEntry"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="Struct" type="am:Struct">
<xsd:annotation>
<xsd:documentation>Representing a struct definition, containing different entries</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="StructEntry">
<xsd:annotation>
<xsd:documentation>Representation of one struct entry</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="dataType" type="am:DataType"/>
</xsd:choice>
<xsd:attribute name="name" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="StructEntry" type="am:StructEntry">
<xsd:annotation>
<xsd:documentation>Representation of one struct entry</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="Array">
<xsd:annotation>
<xsd:documentation>Representation of an array data type</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:CompoundType">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="dataType" type="am:DataType"/>
</xsd:choice>
<xsd:attribute name="numberElements" type="xsd:int"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="Array" type="am:Array">
<xsd:annotation>
<xsd:documentation>Representation of an array data type</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="Pointer">
<xsd:annotation>
<xsd:documentation>Representing a pointer</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:CompoundType">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="dataType" type="am:DataType"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="Pointer" type="am:Pointer">
<xsd:annotation>
<xsd:documentation>Representing a pointer</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="TypeRef">
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="typeDef" type="am:TypeDefinition"/>
</xsd:choice>
<xsd:attribute name="typeDef" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="TypeRef" type="am:TypeRef"/>
<xsd:complexType name="Alias">
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:attribute name="target" type="xsd:string">
<xsd:annotation>
<xsd:documentation>Name of the target environment</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="alias" type="xsd:string">
<xsd:annotation>
<xsd:documentation>Corresponding name in the target environment</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="Alias" type="am:Alias"/>
<xsd:complexType abstract="true" name="TypeDefinition">
<xsd:complexContent>
<xsd:extension base="am:ReferableBaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="size" type="am:DataSize">
<xsd:annotation>
<xsd:documentation>Size of the defined data type</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="TypeDefinition" type="am:TypeDefinition"/>
<xsd:complexType name="DataTypeDefinition">
<xsd:complexContent>
<xsd:extension base="am:TypeDefinition">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="dataType" type="am:DataType"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="DataTypeDefinition" type="am:DataTypeDefinition"/>
<xsd:complexType name="BaseTypeDefinition">
<xsd:annotation>
<xsd:documentation>Basic data type definition, including naming (alias) in target environments</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:TypeDefinition">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="aliases" type="am:Alias">
<xsd:annotation>
<xsd:documentation>Naming in different target environments</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="BaseTypeDefinition" type="am:BaseTypeDefinition">
<xsd:annotation>
<xsd:documentation>Basic data type definition, including naming (alias) in target environments</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType abstract="true" name="Activation">
<xsd:annotation>
<xsd:documentation>General abstraction for activation source.
Used for first definition of an activation rate, which is later refined by stimulus.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:ReferableBaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="tags" type="am:Tag"/>
</xsd:choice>
<xsd:attribute name="tags" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="Activation" type="am:Activation">
<xsd:annotation>
<xsd:documentation>General abstraction for activation source.
Used for first definition of an activation rate, which is later refined by stimulus.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="PeriodicActivation">
<xsd:annotation>
<xsd:documentation>Min and Max execution frequency within a task or timeslice</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:Activation">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="min" type="am:Time"/>
<xsd:element name="max" type="am:Time"/>
<xsd:element name="recurrence" type="am:Time"/>
<xsd:element name="offset" type="am:Time"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="PeriodicActivation" type="am:PeriodicActivation">
<xsd:annotation>
<xsd:documentation>Min and Max execution frequency within a task or timeslice</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="VariableRateActivation">
<xsd:annotation>
<xsd:documentation>Periodic activation based on other events, like rotation speed</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:Activation">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="step" type="am:Time"/>
<xsd:element name="occurrencesPerStep" type="am:IContinuousValueDeviation"/>
</xsd:choice>
<xsd:attribute name="description" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="VariableRateActivation" type="am:VariableRateActivation">
<xsd:annotation>
<xsd:documentation>Periodic activation based on other events, like rotation speed</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="SporadicActivation">
<xsd:complexContent>
<xsd:extension base="am:Activation">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="occurrence" type="am:ITimeDeviation"/>
</xsd:choice>
<xsd:attribute name="description" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="SporadicActivation" type="am:SporadicActivation"/>
<xsd:complexType name="SingleActivation">
<xsd:annotation>
<xsd:documentation>A single activation between time min and max</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:Activation">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="min" type="am:Time"/>
<xsd:element name="max" type="am:Time"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="SingleActivation" type="am:SingleActivation">
<xsd:annotation>
<xsd:documentation>A single activation between time min and max</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="EventActivation">
<xsd:annotation>
<xsd:documentation>Activation which is triggered by an event.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:Activation">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="triggeringEvents" type="am:TriggerEvent"/>
<xsd:element name="counter" type="am:Counter"/>
</xsd:choice>
<xsd:attribute name="triggeringEvents" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="EventActivation" type="am:EventActivation">
<xsd:annotation>
<xsd:documentation>Activation which is triggered by an event.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="CustomActivation">
<xsd:complexContent>
<xsd:extension base="am:Activation">
<xsd:attribute name="description" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="CustomActivation" type="am:CustomActivation"/>
<xsd:complexType name="LabelAccessStatistic">
<xsd:annotation>
<xsd:documentation>Contains information about access statistic values</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="value" type="am:NumericStatistic"/>
<xsd:element name="cacheMisses" type="am:NumericStatistic"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="LabelAccessStatistic" type="am:LabelAccessStatistic">
<xsd:annotation>
<xsd:documentation>Contains information about access statistic values</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="RunEntityCallStatistic">
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="statistic" type="am:NumericStatistic"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="RunEntityCallStatistic" type="am:RunEntityCallStatistic"/>
<xsd:complexType name="MeasurementModel">
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="measurements" type="am:Measurement"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="MeasurementModel" type="am:MeasurementModel"/>
<xsd:complexType abstract="true" name="Measurement">
<xsd:complexContent>
<xsd:extension base="am:BaseObject">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="runtimes" type="am:Time"/>
<xsd:element name="runtimeDeviation" type="am:ITimeDeviation"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="Measurement" type="am:Measurement"/>
<xsd:complexType name="EventChainMeasurement">
<xsd:complexContent>
<xsd:extension base="am:Measurement">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="eventChain" type="am:EventChain"/>
</xsd:choice>
<xsd:attribute name="eventChain" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="EventChainMeasurement" type="am:EventChainMeasurement"/>
<xsd:complexType name="TaskMeasurement">
<xsd:complexContent>
<xsd:extension base="am:Measurement">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="task" type="am:Task"/>
</xsd:choice>
<xsd:attribute name="task" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="TaskMeasurement" type="am:TaskMeasurement"/>
<xsd:complexType name="RunnableMeasurement">
<xsd:complexContent>
<xsd:extension base="am:Measurement">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="runnable" type="am:Runnable"/>
</xsd:choice>
<xsd:attribute name="runnable" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="RunnableMeasurement" type="am:RunnableMeasurement"/>
</xsd:schema>