WO2017179540A1 - タイムスロット設計装置、タイムスロット設計方法およびタイムスロット設計プログラムを格納する記憶媒体 - Google Patents

タイムスロット設計装置、タイムスロット設計方法およびタイムスロット設計プログラムを格納する記憶媒体 Download PDF

Info

Publication number
WO2017179540A1
WO2017179540A1 PCT/JP2017/014688 JP2017014688W WO2017179540A1 WO 2017179540 A1 WO2017179540 A1 WO 2017179540A1 JP 2017014688 W JP2017014688 W JP 2017014688W WO 2017179540 A1 WO2017179540 A1 WO 2017179540A1
Authority
WO
WIPO (PCT)
Prior art keywords
constraint
information
correction
time slot
satisfaction
Prior art date
Application number
PCT/JP2017/014688
Other languages
English (en)
French (fr)
Inventor
智史 山崎
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to JP2018512008A priority Critical patent/JPWO2017179540A1/ja
Priority to US16/090,623 priority patent/US10880212B2/en
Publication of WO2017179540A1 publication Critical patent/WO2017179540A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/34Source routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9042Separate storage for different parts of the packet, e.g. header and payload

Definitions

  • the present invention relates to a time slot design device and the like for designing packet transmission timing in a communication network.
  • SpaceWire (SpaceWire) is a standard specification for data communication interfaces and data communication protocols performed between devices (components) mounted on artificial satellites such as commercial satellites, scientific satellites, and interplanetary probes.
  • Non-Patent Document 1 describes the contents of SpaceWire.
  • SpaceWire Equipment that uses SpaceWire will be reused on satellites with different missions for observation purposes after being used on artificial satellites. In other words, if a device compatible with SpaceWire is used, for example, satellites for other missions will be developed simply by changing the settings other than those already developed for satellite devices. Shortened.
  • SpaceWire is a specification that increases the degree of freedom in device network design when used in devices. If the degree of freedom in network design is high, the number of confirmation work increases, which increases the number of man-hours for network testing in equipment operation tests.
  • a communication integration test is performed before the integration test is performed.
  • a packet transmission timing schedule for the route in the network and each control device is designed. Packets are transmitted according to the designed transmission timing schedule.
  • a network composed of devices with an interface that supports the SpaceWire specification is called a SpaceWire network.
  • the devices that make up the SpaceWire network include various devices mounted on artificial satellites.
  • Various devices mounted on an artificial satellite are satellite-mounted devices such as power supply devices, observation devices, and posture devices.
  • the devices that make up the SpaceWire network include communication devices that communicate with the earth station and system control devices that control all systems in the satellite.
  • the system control device controls each device constituting the SpaceWire network using the network management function defined in the SpaceWire specification.
  • FIG. 25 is a block diagram illustrating a configuration example of the SpaceWire network 200.
  • the SpaceWire network 200 will be described on the assumption that the device using the SpaceWire network 200 shown in FIG. 25 is an artificial satellite.
  • the SpaceWire network 200 includes a system control device 201, a communication device 202, a power supply device 203, an attitude system control device 204, an observation system control device 205, a router 206A to a router 206E, and an attitude control device 214A to an attitude control device. 214B and observation equipment 215A to observation equipment 215X.
  • the number of each apparatus shown in FIG. 25 is an example.
  • the SpaceWire network 200 may include only one device or a plurality of devices other than the number shown in FIG.
  • the system control device 201 has a function of controlling each device configuring the SpaceWire network 200 using the network management function defined in the SpaceWire specification.
  • the system control device 201 controls each device using a command, for example.
  • the communication device 202 has a function of executing predetermined communication with an earth station (not shown) or another artificial satellite (not shown).
  • the power supply device 203 has a function of supplying power to each device constituting the SpaceWire network 200.
  • the router 206A connects the system control device 201, the communication device 202, and the power supply device 203 so that they can communicate with each other.
  • the attitude system control device 204 has a function of controlling the attitude of the artificial satellite by controlling the attitude control device 214A to the attitude control device 214B.
  • the attitude control device 214A has a function of changing the attitude of the artificial satellite with respect to a predetermined direction, for example.
  • the attitude control device 214B has a function of changing the attitude of the artificial satellite with respect to the rotation direction, for example.
  • the posture system is composed of the posture system control device 204, the posture control device 214A, and the posture control device 214B.
  • the router 206D connects the posture system control device 204, the posture control device 214A, and the posture control device 214B so that they can communicate with each other.
  • the observation system control device 205 has a function of executing various observations by controlling the observation devices 215A to 215X.
  • Each of the observation devices 215A to 215X has a function of observing the set contents.
  • the observation system is composed of the observation system control device 205 and the observation devices 215A to 215X.
  • the router 206E connects the observation system control device 205 and the observation devices 215A to 215X so that they can communicate with each other.
  • the router 206B connects the router 206A and the posture system so that they can communicate with each other.
  • the router 206C connects the router 206A, the router 206B, the attitude system, and the observation system so that they can communicate with each other.
  • a source routing method is mainly used in which a packet whose information indicating the address of each device is written in the packet header is transmitted and received. Communication using the source routing method is called path addressing communication.
  • the address of the device that relays the packet is specified in addition to the address of the device at the start point and the address of the device at the end point.
  • the source device is a device used by the transmission source or the sender for packet transmission.
  • the terminal device is a device used by the destination or recipient for packet reception.
  • the address specified in the path addressing communication is information indicating a position in the communication network.
  • the position in the communication network is specified by, for example, a port number.
  • a routing table used in, for example, TCP / IP (Transmission Control Protocol / Internet Protocol) is unnecessary.
  • path change is executed by changing the path address described in the packet header.
  • FIG. 26 is an explanatory diagram illustrating an example of path addressing communication.
  • the system shown in FIG. 26 includes mounted devices 210A to 210B and routers 206X to 206Y. That is, the system shown in FIG. 26 includes two mounted devices and two routers.
  • the mounted device 210A illustrated in FIG. 26 is connected to the mounted device 210B through two routers so as to be communicable.
  • 26 includes a port whose path address is “1” connected to the mounted device 210A and a port whose path address is “2” connected to the router 206Y. 26 includes a port having a path address “3” connected to the router 206X and a port having a path address “4” connected to the mounted device 210B.
  • the port whose path address is “1” is port 1
  • the port whose path address is “2” is port 2
  • the port whose path address is “3” is port 3
  • the port whose path address is “4” is port 4.
  • each mounted device transmits a packet to another mounted device
  • the packet that transmits a path address that is address information assigned to each port in the relay device (that is, the router 206X and the router 206Y) through which the packet passes is transmitted.
  • the packet header In the packet header.
  • the relay device that is, the router 206X and the router 206Y
  • the relay device that has received the packet transmits the packet to the next device from the port corresponding to the head path address described in the packet header.
  • each router deletes the first path address described in the packet header, which is the path address of the target port, before transmitting the packet from the target port. That is, in the path addressing communication, the head path address described in the packet header is deleted every time the packet passes through the router.
  • the mounted device 210A shown in FIG. 26 transmits a packet to the mounted device 210B
  • the mounted device 210A describes [2-4] as a path address in the packet header of the packet to be transmitted.
  • the path address [2-4] described in the packet header indicates that the packet to be transmitted sequentially passes through the port having the path address “2” and the port having the path address “4”.
  • the path address [pq] written in the packet header indicates that “p” is the leading path address and “q” is the trailing path address. Note that the number of path addresses described in the packet header is not limited to two.
  • the path address is described in the packet header in the format of [pqr].
  • the path address [pqr] indicates that “p” is a leading path address, “q” is an intermediate path address, and “r” is a trailing path address. .
  • the mounted device 210A describes [2-4] as a path address in the packet header.
  • the mounted device 210A transmits the packet to the router 206X.
  • the mounted device 210A When transmitting a packet to the router 206X, the mounted device 210A does not need to specify the port of the destination router 206X. This is because the mounted device 210A is connected only to port 1 of the router 206X as shown in FIG. 26, and thus the transmitted packet inevitably arrives at port 1 of the router 206X.
  • the router 206X transmits the packet from the port corresponding to the head path address described in the packet header of the received packet. Since [2-4] is described as a path address in the packet header, the port corresponding to the head path address is port 2.
  • the router 206X deletes the head path address (that is, the path address “2”) described in the packet header.
  • the path address described in the packet header is [4].
  • the router 206X deletes the path address “2” that is the head path address described in the packet header, and removes the packet from the port 2 that is the port corresponding to the deleted path address. Send.
  • the port 2 of the router 206X is connected to the port 3 of the router 206Y. Therefore, the packet transmitted from the router 206X is received by the router 206Y. Next, the router 206Y transmits the packet from the port corresponding to the head path address described in the packet header of the received packet. Since [4] is described as the path address in the packet header, the port corresponding to the head path address is port 4.
  • the router 206Y deletes the head path address (that is, the path address “4”) described in the packet header.
  • the path address described in the packet header becomes empty (empty set).
  • the router 206Y deletes the path address “4” that is the head path address described in the packet header, and removes the packet from the port 4 that is the port corresponding to the deleted path address. Send.
  • the port 4 of the router 206Y is connected to the mounted device 210B. Therefore, a packet with an empty path address transmitted from the router 206X is received by the onboard device 210B.
  • the mounted device 210B determines that a packet with an empty path address is a packet that does not need to be transferred, that is, a packet destined for its own device. As described above, the mounted device 210B receives a packet addressed to itself.
  • the on-board device 210A can transmit the packet to the on-board device 210B by describing in the packet header the path address of the transmission port of the router through which the packet arrives at the on-board device 210B.
  • the mounted device 210B may describe the path address [3-1] in the packet header of the packet to be transmitted as shown in FIG.
  • SpaceWire defines a time interval of 15.625 ms called a time slot. That is, 64 time slots correspond to 1 second.
  • SpaceWire employs a technique for controlling transmission timing so that packets are transmitted at a predetermined cycle or a predetermined timing by assigning packets to be communicated to a predetermined time slot.
  • the predetermined period is 1 second, for example.
  • a technique for controlling transmission timing using a time slot defined by SpaceWire is described in Non-Patent Document 2.
  • a control device that supports the SpaceWire specification maintains a list of time slots to which packets to be transmitted are assigned. In accordance with the list of held time slots, the control device executes communication in which packets are transmitted and received between the devices.
  • Non-Patent Document 3 describes a scheduling tool used in a SpaceWire network (particularly, an intra-satellite network).
  • the scheduling tool described in Non-Patent Document 3 uses the topology information of the SpaceWire network and the communication request information to calculate the path address of the position where the packet passes from the transmission source device to the destination device.
  • Non-Patent Document 3 allocates packets to time slots used for packet communication.
  • the format of topology information and the format of communication request information described in Non-Patent Document 3 are XML (Extensible Markup Language) formats.
  • Non-Patent Document 4 describes a method for scheduling an intra-satellite network using a constraint program. The method described in Non-Patent Document 4 converts all the information indicating the connection between devices in the SpaceWire network, the upper limit of the bandwidth usage rate in each time slot, and the like into constraint equations.
  • Non-Patent Document 4 converts path calculation and time slot allocation into a solution to the constraint satisfaction problem.
  • the method described in Non-Patent Document 4 solves the transformed constraint satisfaction problem, and performs scheduling of the intra-satellite network using the derived satisfaction solution.
  • the constraint satisfaction solution is searched by, for example, an existing constraint satisfaction solver.
  • the searched constraint satisfaction solution is analyzed, information on a node through which a packet requested to be transmitted and time slot allocation information are obtained.
  • Non-Patent Document 5 describes a method of searching for a satisfactory solution by relaxing too severe restrictions. In general, there may be no satisfaction solution for the constraint satisfaction problem. In the method described in Non-Patent Document 5, when there is no satisfaction solution in the constraint satisfaction problem, a partial constraint group in which a contradiction exists is extracted from all constraint groups, and all constraints are set so that no contradiction exists. Appropriately remove selected constraints from the group. If the selected constraint is properly deleted, the original constraint satisfaction problem is corrected and a satisfaction solution is obtained.
  • Unsat Core The partial constraint group in which the contradiction included in the original all constraint group exists is called Unsatisfiable Core (hereinafter referred to as Unsat Core).
  • Unsat Core The partial constraint group in which the contradiction included in the original all constraint group exists is called Unsatisfiable Core (hereinafter referred to as Unsat Core).
  • Non-Patent Document 5 describes an algorithm that calculates Unsat Core at a high speed so that there is only one restriction to be deleted to eliminate contradiction.
  • Non-Patent Document 3 allocates time slots by solving an optimization problem using an annealing method. However, when allocating time slots by solving the optimization problem, the scheduling tool also calculates a slot allocation result that does not satisfy the constraints.
  • Non-Patent Document 3 calculates a slot allocation result that does not satisfy the constraint
  • the user of the scheduling tool indicates that the calculated slot allocation result does not satisfy the constraint. I can not grasp from.
  • Non-Patent Document 1 and Non-Patent Document 2 describe the specifications of SpaceWire. However, Non-Patent Document 1 and Non-Patent Document 2 do not describe a solution to the above-described problem that may occur when the scheduling tool described in Non-Patent Document 3 is used at the time of design.
  • Non-Patent Document 4 performs time slot allocation by executing a constraint program, a slot allocation result that satisfies the constraints can be calculated. That is, when the method described in Non-Patent Document 4 is used, the above problem in the scheduling tool described in Non-Patent Document 3 is solved.
  • the designer reviews the design content of the communication request and performs time slot allocation again. However, when reviewing the design content of the communication request, the designer can obtain a satisfactory solution by correcting any item in the design content of the communication request, even if referring to the output result by the method described in Non-Patent Document 4. I don't know if I can do it.
  • Non-Patent Document 5 can present restriction candidates requiring correction to the designer by calculating Unsat Core. That is, when the method described in Non-Patent Document 5 is used, the above-described problem in the method described in Non-Patent Document 4 is solved. However, the method described in Non-Patent Document 5 cannot select a correction target constraint or present a reason for selecting a correction target constraint.
  • Non-Patent Document 5 does not describe the contents of restrictions that are taken into consideration when executing time slot allocation. In order to present a specific correction location and correction reason, it is required that the content of the constraints considered when executing the time slot allocation is specific.
  • the present invention provides a time slot design device, a time slot design method, and a time slot design program capable of outputting the correction location and the reason for the correction related to the slot allocation result satisfying the corrected constraint, which solve the above-described problems. For the purpose.
  • One aspect of the time slot designing apparatus outputs a correction constraint that is a constraint to be included in a constraint group related to a constraint satisfaction problem for which a satisfaction solution is not derived and a correction reason that is a reason for correcting the correction constraint.
  • An output means and a derivation means for deriving a satisfaction solution of the constraint satisfaction problem generated based on the constraint group in which the output modified constraint is modified, and the derivation means is output until the satisfaction solution is derived Outputs information indicating the revision constraint and the outputted revision reason.
  • One aspect of the time slot design method outputs a correction constraint that is a constraint to be included in a constraint group related to a constraint satisfaction problem for which a satisfaction solution is not derived and a correction reason that is a reason for correcting the correction constraint. Deriving a satisfaction solution for the constraint satisfaction problem generated based on the constraint group in which the output modification constraint is modified, and the information indicating the modification constraint output until the satisfaction solution is derived and the reason for the modification Is output.
  • correction constraints and correction constraints that are correction target constraints included in a constraint group related to a constraint satisfaction problem for which a satisfaction solution is not derived are corrected in a computer.
  • the output process that outputs the reason for correction, the derivation process for deriving a satisfaction solution of the constraint satisfaction problem generated based on the constraint group in which the output modification constraint is modified, and the satisfaction solution is derived
  • An information output process for outputting information indicating the output correction constraint and the output correction reason is executed.
  • FIG. 3 is a block diagram illustrating a configuration example of a constraint creating unit 110.
  • FIG. It is explanatory drawing which shows the example of a communication request information list. It is explanatory drawing which shows the example of the path address information list contained in topology information. It is explanatory drawing which shows the example of the connection information list contained in topology information.
  • 2 is a block diagram showing a part of a configuration example of a SpaceWire network 200.
  • FIG. 3 is a block diagram illustrating a configuration example of a constraint satisfaction problem solving unit 130.
  • FIG. 6 is a block diagram illustrating a configuration example of a second embodiment of a constraint creating unit 110.
  • FIG. It is explanatory drawing which shows the example of a slot restriction
  • 10 is a flowchart illustrating an operation of a bandwidth constraint creation process by a bandwidth constraint creation unit 114 according to the second embodiment.
  • 10 is a flowchart illustrating an operation of slot restriction constraint creation processing by a slot restriction constraint creation unit 115 according to the second embodiment.
  • It is a flowchart which shows the operation
  • It is a block diagram which shows the outline
  • 2 is a block diagram illustrating a configuration example of a SpaceWire network 200.
  • FIG. 1 is a block diagram showing a configuration example of a first embodiment of a transmission timing scheduler 100 according to the present invention.
  • the transmission timing scheduler 100 of the present embodiment creates schedule information for preventing human error and performing highly reliable communication. Further, when the transmission timing scheduler 100 of this embodiment is used, the designer can quickly review the design content of the communication request.
  • the transmission timing scheduler 100 shown in FIG. 1 creates design contents related to devices in the communication network. Specifically, the transmission timing scheduler 100 creates a time slot table indicating a packet transmission timing schedule used in the SpaceWire network 200 shown in FIG. In addition, the transmission timing scheduler 100 according to the present embodiment also presents correction points in the constraint group together with the time slot table.
  • the transmission timing scheduler 100 of this embodiment includes a constraint creation unit 110, a constraint information storage unit 120, a constraint satisfaction problem solving unit 130, and a satisfaction solution analysis unit 140.
  • the transmission timing scheduler 100 receives communication request information, topology information, and constraint definition information. Note that the constraint definition information need not be input.
  • any means may be used for inputting the communication request information, the topology information, and the constraint definition information to the transmission timing scheduler 100.
  • a user of the transmission timing scheduler 100 may input information to an input device (not shown), and the input device may transmit the input information to the transmission timing scheduler 100.
  • the user may input each information by directly operating the transmission timing scheduler 100.
  • the constraint creation unit 110 of the transmission timing scheduler 100 has a function of creating constraint information with supplemental information.
  • the constraint creation unit 110 stores the created constraint information with supplemental information in the constraint information storage unit 120.
  • the constraint satisfaction problem solving unit 130 has a function of generating satisfaction solution information and correction location information based on the constraint information with supplementary information stored in the constraint information storage unit 120.
  • the constraint satisfaction problem solving unit 130 inputs the generated satisfaction solution information to the satisfaction solution analysis unit 140.
  • the satisfaction solution analysis unit 140 generates scheduling result information using the input satisfaction solution information.
  • the scheduling result information indicates a time slot allocation result.
  • the transmission timing scheduler 100 outputs scheduling result information and correction location information.
  • the satellite control device When the output scheduling result information is appropriately input, the satellite control device operates according to the time slot allocation result indicated by the input information.
  • the correction part information indicates a correction comment including a correction part and a correction reason for the correction part.
  • the user of the transmission timing scheduler 100 can correct the input communication request information with reference to the output correction part information.
  • the user can cause the transmission timing scheduler 100 to execute time slot allocation again using the corrected communication request information.
  • FIG. 2 is a block diagram illustrating a configuration example of the constraint creation unit 110.
  • the constraint creation unit 110 of the present embodiment includes a correction candidate constraint creation unit 111 and a background constraint creation unit 112.
  • the modification candidate constraint creation unit 111 of the constraint creation unit 110 includes constraint information, a “modification candidate” tag, and constraint information with supplementary information including a modification comment based on communication request information and topology information. Create That is, the constraint information with supplementary information created by the modification candidate constraint creation unit 111 indicates a modification candidate constraint.
  • the correction candidate constraint creation unit 111 stores the created constraint information with supplementary information in the constraint information storage unit 120.
  • the background constraint creation unit 112 of the constraint creation unit 110 is based on the communication request information and topology information, and includes a constraint formula, a “background” tag, and a constraint with supplementary information including a correction reason comment. Create information. That is, the constraint information with supplementary information created by the background constraint creation unit 112 indicates a background constraint. The background constraint creation unit 112 stores the created constraint information with supplemental information in the constraint information storage unit 120.
  • modification candidate constraint creation unit 111 and the background constraint creation unit 112 may create constraint information with supplementary information using constraint definition information.
  • an example will be described in which the correction candidate constraint creating unit 111 and the background constraint creating unit 112 create constraint information with supplementary information without using constraint definition information.
  • the correction candidate constraint creation unit 111 creates a correction candidate constraint so that there is always a satisfying solution for the constraint satisfaction problem in which only the constraints included in the correction candidate constraint group created by the correction candidate constraint creation unit 111 are considered.
  • the background constraint creation unit 112 creates a background constraint so that a satisfaction solution always exists in the constraint satisfaction problem in which only the constraints included in the background constraint group created by the background constraint creation unit 112 are considered.
  • Unsat Core always includes the constraints included in the candidate correction constraint group. Both of the constraints included in the background constraint group are included.
  • the transmission timing scheduler 100 uses the property that Unsat Core always includes both the constraint included in the correction candidate constraint group and the constraint included in the background constraint group, and uses the background constraint to determine the constraint to be corrected. Reason for selection and modification. If only the constraints included in the modification candidate constraint group are included in Unsat Core, the transmission timing scheduler 100 cannot make a reason for modification to the modification target constraint because there is no constraint included in the background constraint group.
  • Unsat Core includes both the constraints included in the candidate correction constraint group and the constraints included in the background constraint group. It is done.
  • Communication request information is information indicating the content of a packet requested for transmission by a satellite control device included in the SpaceWire network.
  • the communication request information indicates specific information related to communication such as path information related to the communication to be tested and the protocol type and data size used in the test. That is, the communication request information is created according to the design intention of the network designer.
  • FIG. 3 is an explanatory diagram showing an example of a communication request information list.
  • the communication request information list shown in FIG. 3 includes a plurality of communication request information.
  • the communication request information includes a communication request ID (Identifier), a protocol, a transmission source, a destination, a path address, a command, a reply, a reply path address, a data size, and the like. , And communication interval.
  • the communication request ID is an identifier for identifying communication request information.
  • the protocol is a protocol used in the requested communication indicated by the communication request ID.
  • RMAP Remote Memory Access Protocol
  • RMAP Remote Memory Access Protocol
  • the RMAP address is a memory address of a target device accessed by RMAP.
  • Non-Patent Document 1 defines a memory address accessed in a communication destination device.
  • the transmission source indicates the name of the device that is the transmission source (starting point) of the packet or the identifier of the device.
  • the destination indicates the name of the device that is the destination (end point) of the packet, or the identifier of the device.
  • the path address is an address used in the requested path addressing communication indicated by the communication request ID. As described above, the path address is described in the packet header of the packet to be transmitted. Further, the format of the path address in this embodiment is the same as the format of the path address used in the system shown in FIG.
  • the command indicates the type of command included in the packet to be transmitted.
  • As the command type for example, a command name is indicated.
  • the reason why the command is included in the communication request information of the present embodiment is that there are many types of commands among the types of information used in the test.
  • the communication request information may include information required for a test other than the command.
  • Reply indicates whether or not there is a reply to the transmitted packet.
  • the reply path address is a path address used in reply packet communication.
  • the data size is the data size of the packet used in the requested communication indicated by the communication request ID.
  • the unit of the data size shown in FIG. 3 is byte.
  • the data size may include a value in units other than bytes.
  • the communication interval is an interval at which the requested communication indicated by the communication request ID is executed.
  • the number of time slots is described. For example, communication with the communication request ID “1” is repeatedly executed with a time interval corresponding to two time slots.
  • the format of the communication request information is not limited to the format shown in FIG.
  • the format of the communication request information may be a command list format composed of commands input to and output from each control device included in the SpaceWire network.
  • the topology information includes information on devices included in the SpaceWire network, such as a control unit, a router, a posture device, and an observation device, and connection information (link) that is information related to device connection.
  • the connection information is information indicating the port of the device to which the port of each device including the router is connected.
  • the topology information may include information other than connection information related to devices included in the SpaceWire network.
  • the topology information may include information indicating the performance and functions of devices included in the SpaceWire network.
  • the topology information of the present embodiment includes path address information related to the path address and connection information related to the connection.
  • FIG. 4 is an explanatory diagram illustrating an example of a path address information list included in the topology information.
  • the path address information list shown in FIG. 4 includes a plurality of path address information.
  • FIG. 5 is an explanatory diagram showing an example of a connection information list included in the topology information.
  • the connection information list shown in FIG. 5 includes a plurality of connection information.
  • FIG. 4 and the connection information shown in FIG. 5 are information created by using the port numbers (path addresses) of the ports of each router included in the SpaceWire network 200 shown in FIG.
  • FIG. 6 is a block diagram showing a part of a configuration example of the SpaceWire network 200.
  • the line connecting the device and the router shown in FIG. 6 and the line connecting the routers represent a link.
  • the SpaceWire network 200 includes links.
  • FIG. 6 shows the path addresses of the ports of the routers 206A to 206C included in the SpaceWire network 200 shown in FIG. Specifically, a rectangle in each router connected to each link shown in FIG. 6 represents a port. Also, the numbers described in the rectangles in each router are port numbers (path addresses). For example, the path address of the port of the router 206A connected to the port of the system control device 201 via a link is “12”.
  • the path address information shown in FIG. 4 is composed of the device name, port, and maximum delay time of each device.
  • the device name is a name of a device included in the SpaceWire network 200. In the device name, a specific name may be described, or information such as an identifier that can identify the device may be described.
  • the port indicates a port number (path address) of a port used as a route when a packet is transmitted to the device indicated by the device name. For example, when a packet is transmitted to the system control device 201, a port whose path address is “1” is used as a route.
  • the maximum delay time is the maximum time required for a packet to reach the device indicated by the device name via the port indicated by the path address.
  • the unit of the maximum delay time shown in FIG. 4 is seconds. Note that a value in units other than seconds may be written in the maximum delay time.
  • connection information shown in FIG. 5 includes a link ID, a connection source device name, a connection source port, a connection destination device name, a connection destination port, and a communication capacity.
  • the link ID is an identifier that identifies the link.
  • connection source device name indicates the name of the connection source device to which the link indicated by the link ID is connected or the ID of the connection source device.
  • the connection source port indicates the port number of the port to which the link of the device indicated by the connection source device name is connected.
  • connection destination device name indicates the name of the connection destination device to which the link indicated by the link ID is connected or the ID of the connection destination device.
  • the connection destination port indicates the port number of the port to which the link of the device indicated by the connection destination device name is connected.
  • connection information shown in FIG. 5 the information indicated by the connection source device name and the information indicated by the connection source port, the information indicated by the connection destination device name and the information indicated by the connection destination port may be interchanged.
  • connection information with the link ID “1” shown in FIG. 5 communication from the system control device 201 to the router 206A and the router 206A to the system control device 201 via the link with the link ID “1”. It can be seen that both communications are performed.
  • the communication capacity is the communication capacity of the link indicated by the link ID.
  • a value indicating the communication capacity for example, a communication bandwidth value is described.
  • the unit of communication capacity shown in FIG. 5 is Mbit / second. Note that a value in units other than Mbit / second may be written in the communication capacity.
  • FIG. 7 is a block diagram illustrating a configuration example of the constraint satisfaction problem solving unit 130.
  • the constraint satisfaction problem solving unit 130 of this embodiment includes a problem solving unit 131 and an Unsat Core analysis unit 132.
  • the problem solving unit 131 of the constraint satisfaction problem solving unit 130 has a function of obtaining a satisfaction solution that is a solution that satisfies all the constraints indicated by the information stored in the constraint information storage unit 120.
  • the problem solving unit 131 is corrected until the satisfaction solution is obtained, including the satisfaction solution information including information indicating the value assigned to the variable when the satisfaction solution is derived. And correction location information including information indicating the restriction and correction comment.
  • the problem solving unit 131 If the satisfying solution is not found even after solving the constraint satisfaction problem, the problem solving unit 131 generates Unsat Core. Next, the problem solving unit 131 inputs the generated Unsat Core to the Unsat Core analysis unit 132.
  • the Unsat Core analysis unit 132 has a function of analyzing the Unsat Core input with reference to the constraint information with supplementary information. Using the information analyzed by Unsat Core, the Unsat ⁇ Core analysis unit 132 selects a constraint to be modified from the constraint group indicated by the constraint information with supplementary information including the “modification candidate” tag, and generates a modification comment. .
  • one Unsat Core includes a part of the constraints inconsistent among all the constraints indicated by the information stored in the constraint information storage unit 120. That is, even if the restriction to be corrected is removed from all the restrictions, the problem solving unit 131 may not be able to obtain a satisfactory solution.
  • the search for the satisfaction solution by the problem solving unit 131 and the derivation of the constraint to be corrected by the Unsat Core analysis unit 132 are repeatedly executed until a satisfactory solution is obtained.
  • the problem solving unit 131 searches for a satisfying solution that is a solution that satisfies all of the given constraint groups.
  • the constraint group initially given to the problem solving unit 131 is a constraint group including all constraints indicated by the information stored in the constraint information storage unit 120.
  • the constraint group given to the problem solving unit 131 in the second and subsequent search for satisfying solutions is all constraints obtained by removing the constraint to be corrected input from the UnsatUnCore analysis unit 132 from the first given constraint group. It is a configured constraint group.
  • the problem solving unit 131 outputs the satisfied solution information and the corrected part information.
  • the Unsat Core analysis unit 132 receives the Unsat Core from the problem solving unit 131.
  • the Unsat Core analysis unit 132 classifies the constraints included in the input Unsat Core into correction candidate constraints and background constraints.
  • the Unsat Core analysis unit 132 selects a correction target constraint from the classified correction candidate constraints, and inputs the selected constraint to the problem solving unit 131.
  • FIG. 8 is an explanatory diagram showing an example of satisfaction solution information.
  • the sufficiency solution information is composed of variable information indicating variables.
  • the variable information includes a variable name and a variable value.
  • variable name in this embodiment is defined in the format of “slot n; packet m”. Note that n is a time slot number, and m is a communication request ID or packet number related to a packet. The value of the variable in this embodiment is either 0 or 1.
  • variable value of the variable name “slot n; packet m” is 1, a time slot with slot number n is assigned to a packet related to a communication request with a communication request ID m.
  • the time slot with the slot number n is not assigned to the packet related to the communication request with the communication request ID m.
  • FIG. 9 is an explanatory diagram illustrating an example of correction location information.
  • the correction location information indicates a corrected constraint.
  • the correction location information is composed of a correction communication restriction ID and a correction comment.
  • the modified communication constraint ID is an identifier for identifying the modified constraint.
  • the satisfaction solution analysis unit 140 has a function of generating schedule result information based on the input satisfaction solution information.
  • FIG. 10 is an explanatory diagram illustrating an example of schedule result information.
  • the schedule result information is composed of a communication request ID and a time slot.
  • the communication request ID is information defined in the communication request information.
  • the schedule result information the number of the time slot assigned to the communication request ID is described.
  • the satisfaction solution analysis unit 140 obtains the time slot allocation result indicated by the schedule result information by interpreting the value of the variable described in the satisfaction solution information.
  • FIG. 11 is a flowchart illustrating an overall operation of the design process performed by the transmission timing scheduler 100 according to the first embodiment.
  • Communication request information and topology information are input to the transmission timing scheduler 100.
  • constraint definition information may be input to the transmission timing scheduler 100 (step S110).
  • the constraint creation unit 110 creates constraint information with supplemental information based on the input communication request information and topology information (step S120).
  • the constraint creation unit 110 stores the created constraint information with supplemental information in the constraint information storage unit 120.
  • the constraint satisfaction problem solving unit 130 uses the information stored in the constraint information storage unit 120 to create satisfaction solution information and correction location information (step S130).
  • the constraint satisfaction problem solving unit 130 inputs the created satisfaction solution information to the satisfaction solution analysis unit 140.
  • the satisfaction solution analysis unit 140 creates scheduling result information based on the input satisfaction solution information (step S140).
  • the transmission timing scheduler 100 outputs the created scheduling result information and correction location information (step S150). After the output, the transmission timing scheduler 100 ends the design process.
  • FIG. 12 is a flowchart illustrating the operation of the constraint information creation process with supplemental information by the constraint creation unit 110 according to the first embodiment.
  • the communication request information and topology information input to the transmission timing scheduler 100 are input to the constraint creating unit 110.
  • the constraint definition information may be input to the constraint creation unit 110 (step S121).
  • the modification candidate constraint creating unit 111 creates constraint information with supplementary information indicating modification candidate constraints based on the input information (step S122).
  • the modification candidate constraint creation unit 111 stores the created constraint information with supplementary information in the constraint information storage unit 120.
  • the background constraint creation unit 112 creates constraint information with supplementary information indicating background constraints based on the input information (step S123).
  • the background constraint creation unit 112 stores the created constraint information with supplemental information in the constraint information storage unit 120. After storing, the constraint creating unit 110 ends the constraint information creating process with supplemental information.
  • FIG. 13 is a flowchart illustrating the operation of the satisfaction solution search process by the constraint satisfaction problem solving unit 130 of the first embodiment.
  • the constraint satisfaction problem solving unit 130 acquires all the constraints indicated by the constraint information with supplementary information stored in the constraint information storage unit 120 (step S131). Next, the problem solving unit 131 searches for a satisfying solution that is a solution that satisfies all the constraints acquired in step S131 (step S132).
  • the problem solving unit 131 If no satisfactory solution is derived (No in step S133), the problem solving unit 131 outputs Unsat Core.
  • the problem solving unit 131 inputs the output Unsat Core to the Unsat Core analysis unit 132 (step S134).
  • the Unsat Core analysis unit 132 analyzes the input Unsat Core, and generates a correction constraint that is a constraint to be corrected and a correction comment for the correction constraint (Step S135).
  • the Unsat Core analysis unit 132 stores the generated correction comment until a satisfactory solution is derived.
  • the problem solving unit 131 searches again for a satisfying solution that satisfies the constraint group obtained by removing the correction constraint generated in step S135 from all the constraints acquired in step S131 (step S136). Note that the problem solving unit 131 may search for a satisfying solution that satisfies the constraint group in which the content of the correction constraint is corrected, instead of the constraint group from which the correction constraint is removed in step S136.
  • the problem solving unit 131 repeatedly executes the processing from step S133 to step S136 until a satisfactory solution is derived. Note that if the processing loop of step S133 to step S136 is continuously executed, the constraint group to be searched for a satisfactory solution will no longer include the correction candidate constraint, and only the background constraint will be included.
  • the background constraint creation unit 112 creates the background constraint so that a satisfaction solution always exists in the constraint satisfaction problem in which only the constraints included in the background constraint group are considered, if only the background constraint is included in the constraint group, The problem solving unit 131 can derive a satisfactory solution. That is, the processing loop from step S133 to step S136 always ends.
  • the problem solving unit 131 When a satisfactory solution is derived (Yes in step S133), the problem solving unit 131 outputs sufficient solution information indicating the derived satisfactory solution and existing correction location information (step S137).
  • the correction location information that is output includes the correction constraints and correction comments generated in step S135. After the output, the constraint satisfaction problem solving unit 130 ends the satisfaction solution search process.
  • FIG. 14 is a flowchart illustrating the operation of the satisfaction solution analysis process performed by the satisfaction solution analysis unit 140 according to the first embodiment.
  • Satisfaction solution information is input from the constraint satisfaction problem solving unit 130 to the satisfaction solution analysis unit 140 (step S141).
  • the satisfaction solution analysis unit 140 lists all the variable information having a variable value of 1 from the input satisfaction solution information (step S142).
  • the satisfaction solution analysis unit 140 assigns a time slot to the packet according to the variable name indicated by each enumerated variable information (step S143). After all the time slot assignments are performed for the variable information whose variable value is 1, the satisfaction solution analysis unit 140 outputs scheduling result information indicating all the results of assigning the time slots to the packets (step S144). .
  • FIG. 15 is a flowchart illustrating an operation of Unsat Core analysis processing by the Unsat Core analysis unit 132 according to the first embodiment.
  • Unsat Core is input to the Unsat Core analysis unit 132 (step S161).
  • the Unsat Core analysis unit 132 classifies the constraints included in the input Unsat Core into correction candidate constraints and background constraints (step S162).
  • the Unsat Core analysis unit 132 refers to the information stored in the constraint information storage unit 120 and classifies the constraints.
  • the Unsat Core analysis unit 132 selects a correction constraint that is a constraint to be corrected from the classified correction candidate constraints. Further, the Unsat Core analysis unit 132 acquires a correction comment related to the selected correction constraint from the constraint information with supplemental information (step S163).
  • the example illustrated in FIG. 9 is an example when the Unsat Core analysis unit 132 selects one correction constraint.
  • the Unsat Core analysis unit 132 adds a message indicating all correction reasons included in the background constraint group to the correction comment (step S164).
  • the Unsat Core analysis unit 132 outputs the correction constraint and the correction comment (step S165). After the output, the Unsat Core analysis unit 132 ends the Unsat Core analysis process.
  • the transmission timing scheduler 100 includes constraint information with supplemental information to which a tag indicating whether the constraint is a fixed constraint or a constraint for a correction candidate and information regarding a correction comment that the design apparatus presents together with a correction portion is added.
  • a constraint creation unit 110 is provided.
  • the constraint creation unit 110 takes into account when determining the communication timing and the topology information indicating the connection relationship of the devices included in the communication network, the communication request information indicating the communication requested to be performed by the devices included in the communication network, and the communication timing.
  • the constraint information with supplementary information is created based on the constraint definition information indicating the constraint that requires.
  • the created constraint information with supplementary information is used in scheduling of packet transmission timing for control devices included in the communication network.
  • the transmission timing scheduler 100 of the present embodiment is a satisfaction solution that is variable information of a solution that satisfies all the constraint groups indicated by the constraint information with supplemental information or the constraint groups to which the constraints to which the correction candidate tags are attached are corrected.
  • a constraint satisfaction problem solving unit 130 that outputs information is included.
  • the constraint satisfaction problem solving unit 130 When deriving a satisfaction solution, the constraint satisfaction problem solving unit 130 generates correction location information including a corrected constraint among all constraint groups and a correction comment for the corrected constraint. That is, the constraint satisfaction problem solving unit 130 can present the correction location of the constraint group and the correction reason.
  • the transmission timing scheduler 100 of the present embodiment includes a satisfaction solution analysis unit 140 that performs scheduling of packet transmission timing for each control device using the output satisfaction solution information and creates scheduling result information indicating a scheduling result. .
  • the transmission timing scheduler 100 appropriately performs transmission timing scheduling in path addressing communication so that human error and bandwidth excess on the link do not occur.
  • the constraint satisfaction problem solving unit 130 creates information indicating the corrected communication request and the reason for correcting the communication request, and outputs the generated information to the outside.
  • the transmission timing scheduler 100 of the present embodiment can clearly present the reason for correcting the communication request to the designer. Therefore, since the designer can review the communication request design quickly, the occurrence of a failure due to a human error in communication is prevented.
  • the packet transmission timing schedule information created by the transmission timing scheduler 100 of the present embodiment is used, highly reliable communication is performed as compared with the case where it is not used.
  • FIG. 16 is a block diagram illustrating a configuration example of the constraint creation unit 110 according to the second embodiment.
  • the constraint creation unit 110 of the present embodiment includes a transmission constraint creation unit 113, a bandwidth constraint creation unit 114, a slot restriction constraint creation unit 115, and a dependency relationship constraint creation unit 116.
  • the transmission constraint creation unit 113 creates constraint information with supplementary information indicating the correction candidate constraint.
  • the band constraint creation unit 114, the slot restriction constraint creation unit 115, and the dependency relationship constraint creation unit 116 include supplementary information indicating background constraints. Create constraint information.
  • slot restriction definition information and dependency relationship definition information are input to the constraint creation unit 110 of this embodiment instead of the constraint definition information of the first embodiment.
  • the configuration of the second embodiment other than the constraint creation unit 110 is the same as the configuration of the first embodiment.
  • the transmission request creation unit 113 receives communication request information.
  • the transmission constraint creation unit 113 has a function of creating constraint information with supplemental information based on the input communication request information. Specifically, the transmission constraint creation unit 113 creates one constraint expression for the packet input process indicated by one communication request information. That is, the packet input process is made into a constraint equation.
  • the transmission constraint creation unit 113 adds a “correction candidate” tag and a correction comment as supplementary information to the constraint information in which the constraint formula is described.
  • the transmission constraint creation unit 113 stores the created constraint information with supplementary information in the constraint information storage unit 120.
  • the bandwidth constraint creation unit 114 receives communication request information and topology information.
  • the bandwidth constraint creation unit 114 has a function of creating constraint information with supplemental information based on the input communication request information and topology information.
  • the bandwidth constraint creation unit 114 creates a constraint equation based on the upper limit value of the bandwidth usage rate of each link in each time slot. Further, the band constraint creating unit 114 adds the “background” tag and the correction reason comment as supplementary information to the constraint information in which the constraint formula is described. The bandwidth constraint creation unit 114 stores the created constraint information with supplemental information in the constraint information storage unit 120.
  • the slot restriction constraint creating unit 115 receives communication request information and slot limit definition information.
  • the slot restriction constraint creating unit 115 has a function of creating restriction information with supplementary information based on the input communication request information and slot restriction definition information. Specifically, the slot restriction constraint creating unit 115 creates constraint information with supplementary information indicating constraints that restrict the choices of assigned time slots depending on the type of packet.
  • the standard specification of SpaceWire-D stipulates that (4n + 1) th time slot is assigned to communication packets whose service type is observation data collection.
  • the slot restriction constraint creating unit 115 can create constraint information with supplementary information regarding the rules of assigned time slots.
  • the slot restriction constraint creating unit 115 creates one constraint equation for one allocated time slot condition. Further, the slot restriction constraint creating unit 115 adds a “background” tag and a correction reason comment as supplementary information to the constraint information in which the constraint equation is described. The slot restriction constraint creating unit 115 stores the created constraint information with supplementary information in the constraint information storage unit 120.
  • FIG. 17 is an explanatory diagram of an example of the slot restriction definition information list.
  • the slot restriction definition information list shown in FIG. 17 includes a plurality of slot restriction definition information.
  • the format of the slot restriction definition information is not limited to the format shown in FIG.
  • the slot restriction definition information includes a slot restriction ID, an allowable time slot, an RMAP address, a command, and a reply.
  • the slot restriction constraint creating unit 115 creates one piece of constraint information with supplementary information based on one slot restriction definition information.
  • the slot restriction ID is an identifier for identifying slot restriction definition information.
  • the RMAP address, command, and reply are information relating to the packet subject to slot restriction corresponding to the slot restriction ID. Note that the RMAP address, command, and reply are also included in the communication request information.
  • “Allowable time slot” indicates the number of a time slot that is allowed to be allocated to a packet subject to slot restriction corresponding to the slot restriction ID. As shown in FIG. 17, a plurality of numbers are written in the allowable time slot. Note that only one number may be written in the allowable time slot.
  • the dependency constraint creation unit 116 receives communication request information and dependency relationship definition information.
  • the dependency relationship constraint creating unit 116 has a function of creating constraint information with supplemental information based on the input communication request information and dependency relationship definition information.
  • the dependency relationship constraint creating unit 116 creates a constraint equation based on the dependency relationship between communications. For example, the dependency constraint creation unit 116 assigns a rule such as assigning a time slot with a number later than the number of the time slot assigned to the communication to be polled to the communication in which the observation data is collected by the observation device. Create constraint expressions based on this.
  • Dependency constraint creating section 116 creates one constraint formula for each time slot for each link in the network.
  • the dependency relationship constraint creating unit 116 adds a “background” tag and a correction reason comment as supplementary information to the constraint information in which the constraint equation is described.
  • the dependency relationship constraint creating unit 116 stores the created constraint information with supplemental information in the constraint information storage unit 120.
  • FIG. 18 is an explanatory diagram of an example of the dependency relationship definition information list.
  • the dependency relationship definition information list shown in FIG. 18 includes a plurality of dependency relationship definition information. Note that the format of the dependency relationship definition information is not limited to the format shown in FIG.
  • the dependency relationship definition information includes a dependency relationship ID, a priority RMAP address, a priority command, a priority reply, a subordinate RMAP address, a subordinate command, a subordinate reply, and a time slot interval. Is done.
  • the dependency relationship constraint creating unit 116 creates one piece of constraint information with supplementary information based on one dependency relationship definition information.
  • Dependency ID is an identifier that identifies the dependency definition information.
  • the priority RMAP address, the priority command, and the priority reply are information on priority packets that are packets to which time slots are preferentially assigned.
  • the subordinate RMAP address, the subordinate command, and the subordinate reply are information regarding the subordinate packet that is a packet to which a time slot is assigned next to the priority packet.
  • the time slot interval is a slot interval between a time slot assigned to the priority packet and a time slot assigned to the subordinate packet.
  • the time slot interval of the dependency relationship definition information is “m” and the nth time slot is assigned to the priority packet indicated by the dependency relationship definition information
  • the subordinate packet indicated by the dependency relationship definition information has (n + m) No. timeslot is assigned.
  • time slot interval of the dependency relationship definition information need not be specified. If no value is specified, the time slot interval is blank. Alternatively, a wild card such as “*” may be written in the time slot interval.
  • the dependency constraint creation unit 116 sets x as the time slot number assigned to the priority packet and y as the time slot number assigned to the subordinate packet.
  • a constraint expression of x ⁇ y ” is created.
  • the dependency relationship constraint creating unit 116 creates constraint information with supplementary information.
  • the correction candidate constraint group and the background constraint group are always created so that a sufficient solution exists. That is, the constraint group created in the present embodiment has the same properties as the constraint group created in the first embodiment.
  • FIG. 19 is a flowchart illustrating the operation of the constraint information creation process with supplementary information by the constraint creation unit 110 according to the second embodiment.
  • the overall operation of the design processing by the transmission timing scheduler 100 of this embodiment is the same as the overall operation shown in FIG. That is, the process shown in FIG. 19 corresponds to the restriction information creating process with supplemental information in step S120 shown in FIG.
  • the communication request information, topology information, slot restriction definition information, and dependency relationship definition information input to the transmission timing scheduler 100 are input to the constraint creation unit 110 (step S210).
  • the transmission constraint creation unit 113 creates constraint information with supplementary information indicating transmission constraints based on the input information (step S220).
  • the transmission constraint creation unit 113 stores the created constraint information with supplementary information in the constraint information storage unit 120.
  • the bandwidth constraint creation unit 114 creates constraint information with supplementary information indicating bandwidth constraints based on the input information (step S230).
  • the bandwidth constraint creation unit 114 stores the created constraint information with supplemental information in the constraint information storage unit 120.
  • the slot restriction constraint creating unit 115 creates constraint information with supplementary information indicating slot restriction constraints based on the input information (step S240).
  • the slot restriction constraint creating unit 115 stores the created constraint information with supplementary information in the constraint information storage unit 120.
  • the dependency relationship constraint creating unit 116 creates constraint information with supplementary information indicating the dependency relationship constraint based on the input information (step S250).
  • the dependency relationship constraint creating unit 116 stores the created constraint information with supplemental information in the constraint information storage unit 120. After storing, the constraint creating unit 110 ends the constraint information creating process with supplemental information.
  • FIG. 20 is a flowchart illustrating an operation of transmission constraint creation processing by the transmission constraint creation unit 113 according to the second embodiment.
  • the communication request information input to the constraint creation unit 110 is input to the transmission constraint creation unit 113 (step S221).
  • the transmission constraint creation unit 113 checks whether or not the constraint formulas for all input communication request information have been completed (step S222).
  • the transmission constraint creation unit 113 selects communication request information that has not been constraint formula among the input communication request information (Ste S223).
  • the transmission constraint creation unit 113 creates a constraint expression and a correction comment with reference to the communication interval of the selected communication request information (step S224).
  • the transmission constraint creating unit 113 creates constraint information with supplementary information including the created constraint expression and correction comments. After the creation, the transmission constraint creation unit 113 performs the process of step S222 again.
  • the transmission constraint creation unit 113 ends the transmission constraint creation processing.
  • FIG. 21 is a flowchart illustrating the operation of the bandwidth constraint creation process by the bandwidth constraint creation unit 114 according to the second embodiment.
  • the communication request information and topology information input to the constraint creation unit 110 are input to the bandwidth constraint creation unit 114 (step S231).
  • the bandwidth constraint creation unit 114 checks whether or not the constraint formulas for all the connection information included in the input topology information have been completed (step S232).
  • the bandwidth constraint creation unit 114 selects connection information that has not been constrained from the input connection information (step S233). .
  • the bandwidth constraint creation unit 114 lists all communication request information related to packets passing through the link indicated by the link ID of the selected connection information (step S234).
  • the bandwidth constraint creation unit 114 creates a constraint equation and a correction reason comment regarding the bandwidth based on the listed communication request information (step S235).
  • the bandwidth constraint creation unit 114 creates constraint information with supplementary information including the created constraint formula and correction reason comment. After the creation, the bandwidth constraint creation unit 114 performs the process of step S232 again.
  • the bandwidth constraint creation unit 114 ends the bandwidth constraint creation process.
  • FIG. 22 is a flowchart illustrating the operation of the slot restriction constraint creating process by the slot restriction constraint creating unit 115 according to the second embodiment.
  • the communication request information and slot restriction definition information input to the constraint creation unit 110 are input to the slot restriction constraint creation unit 115 (step S241).
  • the slot restriction constraint creating unit 115 confirms whether or not the constraint expression for the input slot restriction definition information has been completed (step S242).
  • the slot limit constraint creation unit 115 includes the slot limit definition information that has not been converted into a constraint formula among the input slot limit definition information. Is selected (step S243).
  • the slot restriction constraint creating unit 115 lists all communication request information including packet information such as an RMAP address defined by the selected slot restriction definition information (step S244).
  • the slot restriction constraint creating unit 115 creates a constraint expression and a correction reason comment based on the listed communication request information and the allowable time slot defined by the selected slot restriction definition information (step S245). .
  • the slot restriction constraint creating unit 115 creates constraint information with supplementary information including the created constraint expression and correction reason comment. After the creation, the slot restriction constraint creation unit 115 performs the process of step S242 again.
  • step S242 If the constraint formulas for all slot restriction definition information have been completed (Yes in step S242), the slot restriction constraint creating unit 115 ends the slot restriction constraint creating process.
  • FIG. 23 is a flowchart illustrating the operation of the dependency relationship creation process by the dependency relationship creation unit 116 according to the second embodiment.
  • the communication request information and dependency relationship definition information input to the constraint generation unit 110 are input to the dependency relationship constraint generation unit 116 (step S251).
  • the dependency relationship constraint creating unit 116 checks whether or not the constraint expression for the input dependency relationship definition information has been completed (step S252).
  • the dependency constraint creation unit 116 determines the dependency definition information that has not been converted into a constraint formula among the input dependency definition information. Is selected (step S253).
  • the dependency constraint creation unit 116 performs communication including communication request information including priority packet information defined in the selected dependency relationship definition information, and subordinate packet information defined in the selected dependency relationship definition information. All the request information is listed (step S254).
  • the dependency constraint creation unit 116 creates a constraint equation and a correction reason comment based on the enumerated communication request information and the time slot interval defined by the selected dependency definition information (step S255). .
  • the dependency constraint creation unit 116 creates constraint information with supplementary information including the created constraint expression and correction reason comment. After the creation, the dependency constraint creation unit 116 performs the process of step S252 again.
  • step S252 If the constraint formulas for all the dependency definition information have been completed (Yes in step S252), the dependency constraint creation unit 116 ends the dependency constraint creation processing.
  • the constraint creation unit 110 of the transmission timing scheduler 100 of the present embodiment can create constraint information with supplementary information according to various input information. Therefore, the transmission timing scheduler 100 can create a packet transmission timing schedule to be used in a communication network whose settings are more complicated.
  • the design target system of the transmission timing scheduler 100 has been described as a subsystem using a SpaceWire network.
  • the design target system of the transmission timing scheduler 100 of each embodiment is not limited to a system using a SpaceWire network as long as it is a system that transmits packets using time slots.
  • the design target system of the transmission timing scheduler 100 of each embodiment is not limited to a subsystem.
  • each component of each embodiment has been described as transmitting or outputting information directly to other components.
  • each component stores the generated information and the received information in a storage unit included in each embodiment, and reads the information from the storage unit to perform other configuration. It may be sent or output to the element.
  • the transmission timing scheduler 100 of the present embodiment is realized by, for example, a CPU (Central Processing Unit) that executes processing according to a program stored in a storage medium. That is, the constraint creating unit 110, the constraint satisfaction problem solving unit 130, and the satisfaction solution analyzing unit 140 are realized by a CPU that executes processing according to program control, for example.
  • a CPU Central Processing Unit
  • constraint information storage unit 120 is realized by, for example, RAM (Random Access Memory).
  • each unit in the transmission timing scheduler 100 of the present embodiment may be realized by a hardware circuit.
  • FIG. 24 is a block diagram showing an outline of a time slot design apparatus according to the present invention.
  • the time slot design apparatus 10 corrects a correction constraint that is a constraint to be corrected and a correction constraint included in a constraint group (for example, Unsat Core) related to a constraint satisfaction problem for which a satisfaction solution is not derived.
  • Output means 11 for example, Unsat Core analysis unit 132
  • derivation means 12 for deriving a satisfaction solution of the constraint satisfaction problem generated based on the constraint group in which the output correction constraint is corrected
  • the derivation unit 12 outputs information indicating the correction constraint output until the satisfaction solution is derived and the output reason for the correction.
  • the time slot design apparatus can output the restriction correction part and the correction reason for the slot allocation result satisfying the corrected restriction.
  • the time slot design apparatus 10 may include a creation unit (for example, the constraint creation unit 110) that creates constraints included in the constraint group.
  • a creation unit for example, the constraint creation unit 110
  • the time slot design apparatus can output a slot allocation result corresponding to the input information.
  • the creation means includes a correction candidate constraint creation means (for example, a correction candidate constraint creation unit 111) for creating a correction candidate constraint, and a fixed constraint creation means (for example, a fixed constraint that is not subject to correction) Background constraint creation unit 112)
  • a correction candidate constraint creation means for example, a correction candidate constraint creation unit 111
  • a fixed constraint creation means for example, a fixed constraint that is not subject to correction
  • the output unit 11 may create a reason for correction based on all the fixed constraints included in the constraint group.
  • the time slot design apparatus can create a reason for correction for the correction constraint based on a fixed constraint.
  • the output unit 11 may classify the constraints included in the constraint group into correction candidate constraints and fixed constraints, and select the output correction constraints from the classified correction candidate constraints.
  • the time slot design apparatus can present restrictions to the designer that there is room for consideration of correction.
  • the time slot design device 10 may include an assigning unit (for example, the satisfaction solution analysis unit 140) that allocates a time slot to a packet using the derived satisfaction solution.
  • an assigning unit for example, the satisfaction solution analysis unit 140
  • the time slot design apparatus can design a time slot table using a satisfaction solution of the constraint satisfaction problem.
  • the derivation unit 12 may input a constraint group related to a constraint satisfaction problem for which a satisfaction solution is not derived to the output unit 11.
  • the time slot design apparatus can cope with a case where a satisfactory solution is not derived in the first process.
  • modification candidate constraint creation unit and the fixed constraint creation unit may add information on the reason for modification output by the output unit 11 to the created constraint.
  • correction candidate constraint creating means receives the communication request information, and a transmission constraint creating means (for example, a transmission candidate) that creates a correction candidate constraint based on a request for transmitting a packet to the control device described in the communication request information. Constraint creation unit 113) may also be included.
  • the fixed constraint creating means receives the topology information and the communication request information, and creates a fixed constraint indicating a usable bandwidth condition for each link in the communication network (for example, a bandwidth constraint creating means). Constraint creation unit 114) may be included.
  • the fixed constraint creating means receives slot restriction definition information and communication request information as input, and creates a slot constraint constraint creating means (for example, a fixed constraint indicating a time slot condition that can be assigned for each type of communication)
  • a slot restriction constraint creating unit 115 may be included.
  • the fixed constraint creation means receives the dependency relationship definition information and the communication request information, and creates a dependency constraint creation means for creating a fixed constraint indicating conditions for execution priority of communication and time slot interval between communications.
  • the dependency relationship creation unit 116 may be included.
  • the present invention is suitably applied to the design of an intra-satellite network equipped with an interface conforming to the SpaceWire specification. Further, the present invention is suitably applied to initial design at the initial stage of development of an intra-satellite network and design inspection at the time of satellite test. Further, the present invention is suitably applied to the design and test of devices included in a communication network in which path addressing communication employing a source routing method is performed.
  • Time slot design equipment 11
  • Output means 12
  • Derivation means 100
  • Transmission timing scheduler 110
  • Constraint creation part 111
  • Modification candidate constraint creation part 112
  • Background constraint generator 113
  • Transmission constraint generator 114
  • Bandwidth constraint generator 115
  • Slot restriction constraint generator 116
  • Constraint information storage 130
  • Constraint Satisfaction Problem Solving Department 131
  • Problem Solving Department 132
  • SpaceWire network 201
  • System control equipment 202
  • Communication equipment 203
  • Power supply equipment 204
  • Attitude control equipment 205
  • Observation system control equipment 206A to 206E, 206X, 206Y routers Equipment with 210A to 210B 214A to 214B
  • Attitude control equipment 215A-215X Observation equipment

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

