blob: 47ef0d73c6ce1b4847345f5d8eec32d99d4d9e94 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xsd:schema xmlns:am="http://app4mc.eclipse.org/amalthea/0.9.5" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://app4mc.eclipse.org/amalthea/0.9.5">
<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="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 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="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="segments" type="am:EventChainItem"/>
<xsd:element name="strands" type="am:EventChainItem"/>
</xsd:choice>
<xsd:attribute name="name" 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