修正された制約を満たすスロット割当結果に関する制約の修正箇所および修正理由を出力できるタイムスロット設計装置を提供する。スロット設計装置10は、充足解が導出されない制約充足問題に関する制約群に含まれる修正対象の制約である修正制約と修正制約が修正される理由である修正理由とを出力する出力手段11と、出力された修正制約が修正された制約群を基に生成された制約充足問題の充足解を導出する導出手段12を備え、導出手段12は、充足解が導出されるまでに出力された修正制約および出力された修正理由を示す情報を出力する。

Description

タイムスロット設計装置、タイムスロット設計方法およびタイムスロット設計プログラムを格納する記憶媒体
 本発明は、通信ネットワークにおけるパケットの送信タイミングを設計するタイムスロット設計装置等に関する。
 商業衛星、科学衛星、または惑星間探査機等の人工衛星に搭載された機器(コンポーネント)間で行われるデータ通信のインタフェース、およびデータ通信のプロトコルの標準仕様に、スペースワイヤ(SpaceWire)がある。非特許文献1には、SpaceWireの内容が記載されている。
 SpaceWireが採用されている機器は、人工衛星で利用された後、観測目的等の任務(ミッション)が異なる衛星で再利用される。すなわち、SpaceWireに対応した機器が用いられると、例えば既に開発された人工衛星の機器以外の設定内容が変更されるだけで他の任務用の人工衛星が開発されるため、衛星開発の開発期間が短縮される。
 ただし、SpaceWireは、機器に採用された場合、機器のネットワーク設計の自由度が高くなる仕様である。ネットワーク設計の自由度が高いと確認作業が増えるため、機器の動作試験におけるネットワーク試験の工数が増加する。
 例えば、通信の統合試験が行われる場合を想定する。統合試験が行われる前に、ネットワーク内の経路と各制御機器に関するパケットの送信タイミングのスケジュールが設計される。設計された送信タイミングのスケジュールに従って、パケットが送信される。
 設計された送信タイミングのスケジュールに設計ミスが存在した場合、例えば最初に送信されたパケットが使用する経路と同じ経路を使用する他のパケットが、最初に送信されたパケットのリプライパケット等と衝突する。衝突の発生は、パケット不達、またはパケット遅延を引き起こす。
 上記のように、SpaceWireが採用されるとネットワーク設計の自由度が高くなるため、多くの設計の選択肢から理想的なネットワーク設計を選択するための手間が増える。すなわち、SpaceWireが採用された場合、通信の統合試験において送信タイミングのスケジュールの設計ミス等に起因する試験の手戻りが多く発生する可能性がある。
 以下の説明において、SpaceWireの仕様に対応したインタフェースを備えた機器で構成されたネットワークを、SpaceWireネットワークと呼ぶ。SpaceWireネットワークを構成する機器には、人工衛星に搭載される各種機器が含まれる。人工衛星に搭載される各種機器は、電源機器、観測機器、および姿勢機器等の衛星搭載機器である。
 また、SpaceWireネットワークを構成する機器には、地球局と通信する通信機器、および衛星内の全システムを制御するシステム制御機器も含まれる。システム制御機器は、SpaceWireの仕様に規定されたネットワーク管理機能を用いて、SpaceWireネットワークを構成する各機器を制御する。
 以下、図面を参照してSpaceWireネットワークを説明する。図25は、SpaceWireネットワーク200の構成例を示すブロック図である。なお、図25に示すSpaceWireネットワーク200を利用する装置が人工衛星であるとして、SpaceWireネットワーク200を説明する。
 SpaceWireネットワーク200は、システム制御機器201と、通信機器202と、電源機器203と、姿勢系制御機器204と、観測系制御機器205と、ルータ206A~ルータ206Eと、姿勢制御機器214A~姿勢制御機器214Bと、観測機器215A~観測機器215Xとを含む。なお、図25に示す各機器の数は一例である。SpaceWireネットワーク200は、各機器を1台のみ含んでもよいし、図25に示す数以外で複数含んでもよい。
 システム制御機器201は、上記の通り、SpaceWireの仕様に規定されたネットワーク管理機能を用いてSpaceWireネットワーク200を構成する各機器を制御する機能を有する。システム制御機器201は、例えばコマンドを用いて各機器を制御する。
 通信機器202は、地球局(図示せず)または他の人工衛星(図示せず)との間で所定の通信を実行する機能を有する。電源機器203は、SpaceWireネットワーク200を構成する各機器に電力を供給する機能を有する。ルータ206Aは、システム制御機器201、通信機器202、および電源機器203を通信可能に接続する。
 姿勢系制御機器204は、姿勢制御機器214A~姿勢制御機器214Bを制御することによって人工衛星の姿勢を制御する機能を有する。姿勢制御機器214Aは、例えば所定の向きに対する人工衛星の姿勢を変更する機能を有する。また、姿勢制御機器214Bは、例えば回転方向に対する人工衛星の姿勢を変更する機能を有する。
 図25に示すように、姿勢系制御機器204と、姿勢制御機器214Aと、姿勢制御機器214Bとで姿勢系が構成されている。ルータ206Dは、姿勢系制御機器204、姿勢制御機器214A、および姿勢制御機器214Bを通信可能に接続する。
 観測系制御機器205は、観測機器215A~観測機器215Xを制御することによって各種の観測を実行する機能を有する。観測機器215A~観測機器215Xは、それぞれ設定された内容の観測を実行する機能を有する。
 図25に示すように、観測系制御機器205と、観測機器215A~観測機器215Xとで観測系が構成されている。ルータ206Eは、観測系制御機器205、および観測機器215A~観測機器215Xを通信可能に接続する。
 ルータ206Bは、ルータ206Aと姿勢系を通信可能に接続する。また、ルータ206Cは、ルータ206A、ルータ206B、姿勢系、および観測系を通信可能に接続する。
 SpaceWireの仕様に従う通信では、各機器のアドレスを示す情報がパケットヘッダに記載されたパケットが送受信されるソースルーティング方式が主に利用される。ソースルーティング方式が利用された通信をパスアドレッシング通信と呼ぶ。
 パスアドレッシング通信では、始点の機器のアドレスおよび終点の機器のアドレスに加えて、パケットを中継する機器のアドレスも指定される。なお、始点の機器は、送信元または送信者がパケット送信に使用する機器である。また、終点の機器は、宛先または受信者がパケット受信に使用する機器である。
 なお、パスアドレッシング通信で指定されるアドレスは、通信ネットワークにおける位置を示す情報である。通信ネットワークにおける位置は、例えばポート番号で指定される。すなわち、通信ネットワークにおけるパケットが経由する位置が指定されるため、パスアドレッシング通信が実行される際、例えばTCP/IP(Transmission Control Protocol/Internet Protocol)で利用されるルーティングテーブルは不要である。
 以下、パスアドレッシング通信で用いられるアドレスを、パスアドレスと呼ぶ。パスアドレッシング通信において、経路変更は、パケットヘッダに記載されているパスアドレスが変更されることによって実行される。
 以下、図面を参照してパスアドレッシング通信を説明する。図26は、パスアドレッシング通信の例を示す説明図である。図26に示すシステムは、搭載機器210A~搭載機器210Bと、ルータ206X~ルータ206Yとを含む。すなわち、図26に示すシステムは、2台の搭載機器と、2台のルータとを含む。また、図26に示す搭載機器210Aは、2台のルータを介して搭載機器210Bと通信可能に接続されている。
 図26に示すルータ206Xは、搭載機器210Aに接続されているパスアドレスが「1」のポートと、ルータ206Yに接続されているパスアドレスが「2」のポートとを含む。また、図26に示すルータ206Yは、ルータ206Xに接続されているパスアドレスが「3」のポートと、搭載機器210Bに接続されているパスアドレスが「4」のポートとを含む。
 以下、パスアドレスが「1」のポートをポート1、パスアドレスが「2」のポートをポート2、パスアドレスが「3」のポートをポート3、パスアドレスが「4」のポートをポート4とそれぞれ呼ぶ。
 各搭載機器は、他の搭載機器にパケットを送信する場合、パケットが通過する中継機器(すなわち、ルータ206Xおよびルータ206Y)内の各ポートに割り当てられたアドレス情報であるパスアドレスを、送信するパケットのパケットヘッダに記載する。
 また、パケットを受信した中継機器(すなわち、ルータ206Xおよびルータ206Y)は、パケットヘッダに記載されている先頭のパスアドレスに対応するポートから、次の機器へパケットを送信する。
 ただし、各ルータは、対象のポートからパケットを送信する前に、対象のポートのパスアドレスであるパケットヘッダに記載されている先頭のパスアドレスを削除する。すなわち、パスアドレッシング通信では、パケットがルータを通過するごとにパケットヘッダに記載されている先頭のパスアドレスが削除される。
 例えば、図26に示す搭載機器210Aが搭載機器210Bにパケットを送信する場合、搭載機器210Aは、送信するパケットのパケットヘッダに、パスアドレスとして[2-4]を記載する。パケットヘッダに記載されたパスアドレス[2-4]は、送信されるパケットが、パスアドレスが「2」のポートと、パスアドレスが「4」のポートを順に経由することを示す。
 すなわち、パケットヘッダに記載されたパスアドレス[p-q]は、「p」が先頭のパスアドレスであること、および「q」が末尾のパスアドレスであることをそれぞれ示す。
なお、パケットヘッダに記載されるパスアドレスの数は、2つに限られない。
 例えば、3つのパスアドレスが記載される場合、パケットヘッダには、[p-q-r]の形式でパスアドレスが記載される。パスアドレス[p-q-r]は、「p」が先頭のパスアドレスであること、「q」が中間のパスアドレスであること、および「r」が末尾のパスアドレスであることをそれぞれ示す。
 搭載機器210Aが搭載機器210Bにパケットを送信した時のシステムの動作をより具体的に説明する。まず、搭載機器210Aは、パケットヘッダにパスアドレスとして[2-4]を記載する。次いで、搭載機器210Aは、パケットをルータ206Xに送信する。
 パケットをルータ206Xに送信する際、搭載機器210Aは、送信先のルータ206Xのポートを指定しなくてよい。その理由は、図26に示すように搭載機器210Aはルータ206Xのポート1のみに接続されているため、送信されたパケットは、必然的にルータ206Xのポート1に到着するからである。
 次いで、ルータ206Xは、受信されたパケットのパケットヘッダに記載されている先頭のパスアドレスに対応するポートからパケットを送信する。パケットヘッダにパスアドレスとして[2-4]が記載されているため、先頭のパスアドレスに対応するポートは、ポート2である。
 ただし、パケットを送信する際、ルータ206Xは、パケットヘッダに記載されている先頭のパスアドレス(すなわち、パスアドレス「2」)を削除する。先頭のパスアドレスが削除されると、パケットヘッダに記載されているパスアドレスは[4]になる。
 すなわち、ルータ206Xは、パケットを通過させる際、パケットヘッダに記載されている先頭のパスアドレスであるパスアドレス「2」を削除し、削除されたパスアドレスに対応するポートであるポート2からパケットを送信する。
 ルータ206Xのポート2は、ルータ206Yのポート3に接続されている。よって、ルータ206Xから送信されたパケットは、ルータ206Yに受信される。次いで、ルータ206Yは、受信されたパケットのパケットヘッダに記載されている先頭のパスアドレスに対応するポートからパケットを送信する。パケットヘッダにパスアドレスとして[4]が記載されているため、先頭のパスアドレスに対応するポートは、ポート4である。
 ただし、パケットを送信する際、ルータ206Yは、パケットヘッダに記載されている先頭のパスアドレス(すなわち、パスアドレス「4」)を削除する。先頭のパスアドレスが削除されると、パケットヘッダに記載されているパスアドレスは空(空集合)になる。
 すなわち、ルータ206Yは、パケットを通過させる際、パケットヘッダに記載されている先頭のパスアドレスであるパスアドレス「4」を削除し、削除されたパスアドレスに対応するポートであるポート4からパケットを送信する。
 ルータ206Yのポート4は、搭載機器210Bに接続されている。よって、ルータ206Xから送信されたパスアドレスが空のパケットは、搭載機器210Bに受信される。搭載機器210Bは、パスアドレスが空のパケットを転送不要のパケット、すなわち自機器宛のパケットであると判断する。上記のように、搭載機器210Bは、自機器宛のパケットを受信する。
 以上、パケットの宛先である搭載機器210Bに到着するまでに経由するルータの送信ポートのパスアドレスをパケットヘッダに記載することによって、搭載機器210Aは、パケットを搭載機器210Bに送信できる。同様に、搭載機器210Aにパケットを送信する場合、搭載機器210Bは、図26に示すように送信対象のパケットのパケットヘッダにパスアドレス[3-1]を記載すればよい。
 また、SpaceWireでは、タイムスロットと呼ばれる15.625msごとの時間間隔が定義されている。すなわち、64個のタイムスロットが1秒に相当する。
 SpaceWireでは、通信対象のパケットを所定のタイムスロットに割り当てることによって、所定の周期または所定のタイミングでパケットが送信されるように送信タイミングを制御する手法が採用されている。なお、所定の周期は、例えば1秒である。SpaceWireで定義されているタイムスロットを用いて送信タイミングを制御する手法は、非特許文献2に記載されている。
 SpaceWireの仕様に対応した制御機器は、送信されるパケットが割り当てられたタイムスロットの一覧表を保持する。保持されているタイムスロットの一覧表に従って、制御機器は、機器間でパケットが送受信される通信を実行する。
 また、非特許文献3には、SpaceWireネットワーク(特に、衛星内ネットワーク)で使用されるスケジューリングツールが記載されている。非特許文献3に記載されているスケジューリングツールは、SpaceWireネットワークのトポロジ情報、および通信要求情報を用いて、送信元の機器から宛先の機器までにパケットが経由する位置のパスアドレスを算出する。
 さらに、非特許文献3に記載されているスケジューリングツールは、パケットの通信に用いられるタイムスロットにパケットを割り当てる。なお、非特許文献3に記載されているトポロジ情報の形式、および通信要求情報の形式は、XML(Extensible Markup Language)形式である。
 また、非特許文献4には、制約プログラムを利用して衛星内ネットワークのスケジューリングを行う方法が記載されている。非特許文献4に記載されている方法は、SpaceWireネットワーク内の機器間の結線を示す情報や、各タイムスロットにおける帯域幅の使用率の上限等を全て制約式化する。
 制約式化することによって、非特許文献4に記載されている方法は、経路計算およびタイムスロット割当を、制約充足問題の解決に変換する。非特許文献4に記載されている方法は、変換された制約充足問題を解決し、導出された充足解を用いて衛星内ネットワークのスケジューリングを行う。
 また、制約充足解は、例えば既存の制約充足ソルバで探索される。探索された制約充足解が解析されると、送信を要求されたパケットが通過するノードの情報やタイムスロット割当情報が求められる。
 また、非特許文献5には、厳し過ぎる制約を緩和して充足解を探索する方法が記載されている。一般的に、制約充足問題には充足解が存在しない場合がある。非特許文献5に記載されている方法は、制約充足問題に充足解が存在しない場合、全制約群のうち矛盾が存在している部分制約群を抽出し、矛盾が存在しなくなるように全制約群から選択された制約を適切に削除する。選択された制約が適切に削除されると、元の制約充足問題が修正され、充足解が得られる。
 元の全制約群に含まれる矛盾が存在している部分制約群は、Unsatisfiable Core(以下、Unsat Coreと呼ぶ。)と呼ばれる。非特許文献5には、矛盾を解消するための削除対象の制約が1つになるようなUnsat Coreを高速に算出するアルゴリズムが記載されている。
SpaceWire Standard ECSS-E-ST-50-12C (European Cooperation for Space Standardization (ECSS)), July 21, 2008. Steve Parkes, Albert Ferrer, Stuart Mills, and Alex Mason, "SpaceWire-D: Deterministic Data Delivery with SpaceWire", Proceedings of International SpaceWire Conference 2010, February 2010. 高田光隆, 高田広章, 湯浅孝行他, "SpaceWireのリアルタイム性を保証するソフトウェアプラットフォームの開発", 第57回宇宙科学技術連合講演会講演集, pp.6, 2013-10-09. Gibson, David, Steve Parkes, and Karen Petrie, "Modeling Deterministic Spacecraft Networks with Constraint Programming", CP Doctoral Program 2013: 49. Mencia, Carlos, and Joao Marques-Silva, "Efficient Relaxations of Over-constrained CSPs", Tools with Artificial Intelligence (ICTAI), 2014 IEEE 26th International Conference on, IEEE, 2014.
 非特許文献3に記載されているスケジューリングツールは、焼き鈍し法で最適化問題を解くことによってタイムスロットを割り当てる。しかし、最適化問題を解くことによってタイムスロットを割り当てる場合、スケジューリングツールは、制約を満たさないスロット割当結果も算出してしまう。
 また、非特許文献3に記載されているスケジューリングツールが制約を満たさないスロット割当結果を算出しても、スケジューリングツールの使用者は、算出されたスロット割当結果が制約を満たさないことを結果の内容から把握できない。
 非特許文献1および非特許文献2には、SpaceWireの仕様が記載されている。しかし、非特許文献1および非特許文献2には、設計時に非特許文献3に記載されているスケジューリングツールが使用された時に生じる可能性がある上記の問題点の解決方法は記載されていない。
 また、非特許文献4に記載されている方法は、制約プログラムを実行することによってタイムスロット割当を行うので、制約を満たすスロット割当結果を算出できる。すなわち、非特許文献4に記載されている方法が使用されると、非特許文献3に記載されているスケジューリングツールにおける上記の問題点が解決される。
 しかし、制約充足解が存在しない場合、スロット割当結果は算出されない。また、非特許文献4に記載されている方法が使用された場合、設計者は、スロット割当結果が算出されない理由を知ることができない。
 制約充足解が存在しない場合、設計者は、通信要求の設計内容を見直し、再度タイムスロット割当を行う。しかし、通信要求の設計内容を見直す際、非特許文献4に記載されている方法による出力結果を参照しても、設計者は、通信要求の設計内容のどの項目を修正すれば充足解が得られるかが分からない。
 非特許文献5に記載されている方法は、Unsat Coreを算出することによって修正を要する制約候補を設計者に提示できる。すなわち、非特許文献5に記載されている方法が使用されると、非特許文献4に記載されている方法における上記の問題点が解決される。しかし、非特許文献5に記載されている方法は、修正対象の制約を選択したり、修正対象の制約の選択理由を提示したりできない。
 また、選択される修正箇所や修正理由として提示される内容は、タイムスロット割当の実行時に考慮を要する制約の内容に依存する。しかし、非特許文献5には、タイムスロット割当の実行時に考慮される制約の内容が記載されていない。具体的な修正箇所および修正理由が提示されるためには、タイムスロット割当の実行時に考慮される制約の内容が具体的であることが求められる。
 そこで、本発明は、上述した課題を解決する、修正された制約を満たすスロット割当結果に関する制約の修正箇所および修正理由を出力できるタイムスロット設計装置、タイムスロット設計方法およびタイムスロット設計プログラムを提供することを目的とする。
 本発明によるタイムスロット設計装置の一態様は、充足解が導出されない制約充足問題に関する制約群に含まれる修正対象の制約である修正制約と修正制約が修正される理由である修正理由とを出力する出力手段と、出力された修正制約が修正された制約群を基に生成された制約充足問題の充足解を導出する導出手段を備え、導出手段は、充足解が導出されるまでに出力された修正制約および出力された修正理由を示す情報を出力する。
 本発明によるタイムスロット設計方法の一態様は、充足解が導出されない制約充足問題に関する制約群に含まれる修正対象の制約である修正制約と修正制約が修正される理由である修正理由とを出力し、出力された修正制約が修正された制約群を基に生成された制約充足問題の充足解を導出し、充足解が導出されるまでに出力された修正制約および出力された修正理由を示す情報を出力する。
 本発明による記憶媒体に格納されたタイムスロット設計プログラムの一態様は、コンピュータに、充足解が導出されない制約充足問題に関する制約群に含まれる修正対象の制約である修正制約と修正制約が修正される理由である修正理由とを出力する出力処理、出力された修正制約が修正された制約群を基に生成された制約充足問題の充足解を導出する導出処理、および充足解が導出されるまでに出力された修正制約および出力された修正理由を示す情報を出力する情報出力処理を実行させる。
 本発明によれば、修正された制約を満たすスロット割当結果に関する制約の修正箇所および修正理由を出力できる。
本発明による送信タイミングスケジューラ100の第1の実施形態の構成例を示すブロック図である。 制約作成部110の構成例を示すブロック図である。 通信要求情報リストの例を示す説明図である。 トポロジ情報に含まれるパスアドレス情報リストの例を示す説明図である。 トポロジ情報に含まれる結線情報リストの例を示す説明図である。 SpaceWireネットワーク200の構成例の一部を示すブロック図である。 制約充足問題解決部130の構成例を示すブロック図である。 充足解情報の例を示す説明図である。 修正箇所情報の例を示す説明図である。 スケジュール結果情報の例を示す説明図である。 第1の実施形態の送信タイミングスケジューラ100による設計処理の全体動作を示すフローチャートである。 第1の実施形態の制約作成部110による補足情報付き制約情報作成処理の動作を示すフローチャートである。 第1の実施形態の制約充足問題解決部130による充足解探索処理の動作を示すフローチャートである。 第1の実施形態の充足解解析部140による充足解解析処理の動作を示すフローチャートである。 第1の実施形態のUnsat Core解析部132によるUnsat Core解析処理の動作を示すフローチャートである。 制約作成部110の第2の実施形態の構成例を示すブロック図である。 スロット制限定義情報リストの例を示す説明図である。 依存関係定義情報リストの例を示す説明図である。 第2の実施形態の制約作成部110による補足情報付き制約情報作成処理の動作を示すフローチャートである。 第2の実施形態の送信制約作成部113による送信制約作成処理の動作を示すフローチャートである。 第2の実施形態の帯域制約作成部114による帯域制約作成処理の動作を示すフローチャートである。 第2の実施形態のスロット制限制約作成部115によるスロット制限制約作成処理の動作を示すフローチャートである。 第2の実施形態の依存関係制約作成部116による依存関係制約作成処理の動作を示すフローチャートである。 本発明によるタイムスロット設計装置の概要を示すブロック図である。 SpaceWireネットワーク200の構成例を示すブロック図である。 パスアドレッシング通信の例を示す説明図である。
 以下、本発明の実施形態を、図面を参照して説明する。各図面は、本発明の実施形態を示す。なお、本発明の実施形態は、各図面に示す内容に限られない。また、各図面に示す同一の構成要素には、同じ番号が付されている。
<第1の実施形態>
[構成の説明]
 次に、本発明の第1の実施形態を、図面を参照して説明する。図1は、本発明による送信タイミングスケジューラ100の第1の実施形態の構成例を示すブロック図である。
 本実施形態の送信タイミングスケジューラ100は、使用されると人為的なミスの発生が防止され信頼性の高い通信が実行されるスケジュール情報を作成する。また、本実施形態の送信タイミングスケジューラ100が使用されると、設計者は、通信要求の設計内容を迅速に見直すことができる。
 図1に示す送信タイミングスケジューラ100は、通信ネットワーク内の装置に関する設計内容を作成する。具体的には、送信タイミングスケジューラ100は、図25に示すSpaceWireネットワーク200等で使用されるパケット送信タイミングのスケジュールを示すタイムスロットテーブルを作成する。また、本実施形態の送信タイミングスケジューラ100は、タイムスロットテーブルと共に制約群内の修正箇所も提示する。
 図1に示すように、本実施形態の送信タイミングスケジューラ100は、制約作成部110と、制約情報記憶部120と、制約充足問題解決部130と、充足解解析部140とを備える。
 また、図1に示すように、送信タイミングスケジューラ100には、通信要求情報と、トポロジ情報と、制約定義情報とが入力される。なお、制約定義情報は、入力されなくてもよい。
 なお、送信タイミングスケジューラ100に通信要求情報、トポロジ情報、および制約定義情報を入力する手段は、どのような手段でもよい。例えば、送信タイミングスケジューラ100の利用者が入力装置(図示せず)に各情報を入力し、入力装置が入力された情報を送信タイミングスケジューラ100に送信してもよい。または、利用者が送信タイミングスケジューラ100を直接操作して、各情報を入力してもよい。
 図1に示すように、送信タイミングスケジューラ100の制約作成部110は、補足情報付き制約情報を作成する機能を有する。制約作成部110は、作成された補足情報付き制約情報を制約情報記憶部120に記憶する。
 また、図1に示すように、制約充足問題解決部130は、制約情報記憶部120に記憶されている補足情報付き制約情報を基に充足解情報と修正箇所情報を生成する機能を有する。制約充足問題解決部130は、生成された充足解情報を充足解解析部140に入力する。
 また、図1に示すように、充足解解析部140は、入力された充足解情報を用いてスケジューリング結果情報を生成する。スケジューリング結果情報は、タイムスロット割当結果を示す。最終的に、送信タイミングスケジューラ100は、スケジューリング結果情報と修正箇所情報とを出力する。
 出力されたスケジューリング結果情報が適切に入力されると、衛星制御機器は、入力された情報が示すタイムスロット割当結果に従って動作する。また、修正箇所情報は、修正箇所、および修正箇所に対する修正理由を含む修正コメントを示す。
 すなわち、送信タイミングスケジューラ100の利用者は、出力された修正箇所情報を参照して、入力された通信要求情報を修正できる。利用者は、修正された通信要求情報を用いて、送信タイミングスケジューラ100にタイムスロット割当を再度実行させることができる。
 以下、送信タイミングスケジューラ100に含まれる各構成要素を、図面を参照して説明する。最初に、制約作成部110を説明する。
 図2は、制約作成部110の構成例を示すブロック図である。図2に示すように、本実施形態の制約作成部110は、修正候補制約作成部111と、背景制約作成部112とを含む。
 図2に示すように、制約作成部110の修正候補制約作成部111は、通信要求情報とトポロジ情報とを基に、制約式、「修正候補」タグ、および修正コメントを含む補足情報付き制約情報を作成する。すなわち、修正候補制約作成部111が作成する補足情報付き制約情報は、修正候補制約を示す。修正候補制約作成部111は、作成された補足情報付き制約情報を、制約情報記憶部120に記憶する。
 また、図2に示すように、制約作成部110の背景制約作成部112は、通信要求情報とトポロジ情報とを基に、制約式、「背景」タグ、および修正理由コメントを含む補足情報付き制約情報を作成する。すなわち、背景制約作成部112が作成する補足情報付き制約情報は、背景制約を示す。背景制約作成部112は、作成された補足情報付き制約情報を、制約情報記憶部120に記憶する。
 なお、修正候補制約作成部111および背景制約作成部112は、制約定義情報も用いて補足情報付き制約情報を作成してもよい。本実施形態では、修正候補制約作成部111および背景制約作成部112が制約定義情報を使用せずに補足情報付き制約情報を作成する例を説明する。
 修正候補制約作成部111は、修正候補制約作成部111で作成された修正候補制約群に含まれる制約のみが考慮された制約充足問題に、必ず充足解が存在するように修正候補制約を作成する。また、背景制約作成部112は、背景制約作成部112で作成された背景制約群に含まれる制約のみが考慮された制約充足問題に、必ず充足解が存在するように背景制約を作成する。
 上記のように修正候補制約群および背景制約群が作成されると、全ての制約群が考慮された制約充足問題に充足解が存在しない場合、Unsat Coreに必ず修正候補制約群に含まれる制約と背景制約群に含まれる制約の両方が含まれる。
 本実施形態の送信タイミングスケジューラ100は、Unsat Coreに必ず修正候補制約群に含まれる制約と背景制約群に含まれる制約の両方が含まれる性質を利用し、背景制約を用いて修正対象の制約の選択と修正の理由付けを行う。もし、Unsat Coreに修正候補制約群に含まれる制約のみが含まれる場合、送信タイミングスケジューラ100は、背景制約群に含まれる制約がないため修正対象の制約に対する修正の理由付けを行うことができない。
 また、Unsat Coreに背景制約群に含まれる制約のみが含まれる場合、修正候補制約群に含まれる制約自体がないため、送信タイミングスケジューラ100が制約群を修正できないことは自明である。上記の理由により、修正対象の制約の選択と修正の理由付けが行われるためには、Unsat Coreに修正候補制約群に含まれる制約と背景制約群に含まれる制約の両方が含まれることが求められる。
 以下、制約作成部110に入力される通信要求情報とトポロジ情報を説明する。最初に、通信要求情報を説明する。
 通信要求情報は、SpaceWireネットワークに含まれる衛星制御機器が送信を要求したパケットの内容を示す情報である。通信要求情報は、試験対象の通信に関連する経路情報、および試験に用いられるプロトコルの種類やデータサイズ等の通信に関する具体的な情報を示す。すなわち、通信要求情報は、ネットワーク設計者の設計意図に合わせて作成される。
 図3は、通信要求情報リストの例を示す説明図である。図3に示す通信要求情報リストは、複数の通信要求情報で構成されている。また、図3に示すように、通信要求情報は、通信要求ID(Identifier)と、プロトコルと、送信元と、宛先と、パスアドレスと、コマンドと、リプライと、リプライパスアドレスと、データサイズと、通信間隔とで構成されている。
 通信要求IDは、通信要求情報を識別する識別子である。プロトコルは、通信要求IDが示す要求された通信で使用されるプロトコルである。
 図3に示すプロトコルには、「RMAP」と記載されている。RMAP(Remote Memory Access Protocol)は、SpaceWireネットワークに接続されている機器がデータを読み書きする際に使用する機能が規定されているプロトコルである(例えば、非特許文献1を参照)。また、RMAPアドレスは、RMAPでアクセスされる対象機器のメモリアドレスである。非特許文献1には、通信先の機器においてアクセスされるメモリアドレスが規定されている。
 送信元は、パケットの送信元(始点)である機器の名称、または機器の識別子を示す。
また、宛先は、パケットの宛先(終点)である機器の名称、または機器の識別子を示す。
 パスアドレスは、通信要求IDが示す要求されたパスアドレッシング通信で用いられるアドレスである。上記の通り、パスアドレスは、送信対象のパケットのパケットヘッダに記載される。また、本実施形態のパスアドレスの形式は、図26に示すシステムで使用されるパスアドレスの形式と同様である。
 コマンドは、送信対象のパケットに含まれるコマンドの種類を示す。コマンドの種類として、例えばコマンド名が示される。本実施形態の通信要求情報にコマンドが含まれる理由は、試験で使用される情報の種類のうち、特にコマンドの種類が多いためである。なお、通信要求情報には、コマンド以外の試験に要する情報が含まれてもよい。
 リプライ(応答)は、送信されたパケットに対するリプライの有無を示す。また、リプライパスアドレスは、リプライパケットの通信で用いられたパスアドレスである。
 データサイズは、通信要求IDが示す要求された通信で用いられるパケットのデータサイズである。図3に示すデータサイズの単位はbyteである。なお、データサイズには、byte以外の単位での値が記載されてもよい。
 通信間隔は、通信要求IDが示す要求された通信が実行される間隔である。通信間隔には、タイムスロット数が記載されている。例えば、通信要求IDが「1」の通信は、タイムスロット2つ分の時間間隔を空けて繰り返し実行される。
 なお、通信要求情報の形式は、図3に示す形式に限られない。例えば、通信要求情報の形式は、SpaceWireネットワークに含まれる各制御機器に入出力されるコマンドで構成されたコマンドリスト形式でもよい。
 次に、トポロジ情報を説明する。トポロジ情報には、制御部、ルータ、姿勢機器、および観測機器等の、SpaceWireネットワークに含まれる機器の情報と、機器の接続に関する情報である結線(リンク)情報が含まれる。結線情報は、ルータを含む各機器のポートが接続されている機器のポートを示す情報である。
 なお、トポロジ情報には、SpaceWireネットワークに含まれる機器に関する結線情報以外の情報が含まれてもよい。例えば、トポロジ情報には、SpaceWireネットワークに含まれる機器の性能や機能を示す情報が含まれてもよい。
 本実施形態のトポロジ情報には、パスアドレスに関するパスアドレス情報と、結線に関する結線情報とが含まれる。図4は、トポロジ情報に含まれるパスアドレス情報リストの例を示す説明図である。図4に示すパスアドレス情報リストは、複数のパスアドレス情報で構成されている。また、図5は、トポロジ情報に含まれる結線情報リストの例を示す説明図である。図5に示す結線情報リストは、複数の結線情報で構成されている。
 なお、図4に示すパスアドレス情報および図5に示す結線情報は、図6に示すSpaceWireネットワーク200に含まれる各ルータのポートのポート番号(パスアドレス)が用いられて作成された情報である。図6は、SpaceWireネットワーク200の構成例の一部を示すブロック図である。
 図6に示す機器とルータとを結ぶ線、およびルータ同士を結ぶ線がリンクを表す。なお、図6に示すリンク以外にも、SpaceWireネットワーク200にはリンクが含まれている。
 また、図6は、図25に示すSpaceWireネットワーク200に含まれるルータ206A~ルータ206Cのポートのパスアドレスを示す。具体的には、図6に示す各リンクに接続されている各ルータ内の矩形が、ポートを表す。また、各ルータ内の矩形内に記載されている数字が、ポート番号(パスアドレス)である。例えば、システム制御機器201のポートとリンクを介して接続されているルータ206Aのポートのパスアドレスは「12」である。
 図4に示すパスアドレス情報は、各機器の機器名と、ポートと、最大遅延時間とで構成されている。機器名は、SpaceWireネットワーク200に含まれる機器の名称である。機器名には、具体的な名称が記載されてもよいし、識別子等の機器を識別可能な情報が記載されてもよい。
 ポートは、機器名が示す機器にパケットが送信される際に経路として使用されるポートのポート番号(パスアドレス)を示す。例えば、システム制御機器201にパケットが送信される場合、パスアドレスが「1」のポートが経路として使用される。
 最大遅延時間は、パスアドレスが示すポートを経由して機器名が示す機器にパケットが到達するまでに要する最大時間である。図4に示す最大遅延時間の単位は秒である。なお、最大遅延時間には、秒以外の単位での値が記載されてもよい。
 また、図5に示す結線情報は、リンクIDと、接続元機器名と、接続元ポートと、接続先機器名と、接続先ポートと、通信容量とで構成されている。リンクIDは、リンクを識別する識別子である。
 接続元機器名は、リンクIDが示すリンクが接続された接続元の機器の名称、または接続元の機器のIDを示す。また、接続元ポートは、接続元機器名が示す機器の、リンクが接続されたポートのポート番号を示す。
 接続先機器名は、リンクIDが示すリンクが接続された接続先の機器の名称、または接続先の機器のIDを示す。また、接続先ポートは、接続先機器名が示す機器の、リンクが接続されたポートのポート番号を示す。
 なお、図5に示す結線情報において、接続元機器名が示す情報および接続元ポートが示す情報と、接続先機器名が示す情報および接続先ポートが示す情報は入れ替えられてもよい。例えば、図5に示すリンクIDが「1」の結線情報を参照すると、リンクIDが「1」のリンクを介して、システム制御機器201からルータ206Aへの通信と、ルータ206Aからシステム制御機器201への通信の両方の通信が実行されることが分かる。
 通信容量は、リンクIDが示すリンクの通信容量である。通信容量を示す値として、例えば通信帯域幅の値が記載される。図5に示す通信容量の単位はMbit/秒である。なお、通信容量には、Mbit/秒以外の単位での値が記載されてもよい。
 次に、制約充足問題解決部130を説明する。図7は、制約充足問題解決部130の構成例を示すブロック図である。図7に示すように、本実施形態の制約充足問題解決部130は、問題解決部131と、Unsat Core解析部132とを含む。
 制約充足問題解決部130の問題解決部131は、制約情報記憶部120に記憶されている情報が示す全制約を満たす解である充足解を求める機能を有する。
 制約充足問題を解いて充足解が求められた場合、問題解決部131は、充足解の導出時に変数に割り当てられた値を示す情報を含む充足解情報と、充足解が求められるまでに修正された制約および修正コメントを示す情報を含む修正箇所情報とを出力する。
 制約充足問題を解いても充足解が求められなかった場合、問題解決部131は、Unsat Coreを生成する。次いで、問題解決部131は、生成されたUnsat CoreをUnsat Core解析部132に入力する。
 Unsat Core解析部132は、補足情報付き制約情報を参照して入力されたUnsat Coreを解析する機能を有する。Unsat Coreが解析された情報を用いて、Unsat Core解析部132は、「修正候補」タグを含む補足情報付き制約情報が示す制約群の中から修正対象の制約を選択し、修正コメントを生成する。
 一般的に、1つのUnsat Coreには、制約情報記憶部120に記憶されている情報が示す全制約の中の、矛盾が存在する制約の一部が含まれている。すなわち、全制約から修正対象の制約が除かれても、問題解決部131は、充足解を求めることができない場合がある。制約充足問題解決部130では、充足解が求められるまで、問題解決部131による充足解の探索と、Unsat Core解析部132による修正対象の制約の導出が繰り返し実行される。
 以下、制約充足問題解決部130に含まれる各構成要素を、図7を参照してより具体的に説明する。最初に、問題解決部131を説明する。
 問題解決部131は、与えられた制約群を全て充足する解である充足解を探索する。問題解決部131に最初に与えられる制約群は、制約情報記憶部120に記憶されている情報が示す全ての制約で構成された制約群である。
 2回目以降の充足解の探索で問題解決部131に与えられる制約群は、最初に与えられた制約群から、Unsat Core解析部132から入力された修正対象の制約が除かれた全ての制約で構成された制約群である。探索により充足解が求められた場合、問題解決部131は、充足解情報および修正箇所情報を出力する。
 次に、Unsat Core解析部132を説明する。Unsat Core解析部132には、問題解決部131からUnsat Coreが入力される。Unsat Core解析部132は、入力されたUnsat Coreに含まれる制約を修正候補制約と背景制約に分類する。次いで、Unsat Core解析部132は、分類された修正候補制約の中から修正対象の制約を選択し、選択された制約を問題解決部131に入力する。
 以下、問題解決部131が出力する充足解情報と修正箇所情報を説明する。最初に、充足解情報を説明する。
 図8は、充足解情報の例を示す説明図である。図8に示すように、充足解情報は、変数を示す変数情報で構成されている。また、変数情報は、変数名と、変数の値とで構成されている。
 本実施形態の変数名は、「スロットn;パケットm」の形式で定義される。なお、nはタイムスロット番号であり、mはパケットに関する通信要求IDまたはパケット番号である。また、本実施形態の変数の値は、0と1のいずれかである。
 例えば、変数名「スロットn;パケットm」の変数の値が1である場合、通信要求IDがmの通信要求に関するパケットにスロット番号nのタイムスロットが割り当てられる。また、例えば、変数名「スロットn;パケットm」の変数の値が0である場合、通信要求IDがmの通信要求に関するパケットにスロット番号nのタイムスロットが割り当てられない。
 次に、修正箇所情報を説明する。図9は、修正箇所情報の例を示す説明図である。図9に示すように、修正箇所情報は、修正された制約を示す。また、図9に示すように、修正箇所情報は、修正通信制約IDと、修正コメントとで構成される。修正通信制約IDは、修正された制約を識別する識別子である。
 次に、充足解解析部140を説明する。充足解解析部140は、入力された充足解情報に基づいて、スケジュール結果情報を生成する機能を有する。図10は、スケジュール結果情報の例を示す説明図である。
 図10に示すように、スケジュール結果情報は、通信要求IDと、タイムスロットとで構成されている。通信要求IDは、通信要求情報で定義された情報である。スケジュール結果情報には、通信要求IDに対して割り当てられたタイムスロットの番号が記載されている。
充足解解析部140は、充足解情報に記載されている変数の値を解釈することによって、スケジュール結果情報が示すタイムスロット割当結果を得る。
[動作の説明]
 以下、本実施形態の送信タイミングスケジューラ100の動作を図11~図15を参照して説明する。図11は、第1の実施形態の送信タイミングスケジューラ100による設計処理の全体動作を示すフローチャートである。
 送信タイミングスケジューラ100に、通信要求情報とトポロジ情報とが入力される。なお、送信タイミングスケジューラ100に、制約定義情報が入力されてもよい(ステップS110)。
 次いで、制約作成部110は、入力された通信要求情報とトポロジ情報を基に補足情報付き制約情報を作成する(ステップS120)。制約作成部110は、作成された補足情報付き制約情報を制約情報記憶部120に記憶する。
 次いで、制約充足問題解決部130は、制約情報記憶部120に記憶されている情報を用いて、充足解情報および修正箇所情報を作成する(ステップS130)。制約充足問題解決部130は、作成された充足解情報を充足解解析部140に入力する。
 次いで、充足解解析部140は、入力された充足解情報を基にスケジューリング結果情報を作成する(ステップS140)。次いで、送信タイミングスケジューラ100は、作成されたスケジューリング結果情報と修正箇所情報とを出力する(ステップS150)。出力した後、送信タイミングスケジューラ100は、設計処理を終了する。
 以下、設計処理を構成する副処理を説明する。最初に、ステップS120の補足情報付き制約情報作成処理を説明する。図12は、第1の実施形態の制約作成部110による補足情報付き制約情報作成処理の動作を示すフローチャートである。
 制約作成部110に、送信タイミングスケジューラ100に入力された通信要求情報とトポロジ情報とが入力される。なお、送信タイミングスケジューラ100に制約定義情報が入力された場合、制約作成部110に制約定義情報が入力されてもよい(ステップS121)。
 次いで、修正候補制約作成部111は、入力された情報を基に修正候補制約を示す補足情報付き制約情報を作成する(ステップS122)。修正候補制約作成部111は、作成された補足情報付き制約情報を制約情報記憶部120に記憶する。
 次いで、背景制約作成部112は、入力された情報を基に背景制約を示す補足情報付き制約情報を作成する(ステップS123)。背景制約作成部112は、作成された補足情報付き制約情報を制約情報記憶部120に記憶する。記憶した後、制約作成部110は、補足情報付き制約情報作成処理を終了する。
 次に、ステップS130の充足解探索処理を説明する。図13は、第1の実施形態の制約充足問題解決部130による充足解探索処理の動作を示すフローチャートである。
 制約充足問題解決部130は、制約情報記憶部120に記憶されている補足情報付き制約情報が示す全ての制約を取得する(ステップS131)。次いで、問題解決部131は、ステップS131で取得された全制約を充足する解である充足解を探索する(ステップS132)。
 充足解が導出されなかった場合(ステップS133におけるNo)、問題解決部131は、Unsat Coreを出力する。問題解決部131は、出力されたUnsat CoreをUnsat Core解析部132に入力する(ステップS134)。
 次いで、Unsat Core解析部132は、入力されたUnsat Coreを解析し、修正対象の制約である修正制約と、修正制約に対する修正コメントを生成する(ステップS135)。なお、Unsat Core解析部132は、生成された修正コメントを充足解が導出されるまで記憶する。
 次いで、問題解決部131は、ステップS131で取得された全ての制約からステップS135で生成された修正制約が除かれた制約群を満たす充足解を再度探索する(ステップS136)。
なお、問題解決部131は、ステップS136で修正制約が除かれた制約群の代わりに、修正制約の内容が修正された制約群を満たす充足解を探索してもよい。
 充足解が導出されるまで、問題解決部131は、ステップS133~ステップS136の処理を繰り返し実行する。なお、ステップS133~ステップS136の処理ループが継続して実行されると、最終的に充足解の探索対象の制約群には修正候補制約が含まれなくなり、背景制約のみが含まれる。
 背景制約作成部112は背景制約群に含まれる制約のみが考慮された制約充足問題に必ず充足解が存在するように背景制約を作成しているため、制約群に背景制約のみが含まれると、問題解決部131は、充足解を導出できる。すなわち、ステップS133~ステップS136の処理ループは、必ず終了する。
 充足解が導出された場合(ステップS133におけるYes)、問題解決部131は、導出された充足解を示す充足解情報と、存在する修正箇所情報を出力する(ステップS137)。出力される修正箇所情報には、ステップS135で生成された修正制約と修正コメントが記載されている。出力した後、制約充足問題解決部130は、充足解探索処理を終了する。
 次に、ステップS140の充足解解析処理を説明する。図14は、第1の実施形態の充足解解析部140による充足解解析処理の動作を示すフローチャートである。
 充足解解析部140に、制約充足問題解決部130から充足解情報が入力される(ステップS141)。次いで、充足解解析部140は、入力された充足解情報の中から、変数の値が1である変数情報を全て列挙する(ステップS142)。
 次いで、充足解解析部140は、列挙された各変数情報が示す変数名に従って、パケットにタイムスロットを割り当てる(ステップS143)。変数の値が1である変数情報に関してタイムスロット割当が全て行われた後、充足解解析部140は、パケットにタイムスロットが割り当てられた全ての結果を示すスケジューリング結果情報を出力する(ステップS144)。
 例えば、図8に示す最初の変数情報であれば、充足解解析部140は、通信要求ID=1の通信要求に関するパケットにタイムスロット番号が「1」のタイムスロットを割り当てる。
充足解解析部140による割当に対応して、図10に示す通信要求IDが「1」のスケジュール結果情報のタイムスロットには「0」が記載されている。出力した後、充足解解析部140は、充足解解析処理を終了する。
 以下、充足解探索処理を構成する副処理である、ステップS135のUnsat Core解析処理を説明する。図15は、第1の実施形態のUnsat Core解析部132によるUnsat Core解析処理の動作を示すフローチャートである。
 Unsat Core解析部132に、Unsat Coreが入力される(ステップS161)。次いで、Unsat Core解析部132は、入力されたUnsat Coreに含まれる制約を、修正候補制約と背景制約に分類する(ステップS162)。Unsat Core解析部132は、制約情報記憶部120に記憶されている情報を参照して制約を分類する。
 次いで、Unsat Core解析部132は、分類された修正候補制約の中から、修正対象の制約である修正制約を選択する。また、Unsat Core解析部132は、選択された修正制約に関連する修正コメントを補足情報付き制約情報から取得する(ステップS163)。図9に示す例は、Unsat Core解析部132が1つの修正制約を選択した場合の例である。
 次いで、Unsat Core解析部132は、背景制約群に含まれる全ての修正理由を示すメッセージを修正コメントに追記する(ステップS164)。次いで、Unsat Core解析部132は、修正制約と修正コメントとを出力する(ステップS165)。出力した後、Unsat Core解析部132は、Unsat Core解析処理を終了する。
[効果の説明]
 本実施形態の送信タイミングスケジューラ100は、固定の制約と修正候補の制約のいずれであるかを示すタグと、設計装置が修正箇所と共に提示する修正コメントに関する情報が追加された補足情報付き制約情報を作成する制約作成部110を備える。
 制約作成部110は、通信ネットワークに含まれる機器の接続関係を示すトポロジ情報と、通信ネットワークに含まれる機器に実行が要求される通信を示す通信要求情報と、通信タイミングが決定される際に考慮を要する制約を示す制約定義情報とに基づいて補足情報付き制約情報を作成する。作成された補足情報付き制約情報は、通信ネットワークに含まれる制御機器に対するパケット送信タイミングのスケジューリングで使用される。
 また、本実施形態の送信タイミングスケジューラ100は、補足情報付き制約情報が示す全制約群、または修正候補のタグが付与された制約が修正された制約群を充足する解の変数情報である充足解情報を出力する制約充足問題解決部130を含む。充足解を導出する際、制約充足問題解決部130は、全制約群のうち修正された制約と、修正された制約に対する修正コメントを含む修正箇所情報を生成する。すなわち、制約充足問題解決部130は、制約群の修正箇所と修正理由を提示できる。
 また、本実施形態の送信タイミングスケジューラ100は、出力された充足解情報を用いて各制御機器に対するパケット送信タイミングのスケジューリングを行い、スケジューリング結果を示すスケジューリング結果情報を作成する充足解解析部140を含む。
 本実施形態の送信タイミングスケジューラ100は、人為的なミスやリンクでの帯域超過が発生しないように、パスアドレッシング通信における送信タイミングのスケジューリングを適切に行う。スケジューリングが行われる際、制約充足問題解決部130は、修正された通信要求および通信要求の修正理由を示す情報を作成し、作成された情報を外部に出力する。
 すなわち、本実施形態の送信タイミングスケジューラ100は、通信要求の修正理由を明確に設計者に提示できる。よって、設計者が、通信要求設計を迅速に見直すことができるため、通信における人為的なミスに起因した障害の発生が予防される。本実施形態の送信タイミングスケジューラ100が作成したパケット送信タイミングのスケジュール情報が使用されると、使用されない場合に比べて信頼性の高い通信が実行される。
<第2の実施形態>
[構成の説明]
 次に、本発明の第2の実施形態を、図面を参照して説明する。図16は、制約作成部110の第2の実施形態の構成例を示すブロック図である。図16に示すように、本実施形態の制約作成部110は、送信制約作成部113と、帯域制約作成部114と、スロット制限制約作成部115と、依存関係制約作成部116とを含む。
 本実施形態では、第1の実施形態の修正候補制約作成部111の代わりに、送信制約作成部113が修正候補制約を示す補足情報付き制約情報を作成する。また、本実施形態では、第1の実施形態の背景制約作成部112の代わりに、帯域制約作成部114、スロット制限制約作成部115、および依存関係制約作成部116が背景制約を示す補足情報付き制約情報を作成する。
 また、本実施形態の制約作成部110には、第1の実施形態の制約定義情報の代わりに、スロット制限定義情報および依存関係定義情報が入力される。なお、制約作成部110以外の第2の実施形態の構成は、第1の実施形態の構成と同様である。
 以下、制約作成部110に含まれる各構成要素を、図面を参照して説明する。最初に、送信制約作成部113を説明する。
 送信制約作成部113には、通信要求情報が入力される。送信制約作成部113は、入力された通信要求情報を基に補足情報付き制約情報を作成する機能を有する。具体的には、送信制約作成部113は、1つの通信要求情報が示すパケット投入処理に対して1つの制約式を作成する。すなわち、パケット投入処理が制約式化される。
 また、送信制約作成部113は、制約式が記載された制約情報に「修正候補」タグと修正コメントを補足情報として追記する。送信制約作成部113は、作成された補足情報付き制約情報を制約情報記憶部120に記憶する。
 次に、帯域制約作成部114を説明する。帯域制約作成部114には、通信要求情報とトポロジ情報とが入力される。帯域制約作成部114は、入力された通信要求情報とトポロジ情報とを基に補足情報付き制約情報を作成する機能を有する。
 具体的には、帯域制約作成部114は、各タイムスロットにおける各リンクの帯域使用率の上限値を基に制約式を作成する。また、帯域制約作成部114は、制約式が記載された制約情報に「背景」タグと修正理由コメントを補足情報として追記する。帯域制約作成部114は、作成された補足情報付き制約情報を制約情報記憶部120に記憶する。
 次に、スロット制限制約作成部115を説明する。スロット制限制約作成部115には、通信要求情報とスロット制限定義情報とが入力される。スロット制限制約作成部115は、入力された通信要求情報とスロット制限定義情報とを基に補足情報付き制約情報を作成する機能を有する。具体的には、スロット制限制約作成部115は、パケットの種類に依存する、割り当てられるタイムスロットの選択肢を制限する制約を示す補足情報付き制約情報を作成する。
 例えば、SpaceWire-Dの標準仕様では、提供するサービスの種類が観測データ収集である通信のパケットには、(4n+1)番のタイムスロットを割り当てること等が規定されている。スロット制限制約作成部115は、割り当てられるタイムスロットの規則に関する補足情報付き制約情報を作成できる。
 スロット制限制約作成部115は、1つの割り当てられるタイムスロットの条件に対して1つの制約式を作成する。また、スロット制限制約作成部115は、制約式が記載された制約情報に「背景」タグと修正理由コメントを補足情報として追記する。スロット制限制約作成部115は、作成された補足情報付き制約情報を制約情報記憶部120に記憶する。
 以下、スロット制限制約作成部115に入力されるスロット制限定義情報を説明する。図17は、スロット制限定義情報リストの例を示す説明図である。図17に示すスロット制限定義情報リストは、複数のスロット制限定義情報で構成されている。なお、スロット制限定義情報の形式は、図17に示す形式に限られない。
 図17に示すように、スロット制限定義情報は、スロット制限IDと、許容タイムスロットと、RMAPアドレスと、コマンドと、リプライとで構成されている。スロット制限制約作成部115は、1つのスロット制限定義情報を基に1つの補足情報付き制約情報を作成する。
 スロット制限IDは、スロット制限定義情報を識別する識別子である。スロット制限IDは、例えば、図9に示す修正箇所情報の修正コメントに「スロット制限ID=nのスロット制限定義情報に記載されている条件に違反」等と記載されるように利用される。
 RMAPアドレス、コマンド、およびリプライは、スロット制限IDに対応するスロット制限の対象のパケットに関する情報である。なお、RMAPアドレス、コマンド、およびリプライは、通信要求情報にも含まれている。
 スロット制限IDが「3」のスロット制限定義情報のリプライには、「-」が記載されている。すなわち、スロット制限ID「3」に対応するスロット制限の対象のパケットに関して、リプライは「あり」と「なし」のどちらでもよい。
 許容タイムスロットは、スロット制限IDに対応するスロット制限の対象のパケットへの割当が許容されているタイムスロットの番号を示す。図17に示すように、許容タイムスロットには、複数の番号が記載される。なお、許容タイムスロットには、番号が1つだけ記載されてもよい。
 次に、依存関係制約作成部116を説明する。依存関係制約作成部116には、通信要求情報と依存関係定義情報とが入力される。依存関係制約作成部116は、入力された通信要求情報と依存関係定義情報とを基に補足情報付き制約情報を作成する機能を有する。
 具体的には、依存関係制約作成部116は、通信間の依存関係を基に制約式を作成する。
例えば、依存関係制約作成部116は、観測機器による観測データの収集が行われる通信に、ポーリングが行われる通信に割り当てられたタイムスロットの番号よりも後の番号のタイムスロットを割り当てる等の規則を基に制約式を作成する。
 依存関係制約作成部116は、ネットワーク中のリンクごとに1つの制約式を、各タイムスロットに対して作成する。また、依存関係制約作成部116は、制約式が記載された制約情報に「背景」タグと修正理由コメントを補足情報として追記する。依存関係制約作成部116は、作成された補足情報付き制約情報を制約情報記憶部120に記憶する。
 以下、依存関係制約作成部116に入力される依存関係定義情報を説明する。図18は、依存関係定義情報リストの例を示す説明図である。図18に示す依存関係定義情報リストは、複数の依存関係定義情報で構成されている。なお、依存関係定義情報の形式は、図18に示す形式に限られない。
 図18に示すように、依存関係定義情報は、依存関係IDと、優先RMAPアドレスと、優先コマンドと、優先リプライと、劣後RMAPアドレスと、劣後コマンドと、劣後リプライと、タイムスロット間隔とで構成される。依存関係制約作成部116は、1つの依存関係定義情報を基に1つの補足情報付き制約情報を作成する。
 依存関係IDは、依存関係定義情報を識別する識別子である。また、優先RMAPアドレス、優先コマンド、および優先リプライは、優先的にタイムスロットが割り当てられるパケットである優先パケットに関する情報である。
 また、劣後RMAPアドレス、劣後コマンド、および劣後リプライは、優先パケットの次にタイムスロットが割り当てられるパケットである劣後パケットに関する情報である。また、タイムスロット間隔は、優先パケットに割り当てられるタイムスロットと劣後パケットに割り当てられるタイムスロットとのスロット間隔である。
 例えば、依存関係定義情報のタイムスロット間隔が「m」であり、依存関係定義情報が示す優先パケットにn番のタイムスロットが割り当てられた場合、依存関係定義情報が示す劣後パケットには(n+m)番のタイムスロットが割り当てられる。
 また、依存関係定義情報のタイムスロット間隔は、指定されなくてもよい。値が指定されない場合、タイムスロット間隔は空欄になる。または、タイムスロット間隔に「*」等のワイルドカードが記載されてもよい。
 タイムスロット間隔が指定されていない依存関係定義情報を基に、依存関係制約作成部116は、優先パケットに割り当てられるタイムスロットの番号をx、劣後パケットに割り当てられるタイムスロットの番号をyとして、「x<y」の制約式を作成する。上記のように、依存関係制約作成部116は、補足情報付き制約情報を作成する。
 なお、本実施形態でも、修正候補制約群および背景制約群は、必ず充足解が存在するように作成される。すなわち、本実施形態で作成される制約群は、第1の実施形態で作成される制約群と同じ性質を有する。
[動作の説明]
 以下、本実施形態の制約作成部110の動作を図19~図23を参照して説明する。図19は、第2の実施形態の制約作成部110による補足情報付き制約情報作成処理の動作を示すフローチャートである。
 なお、本実施形態の送信タイミングスケジューラ100による設計処理の全体動作は、図11に示す全体動作と同様である。すなわち、図19に示す処理は、図11に示すステップS120の補足情報付き制約情報作成処理に相当する。
 制約作成部110に、送信タイミングスケジューラ100に入力された通信要求情報、トポロジ情報、スロット制限定義情報、および依存関係定義情報が入力される(ステップS210)。
 次いで、送信制約作成部113は、入力された情報を基に送信制約を示す補足情報付き制約情報を作成する(ステップS220)。送信制約作成部113は、作成された補足情報付き制約情報を制約情報記憶部120に記憶する。
 次いで、帯域制約作成部114は、入力された情報を基に帯域制約を示す補足情報付き制約情報を作成する(ステップS230)。帯域制約作成部114は、作成された補足情報付き制約情報を制約情報記憶部120に記憶する。
 次いで、スロット制限制約作成部115は、入力された情報を基にスロット制限制約を示す補足情報付き制約情報を作成する(ステップS240)。スロット制限制約作成部115は、作成された補足情報付き制約情報を制約情報記憶部120に記憶する。
 次いで、依存関係制約作成部116は、入力された情報を基に依存関係制約を示す補足情報付き制約情報を作成する(ステップS250)。依存関係制約作成部116は、作成された補足情報付き制約情報を制約情報記憶部120に記憶する。記憶した後、制約作成部110は、補足情報付き制約情報作成処理を終了する。
 以下、補足情報付き制約情報作成処理を構成する副処理を説明する。最初に、ステップS220の送信制約作成処理を説明する。図20は、第2の実施形態の送信制約作成部113による送信制約作成処理の動作を示すフローチャートである。
 送信制約作成部113に、制約作成部110に入力された通信要求情報が入力される(ステップS221)。次いで、送信制約作成部113は、入力された全ての通信要求情報に対する制約式化が完了しているか否かを確認する(ステップS222)。
 全ての通信要求情報に対する制約式化が完了していない場合(ステップS222におけるNo)、送信制約作成部113は、入力された通信要求情報のうち制約式化されていない通信要求情報を選択する(ステップS223)。
 次いで、送信制約作成部113は、選択された通信要求情報の通信間隔を参照して、制約式と修正コメントを作成する(ステップS224)。次いで、送信制約作成部113は、作成された制約式と修正コメントが含まれる補足情報付き制約情報を作成する。作成した後、送信制約作成部113は、再度ステップS222の処理を行う。
 全ての通信要求情報に対する制約式化が完了している場合(ステップS222におけるYes)、送信制約作成部113は、送信制約作成処理を終了する。
 次に、ステップS230の帯域制約作成処理を説明する。図21は、第2の実施形態の帯域制約作成部114による帯域制約作成処理の動作を示すフローチャートである。
 帯域制約作成部114に、制約作成部110に入力された通信要求情報とトポロジ情報とが入力される(ステップS231)。次いで、帯域制約作成部114は、入力されたトポロジ情報に含まれる全ての結線情報に対する制約式化が完了しているか否かを確認する(ステップS232)。
 全ての結線情報に対する制約式化が完了していない場合(ステップS232におけるNo)、帯域制約作成部114は、入力された結線情報のうち制約式化されていない結線情報を選択する(ステップS233)。
 次いで、帯域制約作成部114は、選択された結線情報のリンクIDが示すリンクを通過するパケットに関する通信要求情報を全て列挙する(ステップS234)。次いで、帯域制約作成部114は、列挙された通信要求情報を基に帯域に関する制約式と修正理由コメントを作成する(ステップS235)。
 次いで、帯域制約作成部114は、作成された制約式と修正理由コメントが含まれる補足情報付き制約情報を作成する。作成した後、帯域制約作成部114は、再度ステップS232の処理を行う。
 全ての結線情報に対する制約式化が完了している場合(ステップS232におけるYes)、帯域制約作成部114は、帯域制約作成処理を終了する。
 次に、ステップS240のスロット制限制約作成処理を説明する。図22は、第2の実施形態のスロット制限制約作成部115によるスロット制限制約作成処理の動作を示すフローチャートである。
 スロット制限制約作成部115に、制約作成部110に入力された通信要求情報とスロット制限定義情報とが入力される(ステップS241)。次いで、スロット制限制約作成部115は、入力されたスロット制限定義情報に対する制約式化が完了しているか否かを確認する(ステップS242)。
 全てのスロット制限定義情報に対する制約式化が完了していない場合(ステップS242におけるNo)、スロット制限制約作成部115は、入力されたスロット制限定義情報のうち制約式化されていないスロット制限定義情報を選択する(ステップS243)。
 次いで、スロット制限制約作成部115は、選択されたスロット制限定義情報で定義されているRMAPアドレス等のパケット情報を含む通信要求情報を全て列挙する(ステップS244)。次いで、スロット制限制約作成部115は、列挙された通信要求情報と選択されたスロット制限定義情報で定義されている許容タイムスロットとを基に、制約式と修正理由コメントを作成する(ステップS245)。
 次いで、スロット制限制約作成部115は、作成された制約式と修正理由コメントが含まれる補足情報付き制約情報を作成する。作成した後、スロット制限制約作成部115は、再度ステップS242の処理を行う。
 全てのスロット制限定義情報に対する制約式化が完了している場合(ステップS242におけるYes)、スロット制限制約作成部115は、スロット制限制約作成処理を終了する。
 次に、ステップS250の依存関係制約作成処理を説明する。図23は、第2の実施形態の依存関係制約作成部116による依存関係制約作成処理の動作を示すフローチャートである。
 依存関係制約作成部116に、制約作成部110に入力された通信要求情報と依存関係定義情報とが入力される(ステップS251)。次いで、依存関係制約作成部116は、入力された依存関係定義情報に対する制約式化が完了しているか否かを確認する(ステップS252)。
 全ての依存関係定義情報に対する制約式化が完了していない場合(ステップS252におけるNo)、依存関係制約作成部116は、入力された依存関係定義情報のうち制約式化されていない依存関係定義情報を選択する(ステップS253)。
 次いで、依存関係制約作成部116は、選択された依存関係定義情報で定義されている優先パケット情報を含む通信要求情報、および選択された依存関係定義情報で定義されている劣後パケット情報を含む通信要求情報を全て列挙する(ステップS254)。
 次いで、依存関係制約作成部116は、列挙された通信要求情報と選択された依存関係定義情報で定義されているタイムスロット間隔とを基に、制約式と修正理由コメントを作成する(ステップS255)。
 次いで、依存関係制約作成部116は、作成された制約式と修正理由コメントが含まれる補足情報付き制約情報を作成する。作成した後、依存関係制約作成部116は、再度ステップS252の処理を行う。
 全ての依存関係定義情報に対する制約式化が完了している場合(ステップS252におけるYes)、依存関係制約作成部116は、依存関係制約作成処理を終了する。
[効果の説明]
 本実施形態の送信タイミングスケジューラ100の制約作成部110は、様々な入力情報に応じて補足情報付き制約情報を作成できる。よって、送信タイミングスケジューラ100は、設定がより複雑な通信ネットワークで使用されるパケット送信タイミングのスケジュールを作成できる。
 なお、各実施形態において、送信タイミングスケジューラ100の設計対象システムをSpaceWireネットワークを用いるサブシステムとして説明した。しかし、各実施形態の送信タイミングスケジューラ100の設計対象システムは、タイムスロットを用いてパケットを送信するシステムであれば、SpaceWireネットワークを使用するシステムに限られない。また、各実施形態の送信タイミングスケジューラ100の設計対象システムは、サブシステムに限られない。
 また、各実施形態の各構成要素が、他の構成要素に情報を直接送信または出力するとして説明した。情報を直接送信または出力する以外にも、各構成要素は、生成された情報、および受信された情報を各実施形態に含まれる記憶部に一旦保存し、記憶部から情報を読み出して他の構成要素に送信または出力してもよい。
 なお、本実施形態の送信タイミングスケジューラ100は、例えば、記憶媒体に格納されているプログラムに従って処理を実行するCPU(Central Processing Unit)によって実現される。すなわち制約作成部110、制約充足問題解決部130、および充足解解析部140は、例えば、プログラム制御に従って処理を実行するCPUによって実現される。
 また、制約情報記憶部120は、例えばRAM(Random Access Memory)で実現される。
 また、本実施形態の送信タイミングスケジューラ100における各部は、ハードウェア回路によって実現されてもよい。
 次に、本発明の概要を説明する。図24は、本発明によるタイムスロット設計装置の概要を示すブロック図である。本発明によるタイムスロット設計装置10は、充足解が導出されない制約充足問題に関する制約群(例えば、Unsat Core)に含まれる修正対象の制約である修正制約と修正制約が修正される理由である修正理由とを出力する出力手段11(例えば、Unsat Core解析部132)と、出力された修正制約が修正された制約群を基に生成された制約充足問題の充足解を導出する導出手段12(例えば、問題解決部131)とを備え、導出手段12は、充足解が導出されるまでに出力された修正制約および出力された修正理由を示す情報を出力する。
 そのような構成により、タイムスロット設計装置は、修正された制約を満たすスロット割当結果に関する制約の修正箇所および修正理由を出力できる。
 また、タイムスロット設計装置10は、制約群に含まれる制約を作成する作成手段(例えば、制約作成部110)を備えてもよい。
 そのような構成により、タイムスロット設計装置は、入力された情報に対応したスロット割当結果を出力できる。
 また、作成手段は、修正候補の制約を作成する修正候補制約作成手段(例えば、修正候補制約作成部111)と、修正の対象外である固定的な制約を作成する固定制約作成手段(例えば、背景制約作成部112)とを含んでもよい
 また、出力手段11は、制約群に含まれる全ての固定的な制約に基づいて修正理由を作成してもよい。
 そのような構成により、タイムスロット設計装置は、固定的な制約に基づいて修正制約に対する修正理由を作成できる。
 また、出力手段11は、制約群に含まれる制約を修正候補の制約と固定的な制約に分類し、出力される修正制約を分類された修正候補の制約の中から選択してもよい。
 そのような構成により、タイムスロット設計装置は、設計者に修正の検討の余地がある制約を提示できる。
 また、タイムスロット設計装置10は、導出された充足解を用いてパケットにタイムスロットを割り当てる割当手段(例えば、充足解解析部140)を備えてもよい。
 そのような構成により、タイムスロット設計装置は、制約充足問題の充足解を用いてタイムスロットテーブルを設計できる。
 また、導出手段12は、充足解が導出されない制約充足問題に関する制約群を出力手段11に入力してもよい。
 そのような構成により、タイムスロット設計装置は、最初の処理で充足解が導出されない場合にも対応できる。
 また、修正候補制約作成手段および固定制約作成手段は、作成される制約に出力手段11が出力する修正理由に関する情報を追加してもよい。
 また、修正候補制約作成手段は、通信要求情報を入力とし、通信要求情報に記載されている制御機器にパケットを送信させる要求を基に修正候補の制約を作成する送信制約作成手段(例えば、送信制約作成部113)を含んでもよい。
 また、固定制約作成手段は、トポロジ情報と通信要求情報とを入力とし、通信ネットワーク内の各リンクの使用可能な帯域幅の条件を示す固定的な制約を作成する帯域制約作成手段(例えば、帯域制約作成部114)を含んでもよい。
 また、固定制約作成手段は、スロット制限定義情報と通信要求情報とを入力とし、通信の種類ごとに割り当て可能なタイムスロットの条件を示す固定的な制約を作成するスロット制限制約作成手段(例えば、スロット制限制約作成部115)を含んでもよい。
 また、固定制約作成手段は、依存関係定義情報と通信要求情報とを入力とし、通信の実行優先順位、および通信間のタイムスロット間隔の条件を示す固定的な制約を作成する依存関係制約作成手段(例えば、依存関係制約作成部116)を含んでもよい。
 以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 この出願は、2016年4月12日に出願された日本出願特願2016-079520を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 本発明は、SpaceWireの仕様に従うインタフェースを備えた衛星内ネットワークの設計に好適に適用される。また、本発明は、衛星内ネットワークの開発初期段階での初期設計、および衛星試験時の設計検査に好適に適用される。また、本発明は、ソースルーティング方式が採用されたパスアドレッシング通信が行われる通信ネットワークに含まれる機器の設計および機器の試験に好適に適用される。
10 タイムスロット設計装置
11 出力手段
12 導出手段
100 送信タイミングスケジューラ
110 制約作成部
111 修正候補制約作成部
112 背景制約作成部
113 送信制約作成部
114 帯域制約作成部
115 スロット制限制約作成部
116 依存関係制約作成部
120 制約情報記憶部
130 制約充足問題解決部
131 問題解決部
132 Unsat Core解析部
140 充足解解析部
200 SpaceWireネットワーク
201 システム制御機器
202 通信機器
203 電源機器
204 姿勢系制御機器
205 観測系制御機器
206A~206E、206X、206Y ルータ
210A~210B 搭載機器
214A~214B 姿勢制御機器
215A~215X 観測機器

Claims (10)

  1.  充足解が導出されない制約充足問題に関する制約群に含まれる修正対象の制約である修正制約と前記修正制約が修正される理由である修正理由とを出力する出力手段と、
     出力された前記修正制約が修正された前記制約群を基に生成された制約充足問題の充足解を導出する導出手段を備え、
     前記導出手段は、
     前記充足解が導出されるまでに出力された前記修正制約および出力された前記修正理由を示す情報を出力する、
    タイムスロット設計装置。
  2.  前記制約群に含まれる制約を作成する作成手段を備える
     請求項1記載のタイムスロット設計装置。
  3.  前記作成手段は、修正候補の制約を作成する修正候補制約作成手段と、修正の対象外である固定的な制約を作成する固定制約作成手段とを含む
     請求項2記載のタイムスロット設計装置。
  4.  前記出力手段は、前記制約群に含まれる制約を前記修正候補の制約と前記固定的な制約に分類し、出力される前記修正制約を分類された前記修正候補の制約の中から選択する
     請求項3記載のタイムスロット設計装置。
  5.  導出された前記充足解を用いてパケットにタイムスロットを割り当てる割当手段を備える
     請求項1から請求項4のうちのいずれか1項に記載のタイムスロット設計装置。
  6.  前記導出手段は、前記充足解が導出されない制約充足問題に関する前記制約群を前記出力手段に入力する 請求項1から請求項5のうちのいずれか1項に記載のタイムスロット設計装置。
  7.  充足解が導出されない制約充足問題に関する制約群に含まれる修正対象の制約である修正制約と前記修正制約が修正される理由である修正理由とを出力し、
     出力された前記修正制約が修正された前記制約群を基に生成された制約充足問題の充足解を導出し、
     前記充足解が導出されるまでに出力された前記修正制約および出力された前記修正理由を示す情報を出力する、
    タイムスロット設計方法。
  8.  前記制約群に含まれる制約を作成する
     請求項7記載のタイムスロット設計方法。
  9.  コンピュータに、
     充足解が導出されない制約充足問題に関する制約群に含まれる修正対象の制約である修正制約と前記修正制約が修正される理由である修正理由とを出力する出力処理、
     出力された前記修正制約が修正された前記制約群を基に生成された制約充足問題の充足解を導出する導出処理、および
     前記充足解が導出されるまでに出力された前記修正制約および出力された前記修正理由を示す情報を出力する情報出力処理
     を実行させるためのタイムスロット設計プログラムを格納する記憶媒体。
  10.  前記コンピュータに、
     前記制約群に含まれる制約を作成する作成処理を実行させる
     請求項9記載のタイムスロット設計プログラムを格納する記憶媒体。
PCT/JP2017/014688 2016-04-12 2017-04-10 タイムスロット設計装置、タイムスロット設計方法およびタイムスロット設計プログラムを格納する記憶媒体 WO2017179540A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018512008A JPWO2017179540A1 (ja) 2016-04-12 2017-04-10 タイムスロット設計装置、タイムスロット設計方法およびタイムスロット設計プログラムを格納する記憶媒体
US16/090,623 US10880212B2 (en) 2016-04-12 2017-04-10 Time slot designing device, time slot designing method, and recording medium having time slot designing program stored thereon

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016079520 2016-04-12
JP2016-079520 2016-04-12

Publications (1)

Publication Number Publication Date
WO2017179540A1 true WO2017179540A1 (ja) 2017-10-19

Family

ID=60041596

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/014688 WO2017179540A1 (ja) 2016-04-12 2017-04-10 タイムスロット設計装置、タイムスロット設計方法およびタイムスロット設計プログラムを格納する記憶媒体

Country Status (3)

Country Link
US (1) US10880212B2 (ja)
JP (1) JPWO2017179540A1 (ja)
WO (1) WO2017179540A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008123022A (ja) * 2006-11-08 2008-05-29 Nippon Telegr & Teleph Corp <Ntt> 対話形式処理における入力値及び入力操作の提示・制限方法、並びにその装置
US7606776B1 (en) * 2005-09-28 2009-10-20 Actenum Corporation Flexible constraint propagation engine for combinatorial optimization applications
US20100318483A1 (en) * 2009-06-12 2010-12-16 Oracle International Corporation Constraint satisfaction problem solver with interactive conflict resolution
JP2014518484A (ja) * 2011-06-30 2014-07-28 アストリアム リミテッド SpaceWireベースのネットワークで用いられる装置および方法
JP2016006555A (ja) * 2014-06-20 2016-01-14 株式会社日立製作所 計画業務支援方法およびシステム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4322843A (en) * 1979-12-26 1982-03-30 Bell Telephone Laboratories, Incorporated Control information communication arrangement for a time division switching system
US20100238932A1 (en) * 2009-03-19 2010-09-23 Broadcom Corporation Method and apparatus for enhanced packet aggregation
CN106661938B (zh) * 2014-09-03 2021-05-25 哈里伯顿能源服务公司 自动化井筒轨迹控制

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7606776B1 (en) * 2005-09-28 2009-10-20 Actenum Corporation Flexible constraint propagation engine for combinatorial optimization applications
JP2008123022A (ja) * 2006-11-08 2008-05-29 Nippon Telegr & Teleph Corp <Ntt> 対話形式処理における入力値及び入力操作の提示・制限方法、並びにその装置
US20100318483A1 (en) * 2009-06-12 2010-12-16 Oracle International Corporation Constraint satisfaction problem solver with interactive conflict resolution
JP2014518484A (ja) * 2011-06-30 2014-07-28 アストリアム リミテッド SpaceWireベースのネットワークで用いられる装置および方法
JP2016006555A (ja) * 2014-06-20 2016-01-14 株式会社日立製作所 計画業務支援方法およびシステム

Also Published As

Publication number Publication date
JPWO2017179540A1 (ja) 2019-02-21
US10880212B2 (en) 2020-12-29
US20190149466A1 (en) 2019-05-16

Similar Documents

Publication Publication Date Title
CN110495145B (zh) 一种优化已安装产品的操作控制的方法、***及计算机介质
US10320584B2 (en) Device access by means of a generic communication driver
JP6705457B2 (ja) 試験装置、試験方法、及び、プログラム
WO2007037969A1 (en) Unmanned air vehicle interoperability agent
JP7331078B2 (ja) データパケット管理方法およびコンピュータプログラム
US11936740B2 (en) Modeling and management of industrial network using OPCUA
Askaripoor et al. Considering safety requirements in design phase of future e/e architectures
Gavrilut et al. Fault-tolerant topology selection for TTEthernet networks
WO2017179540A1 (ja) タイムスロット設計装置、タイムスロット設計方法およびタイムスロット設計プログラムを格納する記憶媒体
WO2014168164A1 (ja) ネットワーク検証装置、ネットワーク検証方法及びプログラム
JP6508092B2 (ja) 車両用ゲートウェイ装置及びプログラム
Ayed et al. Frame packing strategy within gateways for multi-cluster avionics embedded networks
US20220078158A1 (en) Processing system and processing method
Houtan et al. End-to-end timing modeling and analysis of tsn in component-based vehicular software
US7864800B2 (en) Communication system, auxiliary device and communication method
Xu et al. Recent trends of in-vehicle time sensitive networking technologies, applications and challenges
Guo et al. A reusable framework for modeling and verifying in-vehicle networking systems in the presence of CAN and FlexRay
US20240179065A1 (en) Network Device, Time-Sensitive Network System and Auto-configuration Method Thereof
Ploennigs et al. Diagnosis and consulting for control network performance engineering of CSMA-based networks
WO2023119720A1 (ja) 転送装置
Seo et al. A reliable gateway for in-vehicle networks
Ploennigs et al. Automated model generation for performance engineering of building automation networks
Obermaisser et al. Model-based design of the communication system in an integrated architecture
Weiss et al. MaSiMO-Development and Research of Industry 4.0 Components with a Focus on Experimental Applications of Proactive Asset Administration Shells in Data-Driven Maintenance Environments
Grueneberg et al. Stream Processing for ROS-based Application Development

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2018512008

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17782353

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 17782353

Country of ref document: EP

Kind code of ref document: A1