WO2016135960A1 - ユーザインタフェース実行装置およびユーザインタフェース設計装置 - Google Patents
ユーザインタフェース実行装置およびユーザインタフェース設計装置 Download PDFInfo
- Publication number
- WO2016135960A1 WO2016135960A1 PCT/JP2015/055912 JP2015055912W WO2016135960A1 WO 2016135960 A1 WO2016135960 A1 WO 2016135960A1 JP 2015055912 W JP2015055912 W JP 2015055912W WO 2016135960 A1 WO2016135960 A1 WO 2016135960A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- unit
- user interface
- prefetch
- definition
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30047—Prefetch instructions; cache control instructions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5681—Pre-fetching or pre-delivering data based on network characteristics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5682—Policies or rules for updating, deleting or replacing the stored data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/6028—Prefetching based on hints or prefetch instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
Definitions
- the present invention relates to a user interface design device that designs a user interface (UI) of an embedded device, and a user interface execution device that executes a user interface based on a code generated by the user interface design device.
- UI user interface
- a conventional user interface execution device stores content that takes time to read in a storage area that does not require time to read in advance, thereby increasing the responsiveness of content reading at the time of user operation and This reduces the stress on the user due to the need.
- storing information such as content in a storage area that does not require time for reading is referred to as prefetching.
- prefetching In order to prefetch all the content data, it is necessary to secure a sufficiently large storage area, but generally the storage area is limited, so it is not possible to secure a storage area for storing all the content data. Not realistic. Therefore, it is necessary to pre-read data in the storage area based on selection of pre-read data and determination of pre-read start timing.
- Patent Document 1 Conventionally, a technique for pre-reading display data when it is determined that a foreground job is not being executed has been disclosed (see, for example, Patent Document 1). Further, a technique is disclosed in which rule information indicating the relationship between the type of operation input by the user and the data reading condition is defined in advance, and data to be pre-read is determined by referring to the rule information at the time of the operation input by the user. (For example, refer to Patent Document 2).
- the prefetched data is dynamically determined when the user interface is executed, and the timing for discarding the prefetched data is not defined. Therefore, there is a problem that it is difficult to predict the maximum size of the storage area that holds the prefetched data at the time of design.
- the prefetched data is changed after the prefetching is not taken into consideration, there is a possibility that even if the data is changed after the prefetching, the prefetched old data before the change is presented to the user. There was a problem.
- the present invention has been made to solve such a problem.
- the maximum size of a storage area for storing prefetched data can be predicted at the time of designing the user interface, and the prefetched data is updated after the prefetching.
- An object of the present invention is to provide a user interface execution device and a user interface design device capable of presenting updated data to a user even in such a case.
- a user interface execution device is a user interface execution device that executes user operation contents based on a code generated by a user interface design device that designs a user interface.
- a user interface design apparatus is a user interface design apparatus for designing a user interface, which includes a state transition definition unit that defines a state transition definition that defines a state transition of the user interface, and a user that executes the user interface.
- An interface definition unit that defines an interface definition that defines an interface between an interface execution device and a data providing unit that provides data to the user interface execution device, a state transition definition defined in the state transition definition unit, Based on the interface definition defined by the interface definition unit, a code for executing at least one of a prefetch request and a prefetch discard request for the data providing unit in a predetermined interface state is generated. And a prefetch generator.
- a user interface execution device is a user interface execution device that executes a user operation content based on a code generated by a user interface design device that designs a user interface.
- the state transition unit that performs the state transition of the user interface, and the user interface design device, generated based on the data acquisition interface included in the code that is statically associated with the state of the user interface
- a data request unit that requests at least one of a data prefetch request and a data prefetch discard request to the data providing unit
- a data storage unit that stores data acquired from the data providing unit as a response to the request from the data request unit To prepare for It is possible to predict the maximum size of the storage area for storing the data to be viewed when designing the user interface, and to present the updated data to the user even when the pre-read data is updated after the pre-read Become.
- the user interface design device is a user interface design device for designing a user interface, a state transition definition unit for defining a state transition definition defining a state transition of the user interface, and a user interface execution device for executing the user interface And an interface definition unit that defines an interface definition that defines an interface between the data providing unit that provides data to the user interface execution device, a state transition definition defined in the state transition definition unit, and an interface definition unit Pre-read generation that generates a code that executes at least one of a pre-fetch request and a pre-fetch discard request for the data providing unit in a predetermined interface state based on the interface definition defined in Therefore, the maximum size of the storage area for storing the prefetched data can be predicted when designing the user interface, and the updated data is presented to the user even when the prefetched data is updated after the prefetching. It becomes possible to do.
- FIG. 1 It is a block diagram which shows an example of a structure of the user interface design apparatus by the Embodiment 1 of this invention, a user interface execution apparatus, and a data provision part. It is a figure which shows an example of the hardware constitutions corresponding to the software function in the user interface design apparatus by the Embodiment 1 of this invention, a user interface execution apparatus, and a data provision part. It is a figure which shows an example with respect to the user interface design apparatus by Embodiment 1 of this invention, and its generated code. It is a flowchart which shows an example of operation
- FIG. 1 is a block diagram showing an example of the configuration of a user interface design device 1, a user interface execution device 2, and a data providing unit 3 according to Embodiment 1 of the present invention.
- the solid line arrows indicate the flow of data between the components, and the broken line arrows indicate the state transition generation unit 10, the prefetch generation unit 11, the data acquisition generation unit 12, and the prefetch management.
- generation part 13 is shown.
- the user interface design device 1 is a device used by a user interface designer, and includes a transition design unit 6, an interface definition unit 7, a state transition generation unit 10, a prefetch generation unit 11, a data acquisition generation unit 12, A prefetch management generation unit 13.
- the transition design unit 6 (state transition definition unit) designs the state of the user interface. Specifically, the transition design unit 6 creates the state transition definition 8 based on the input of the user interface designer. That is, the transition design unit 6 defines the state transition definition 8 that defines the state transition of the user interface.
- the interface definition unit 7 defines an interface definition 9 between the user interface execution unit 14 of the user interface execution device 2 and the data providing unit 3 that provides data to the user interface execution unit 14.
- the state transition definition 8 an interface group that can be used in a specific state among the interface definitions 9 defined by the interface definition unit 7 can be defined.
- the state transition generation unit 10 Based on the state transition definition 8, the state transition generation unit 10 generates a state transition code 30 (see FIG. 3) that is a source code of software that processes the state transition of the user interface execution unit 14 of the user interface execution device 2. .
- the generated state transition code 30 is transmitted to the state transition unit 18 of the user interface execution device 2.
- the prefetch generation unit 11 performs at least one of a prefetch request and a prefetch discard request by the user interface execution unit 14 of the user interface execution device 2 in a predetermined interface state based on the state transition definition 8 and the interface definition 9. Is generated as a pre-read execution code 31 (see FIG. 3).
- the prefetch request refers to requesting the data providing unit to provide data that may be necessary in a predetermined interface state.
- the prefetch discard request means stopping (discarding) the prefetch request to the data providing unit.
- the predetermined interface state includes the interface state after a predetermined number of transitions.
- the generated prefetch execution code 31 is transmitted to the data request unit 20 of the user interface execution device 2. The prefetch request and the prefetch discard request will be described later.
- the data acquisition and generation unit 12 stores stored data access that is a source code of software that serves as an interface to the data storage unit 16 of the user interface execution device 2 that stores data provided from the data providing unit 3 Code 32 (see FIG. 3) is generated.
- the generated stored data access code 32 is transmitted to the data acquisition unit 15 of the user interface execution device 2.
- the prefetch management generation unit 13 generates prefetch management code 33 (see FIG. 3) that is a source code of software for managing the prefetching state of data in the user interface execution device 2 based on the interface definition 9.
- the generated prefetch management code 33 is transmitted to the prefetch management unit 23 of the data providing unit 3.
- the user interface execution device 2 includes a user interface execution unit 14, a data acquisition unit 15, and a data storage unit 16.
- the user interface execution device 2 receives an input from the input device 4 that directly receives a user input operation, or from the data provision unit 3.
- the presentation device 4 that presents the result of the processing of the user interface is controlled with the reception of the data.
- the user interface execution unit 14 includes an event acquisition unit 17, a state transition unit 18, a data processing unit 19, a data request unit 20, and a presentation control unit 21.
- the event acquisition unit 17 acquires an input from the input device 4 or data reception from the data providing unit 3 as an event.
- the event processed by the event acquisition unit 17 includes a state transition event for changing the state of the user interface, an operation event for the data providing unit 3, and input data for directly using the input signal from the input device 4 for presentation control. It is classified as an event.
- the state transition event is transmitted to the state transition unit 18.
- the operation event is transmitted to the data requesting unit 20 and then transmitted to the data providing unit 3 via the data acquisition unit 15.
- the input data event is transmitted to the data processing unit 19 and then transmitted to the presentation control unit 21 as a change of input data.
- the input data event for example, a process of changing the moving amount of the screen according to the operation amount (the moving amount of the slide) while the user touches down the touch panel can be cited.
- the state transition unit 18 receives the state transition code 30 generated by the state transition generation unit 10 of the user interface design device 1 and executes interface state transition based on the received state transition code 30. In addition, the state transition unit 18 executes a prefetch request to the data request unit 20 that has received the prefetch execution code 31 from the prefetch generation unit 11 of the user interface design device 1 at the time of state transition.
- the data request unit 20 accesses data and functions provided by the data providing unit 3 based on instructions from the event acquisition unit 17 and the state transition unit 18.
- the data request unit 20 receives a request from the event acquisition unit 17 to the data providing unit 3 in accordance with an operation event that does not involve state transition. For example, the data request unit 20 receives a request such as “start music playback” from the event acquisition unit 17. Further, the data request unit 20 receives a prefetch request instruction from the state transition unit 18.
- the data processing unit 19 processes the event with data processed by the event acquisition unit 17 and the data acquired from the data providing unit 3 via the data acquisition unit 15 so that they can be used for presentation of the user interface.
- examples of the event with data include an input data event input from the input device 4 and an acquired data event for receiving data acquired from the data providing unit 3 via the data acquiring unit 15.
- the presentation control unit 21 generates information to be actually presented to the user in the presentation device 5 based on the state of the user interface execution unit 14 and the data processed by the data processing unit 19, and can be presented in the presentation device 5.
- a control signal processed as described above is generated.
- the presentation control unit 21 acquires the state of the user interface execution unit 14 from the state transition unit 18 and acquires data to be presented to the user from the data processing unit 19.
- the control signal generated by the presentation control unit 21 is transmitted to the presentation device 5, and the presentation device 5 performs presentation to the user.
- the presentation includes not only display on the screen but also presentation of sound by sound reproduction and presentation as a force sense using a tactile device.
- the data acquisition unit 15 When the data acquisition unit 15 receives the prefetch request from the data request unit 20, the data acquisition unit 15 checks whether or not the same data as the data requested from the data request unit 20 exists in the data storage unit 16. When the same data does not exist in the data storage unit 16, the data acquisition unit 15 requests the data providing unit 3 to send the data to be prefetched. On the other hand, when the same data exists in the data storage unit 16, the data acquisition unit 15 notifies the data request unit 20 of success (the same data exists) without requesting the data providing unit 3. respond.
- the data storage unit 16 stores the same data as the data requested from the data processing unit 19. Check if it exists. When the same data exists in the data storage unit 16, the data acquisition unit 15 returns the same data stored in the data storage unit 16 as a response without requesting the data from the data providing unit 3. On the other hand, when the same data does not exist in the data storage unit 16, the data acquisition unit 15 returns an error indicating that the same data does not exist in the data storage unit 16 as a response.
- the data acquisition unit 15 when the data acquisition unit 15 receives a request based on another interface that is not a data acquisition interface from the data request unit 20, the data acquisition unit 15 sends a data request to the data providing unit without referring to the data storage unit 16. .
- the input device 4 interprets the user's input operation and sends it to the user interface execution device 2 as an event.
- examples of the input device 4 include a touch panel, a mouse, a keyboard, an H / W (hardware) key, a rotary switch, a remote controller, and a voice recognition engine.
- the presentation device 5 presents information to the user based on the control signal received from the presentation control unit 21.
- examples of the presentation device 5 include a device that presents visual information such as a liquid crystal display or a projector, a device that presents audio information such as a speaker or an earphone, a device that presents force sense such as a vibrator, and the like.
- the data providing unit 3 is a device that provides the data presented by the presentation device 5 to the user interface execution device 2, and includes a request processing unit 22, a prefetch management unit 23, a response return unit 24, a data generation processing unit 25, It has.
- the request processing unit 22 receives at least one request from the data acquisition unit 15 among a prefetch request, a prefetch discard request, and an instruction request for requesting a predetermined process to the data providing unit 3.
- the prefetch management unit 23 manages the prefetching state of data in the user interface execution device 2 based on the prefetch management code 33 generated by the prefetch management generation unit 13. Specifically, management in the prefetch management unit 23 is performed based on a prefetch request or prefetch discard request received by the request processing unit 22.
- the response return unit 24 returns data to the data acquisition unit 15 in response to the prefetch request or data acquisition request received by the request processing unit 22. Further, when the data return processing unit 25 is notified from the data generation processing unit 25 that the data held in the data providing unit 3 has been updated by the processing of the data generation processing unit 25, the response return unit 24 refers to the prefetch management unit 23. It is determined whether or not the updated data is in a prefetched state. When the updated data is in the prefetched state, the response return unit 24 notifies the data acquisition unit 15 that the data (more specifically, the data value) has been updated.
- the data generation processing unit 25 performs update processing or data generation processing of data held by the data providing unit 3. These processes are performed by the developer of the data providing unit 3 writing a program. It is assumed that data held by the data providing unit 3 is held in a storage unit (not shown) provided in the data providing unit 3.
- FIG. 2 is a diagram illustrating an example of a hardware configuration corresponding to software functions in the user interface design device 1, the user interface execution device 2, and the data providing unit 3 illustrated in FIG.
- the transition design unit 6, the interface definition unit 7, the state transition generation unit 10, the prefetch generation unit 11, the data acquisition generation unit 12, and the prefetch management generation unit 13 are stored in, for example, the processor 26 of FIG.
- the processor 26 of FIG. By executing the program stored in 27 or the like, the function of the processor 26 is realized. However, these may be realized in cooperation with a plurality of processors 26, for example.
- the user interface execution unit 14 the data acquisition unit 15, the event acquisition unit 17, the state transition unit 18, the data processing unit 19, the data request unit 20, and the presentation control unit 21 are, for example, illustrated in FIG.
- This processor 26 is implemented as a function of the processor 26 by executing a program stored in the memory 27 or the like. However, these may be realized in cooperation with a plurality of processors 26, for example.
- the request processing unit 22, the prefetch management unit 23, the response return unit 24, and the data generation processing unit 25 execute, for example, the program stored in the memory 27 or the like by the processor 26 in FIG. 2.
- the function of the processor 26 is realized. However, these may be realized in cooperation with a plurality of processors 26, for example.
- processor 26 and the memory 27 are provided in each of the user interface design device 1, the user interface execution device 2, and the data providing unit 3.
- FIG. 3 is a diagram showing an example of input to the user interface design device 1 and its generated code.
- the user inputs the design of the user interface executed in the user interface execution device 2 to the transition design unit 6 and the interface definition unit 7.
- the user inputs the state transition diagram 28 and the correspondence definition 29 that defines the correspondence of the interface used in each state to the transition design unit 6.
- the transition design unit 6 may have a GUI (Graphical User Interface) to be input by the user, and a state transition model designed using a tool for editing UML (Unified Modeling Language). You may make it import.
- the state transition definition 8 includes a state transition diagram 28 and a correspondence definition 29.
- the state transition diagram 28 shows that when the event E1 is received in the state S1, the state transitions to the state S2. Further, the state transition diagram 28 shows that when the event E2 is accepted in the state S2, the state transitions to the state S1, and when the event E3 is accepted in the state S2, the state transitions to the state S3. Moreover, the state transition diagram 28 shows that when the event E4 is received in the state S3, the state transitions to the state S1.
- the correspondence definition 29 defines the correspondence of interfaces that may be used in each state defined in the state transition diagram 28.
- the correspondence definition 29 may be defined as a property of each state in the state transition diagram 28, or may be defined in a separate file.
- the correspondence definition 29 uses the three interfaces getDataA, getStateD, and doSomething in the state S1, uses the three interfaces getDataA, getCurrentState, and OnNotifyE2 in the state S2, and getsListC, getCurrentState, It shows that three interfaces of doSomething are used.
- the interface definition 9 includes an interface definition between the user interface execution unit 14 of the user interface execution device 2 and the data providing unit 3 and a definition of the maximum size of data obtained from the data providing unit 3 based on the interface. Contains.
- the interface definition 9 indicates what kind of interface the interface is. In the example of FIG. 3, the interface starting from “get” indicates that the interface acquires data from the data providing unit 3 (data acquisition interface).
- An interface starting from “do” indicates an interface (instruction interface) for giving an instruction to the data providing unit 3.
- An interface starting from “OnNotify” indicates an event notification interface (event notification interface) from the data providing unit 3 to the user interface execution unit 14.
- the interface definition 9 indicates an implicit definition according to the described rule. For example, before the type of the interface definition 9 is specified, the data acquisition interface is “getter”, the instruction interface. May be explicitly declared as “method”, the event notification interface as “event”, etc.
- the interface definition 9 defines four types of data acquisition interfaces, one type of instruction interface, and one type of event notification interface for the interface to the data providing unit 3 called serviceA.
- the maximum size of data acquired from the data providing unit 3 can be defined based on the data acquisition interface.
- DataA is defined as 4 bytes
- StringB is defined as 4 ⁇ 256 bytes
- the maximum retained size of ListC is defined as 16 ⁇ 256 + 8 bytes
- StateD is defined as 16 bytes.
- the state transition generation unit 10 generates a state transition code 30 based on the state transition definition 8.
- the state transition code 30 indicates that the state transitions to the state S2 when the event E1 is received in the state S1.
- the state transition generation unit 10 reads getDataA and getStateD which are data acquisition interfaces defined in the state S1 of the correspondence definition 29, executes subscribe_DataA () and subscribe_StateD () when transitioning to the state S1, and starts from the state S1.
- a state transition code 30 for executing unsubscribe_DataA () and unsubscribe_StateD () is generated.
- the prefetch generation unit 11 generates a prefetch execution code 31 based on the state transition definition 8 and the interface definition 9.
- the prefetch generation unit 11 includes subscribe_DataA () and subscribe_StateD () called from the state transition code 30, and getDataA () and getStateD () that are data acquisition interfaces for acquiring data from the data acquisition unit 15.
- the prefetch execution code 31 including is generated.
- sbscribe_DataA determines from the interface definition 9 that DataA is an int type, and calls subscribe to perform prefetch processing by adding the size of int to the argument.
- the get method which is a data acquisition interface, generates a code that is converted from the data storage unit 16 into an int form and extracted. The same applies to StateD.
- the prefetch generation unit 11 defines each state defined in the state transition definition 8 based on the prefetch execution code 31 generated by the prefetch generation unit 11 and the definition of the maximum size of data included in the interface definition 9. In the state, the maximum size of the data storage unit 16 of the user interface execution device 2 that stores the data provided from the data providing unit 3 is calculated.
- the data acquisition / generation unit 12 generates the stored data access code 32 based on the interface definition 9.
- the data acquisition and generation unit 12 generates a code for generating an entry in the data storage unit 16 based on the interface defined in the interface definition 9 and sends a prefetch request to the data providing unit 3. Then, a code for performing processing for storing the returned data in the data storage unit 16 is generated.
- the entry is composed of a combination of key and value as shown in FIG. 9 (details will be described later).
- the data acquisition / generation unit 12 also generates a callback function that receives a value change (update) notification from the data providing unit 3. Further, the data acquisition / generation unit 12 defines doSomething () that is not the data acquisition interface defined in the interface definition 9, OnNotifyE2 () that is a call code, and a callback interface.
- a prefetch request for data represented by “key” is transmitted to the data providing unit 3 by executing the process on the fifth line of the stored data access code 32, and as a response, the current latest Value (data value) is returned, and the value is recorded in the data storage unit 16 by executing the processing of the fourth and fifth rows.
- a value is returned from the data providing unit 3 by a synchronous process.
- a process of returning the value may be received by a callback to support an asynchronous response.
- the processing on and after the 20th line of the stored data access code 32 shows an example of a callback function for receiving a data update notification from the data providing unit 3, and generates a callback function called OnNotifyDataA for an interface called getDataA.
- the callback function the data storage unit 16 is updated and the user interface execution unit 14 is notified.
- the stored data access code 32 includes a code that generates an entry of a predetermined size in the data storage unit 16 and calls a prefetch start process, and deletes the data by a prefetch discard request and sends a prefetch discard request to the data providing unit. 3, a code for acquiring data predetermined from the data storage unit 16, and a code for updating data in the data storage unit 16 based on a data update notification received from the data providing unit 3 At least one code is included.
- the prefetch management generation unit 13 generates a prefetch management code 33 used by the prefetch management unit 23 based on the interface definition 9.
- the prefetch management generation unit 13 generates codes corresponding to the prefetch request (subscribe) and the prefetch discard request (unsubscribe) of serviceA provided by the data providing unit 3 based on the interface definition 9. Generate. That is, the prefetch management generation unit 13 manages, based on the interface definition 9, whether or not the data provided from the data providing unit 3 to the user interface execution device 2 is a prefetch target.
- the prefetch management code 33 is generated.
- the prefetch request code corresponding to the prefetch request executes a code for registering the client (client) making the prefetch request and the data to be prefetched in the prefetch management unit 23, and the developer of the data providing unit 3 actually programs Call the process such as onCall_getDataA () that is the target of the description.
- the prefetch discard request code corresponding to the prefetch discard request generates a code for discarding the registration of the client that performs the prefetch request and the data to be prefetched to the prefetch management unit 23.
- the prefetch management generation unit 13 generates a process (setDataA) for changing the value of data to be prefetched.
- setDataA a process for changing the value of data to be prefetched.
- FIG. 4 is a flowchart showing an example of the operation of the user interface execution device 2.
- FIG. 4 shows a processing flow when the state transition unit 18 makes a transition according to an event input from the input device 4 or the data acquisition unit 15 to the event acquisition unit 17. Note that, in steps S101 to S105, the case where the transition destination state is state S1 is described as an example. In addition, the case where the state of the transition source is the state S1 in steps S106 to S110 is described as an example.
- step S101 when the state transition unit 18 executes state transition, the state transition unit 18 determines whether or not processing has been performed on all data acquisition interfaces defined in the transition destination state.
- the processing in step S101 may be executed in a loop structure as shown in FIG. 4, or may be executed in a state where the loop is expanded from the correspondence definition 29 at the time of design.
- the loop is expanded when generating the processing executed by the S1.onenter on the fourth to seventh lines of the state transition code 30 Then it has been expanded into the acquisition of DataA and StateD. If processing has been performed for all data acquisition interfaces, the process proceeds to step S106. On the other hand, if processing has not been performed for all data acquisition interfaces, the process proceeds to step S102.
- step S102 the data acquisition unit 15 determines whether or not an entry with the same key exists in the data storage unit 16. In the example of FIG. 3, this corresponds to the process executed by isSubscribed in the second line of the stored data access code 32. If there is an entry with the same key, the process proceeds to step S103. On the other hand, if there is no entry with the same key, the process proceeds to step S104.
- step S103 the data acquisition unit 15 determines the entry caller (the client that called the prefetching process, in this case, the user interface execution unit 14) by the process executed by the add of the seventh line of the stored data access code 32.
- the client management table (see FIG. 13) will be described in detail later in the third embodiment.
- step S104 the data acquisition unit 15 creates a new entry in the data storage unit 16 using the data name and the service name as keys.
- step S105 the data acquisition unit 15 sends a prefetch request to the data providing unit 3 that is a server.
- step S106 the state transition unit 18 determines whether or not processing has been performed on all data acquisition interfaces used in the transition source state.
- the process is executed by onleave on the 8th to 11th lines of the state transition code 30. Lines 8 to 11 of the state transition code 30 show processing when the state transitions from the state S1 to the state S2 by the event E1. Note that the processing in step S106 may be executed in a state where a loop is expanded from the correspondence definition 29 at the time of design, as in step S101. If processing has been performed on all data acquisition interfaces, the processing ends. On the other hand, if processing has not been performed for all data acquisition interfaces, the process proceeds to step S107.
- step S107 the data acquisition unit 15 accesses the client management table of the data storage unit 16 and determines whether the entry of the corresponding key is referenced from other than the caller. If it is also referred from other than the caller, the process proceeds to step S108. On the other hand, if it is referenced only from the caller, the process proceeds to step S109. Note that when there is one user interface execution unit 14 as in the first embodiment, the process proceeds to step S109.
- step S108 the data acquisition unit 15 deletes the caller from the client management table of the data storage unit 16.
- step S109 the data acquisition unit 15 invalidates or discards (deletes) the entry of the corresponding key in the data storage unit 16.
- the data acquisition unit 15 invalidates or discards (deletes) the entry of the corresponding key in the data storage unit 16.
- the invalidation flag is set to “false” when invalidating the entry, and “true” when validating the entry.
- step S110 the data acquisition unit 15 sends a prefetch discard request to the data providing unit 3 based on the prefetch discard request instruction from the data request unit 20.
- the codes shown in the 9th to 12th lines of the stored data access code 32 correspond to the prefetch discard request processing.
- FIG. 5 is a flowchart showing an example of an operation when the data providing unit 3 receives a prefetch request.
- FIG. 5 shows a process flow when the data providing unit 3 receives the prefetch request sent from the data acquisition unit 15 by the process in step S105 of FIG.
- step S201 when the request processing unit 22 receives a prefetch request from the data acquisition unit 15, the device ID that identifies the user interface execution unit 14 (client) that has sent the prefetch request and the data to be prefetched. Is registered in the prefetch management unit 23. In the example of FIG. 3, this corresponds to the process shown in the second line of the prefetch management code 33.
- step S202 the request processing unit 22 calls a group code for acquiring the value of the data providing unit 3.
- the group code is a process in which an internal process (program) can be freely described by the developer of the data providing unit 3, and an interface for acquiring a value is called from the user interface execution unit 14 as a client. This is the same code that is processed when In the example of FIG. 3, this corresponds to the processing shown in the fifth and seventh lines of the prefetch management code 33.
- step S203 the response return unit 24 returns the value acquired in step S202 to the user interface execution device 2 by the mechanism of RPC (Remote Procedure Call).
- FIG. 6 is a flowchart showing an example of the operation when the data provision unit 3 receives a prefetch discard request.
- FIG. 6 shows the flow of processing when the data provision unit 3 receives the prefetch discard request sent from the data acquisition unit 15 by the processing in step 110 of FIG.
- step S301 when receiving the prefetch discard request from the data acquisition unit 15, the request processing unit 22 deletes the combination of the device ID and the prefetch target data key registered in the prefetch management unit 23. By performing this processing, the data providing unit 3 can no longer associate the user interface execution unit 14 (client) with the data to be prefetched, and the prefetching state is released.
- FIG. 7 is a flowchart showing an example of an operation at the time of value update in the data providing unit 3.
- the data providing unit 3 generates data independently of the user interface execution device 2 in the data generation processing unit 25, and the value of the data in the prefetched state changes when performing processing to generate the data.
- FIG. 7 shows the flow of processing when the data value is changed (updated).
- the data whose value has been changed is referred to as data after the change.
- step S401 the data generation processing unit 25 notifies the response return unit 24 of the changed data.
- step S402 the response return unit 24 refers to the combination of the device ID and the prefetch target data key registered in the prefetch management unit 23, and there is a user interface execution unit 14 that prefetches the changed data. Judge whether or not. If there is a user interface execution unit 14 that prefetches the changed data, the process proceeds to step S403. On the other hand, if there is no user interface execution unit 14 that prefetches the changed data, the process ends.
- step S403 the response return unit 24 sends the changed data and the prefetch target data key corresponding to the data to the pre-read user interface execution unit 14.
- FIG. 8 is a flowchart showing an example of the operation when the changed data is received in the user interface execution apparatus 2.
- step S501 the data acquisition unit 15 receives the changed data from the response return unit 24 of the data providing unit 3.
- step S502 the data acquisition unit 15 searches for the corresponding data from the data storage unit 16 based on the changed data and the prefetch target data key corresponding to the data, and calculates the corresponding data value. Overwrites the data value after the change.
- step S503 the data acquisition unit 15 notifies the user interface execution unit 14 using the corresponding data that the data value has been updated.
- the event acquisition unit 17 Upon receiving the notification, the event acquisition unit 17 performs processing such as updating a value to be presented to the presentation device 5 according to the event.
- FIG. 9 is a diagram illustrating an example of a format of data managed by the data storage unit 15.
- the data storage unit 15 stores the data provided from the data providing unit 3 as a combination of key and value.
- key is a character string after get of the data acquisition interface (interface starting with “get”) defined in the interface definition 9.
- getDataA the key of data acquired based on the interface is “DataA”.
- type to be acquired based on the data acquisition interface is a collection type such as a list type, add a fixed word such as length, name, item after the key, and the parameters necessary for handling the list type at the same time. Store.
- the data to be acquired by the argument is intended to be changed. Therefore, the identity of the data is guaranteed by adding the argument to the end of the key.
- Value stores the value of the data provided from the data providing unit 3 as it is.
- all data values are stored as character strings in JSON (JavaScript Object Notation) format.
- the data acquisition unit 15 converts the data acquired from the data storage unit 16 into a type defined by the interface, and then sends the data to the user interface execution unit 14.
- FIG. 10 is a diagram illustrating an example of the prefetch management data managed by the prefetch management unit 23.
- the prefetch management unit 23 manages the prefetch state of data interpreted from the interface definition 9 included in the prefetch management code 33 by a key-subscribe combination. Set to true if the data is prefetched, false otherwise.
- the data whose key is StringB is not in the prefetched state, and the data of other keys is in the prefetched state.
- the response return unit 24 refers to the prefetch management data of the prefetch management unit 23 and the StringB data is not prefetched.
- the updated data is not notified to the user interface execution unit 14.
- the response return unit 24 refers to the prefetch management data of the prefetch management unit 23 and the user interface execution unit 14 in the prefetch state. Is notified of the updated data.
- the user interface execution device 2 corresponds to a car navigation system incorporated in a dashboard of a car.
- the input device 4 is a steering remote controller mounted on the driver's steering wheel, an H / W key mounted on the car navigation system, or an infrared remote controller.
- the presentation device 5 is a liquid crystal panel of a car navigation system.
- the data providing unit 3 corresponds to a program information distribution service for radio programs executed on a server on the Internet via a network. Further, as the interface definition 9, SongInfo getSongInfo (station_id) that is a data acquisition interface is defined.
- the state transition unit 18 has received the state transition code 30 from the state transition generation unit 10 of the user interface design device 1. Further, it is assumed that the data request unit 20 has received the prefetch execution code 31 from the prefetch generation unit 11 of the user interface design apparatus 1. Further, it is assumed that the data acquisition unit 15 has received the stored data access code 32 from the data acquisition / generation unit 12 of the user interface design apparatus 1.
- the prefetch management unit 23 has received the prefetch management code 22 from the prefetch management generation unit 13 of the user interface design device 1.
- the state of the user interface execution unit 14 changes to a radio program information display screen if the user performs a predetermined number of operations from the state.
- the request unit 20 executes subscribe_SongInfo (station1) that is the prefetch execution code 31.
- the data acquisition unit 15 adds an item (entry) of SongInfo_station1 to the data storage unit 16 and sends a prefetch request to the data providing unit 3.
- “device1” that is the device ID of the car navigation system (user interface execution device 2) that is the client that has made the prefetch request and “SongInfo_station1” that is the key are sent as the prefetch request.
- the request processing unit 22 when the request processing unit 22 receives the prefetch request from the user interface execution device 2, the request processing unit 22 registers in the prefetch management unit 23 that the SongInfo_station1 is in the prefetch state with device1. Then, the response return unit 24 returns the SongInfo of the current station1 to the user interface execution device 2.
- the data acquisition unit 15 that has received the SongInfo of station1 from the data providing unit 3 records the SongInfo of tation1 for the value corresponding to “SongInfo_station1”, which is the key of the data storage unit 16, and the event acquisition unit 17 completes the prefetching. Tell them that you did.
- the response return unit 24 of the data providing unit 3 refers to the prefetch management data of the prefetch management unit 23, and the SongInfo is prefetched. Know that it is. Then, the response return unit 24 notifies the data acquisition unit 15 of the user interface execution device 2 of the changed information. Upon receiving the changed information, the data acquisition unit 15 updates the value in the data storage unit 16 by overwriting the changed information, and notifies the event acquisition unit 17 of the changed information.
- the user interface execution unit 14 can always obtain the latest information from the data providing unit 3 in the prefetched state. Accordingly, since the user interface execution unit 14 does not need to sequentially request data to the data providing unit 3 with a large delay, screen transition or screen drawing can be performed at high speed, which is comfortable for the user. An operational feeling can be provided.
- the data request unit 20 reads the prefetch in the prefetch execution code 31.
- Unsubscribe_SongInfo (station1) which is a discard request is executed, and the data acquisition unit 15 invalidates or discards the SongInfo of tation1 in the data storage unit 16.
- the data acquisition unit 15 sends a prefetch discard request to the data providing unit 3.
- the request processing unit 22 of the data providing unit 3 deletes information indicating that SongInfo_station1 is prefetched by device1 from the prefetch management data managed by the prefetch management unit 23.
- the data request unit 20 executes the prefetch discard request, it is possible to identify data that is in the prefetch state in a certain state of the user interface execution unit 14, and thus this process (process related to the prefetch discard request) is determined.
- the code stored data access code
- data stored in the data storage unit 16 necessary for the user interface execution device 2 to operate can be specified. Accordingly, by predefining the maximum size of each data item (data required in each state of the user interface) in the data storage unit 16, the capacity of the data storage unit 16 required when the user interface execution device 2 operates. Can be estimated at design time.
- the maximum size of the storage area for storing the prefetched data can be predicted at the time of designing the user interface, and the prefetched data is updated after the prefetching. Also, it becomes possible to present the updated data to the user.
- Embodiment 2 In Embodiment 1, although the case where the user interface execution apparatus 2 and the data provision part 3 were provided separately was demonstrated, it does not restrict to this.
- the user interface execution device 2 and the data providing unit 3 may be provided integrally.
- a function of providing the current location where the host vehicle is traveling may be executed.
- the car navigation system corresponds to the user interface execution device 2, and the function of providing the current location of the host vehicle corresponds to the data providing unit 3.
- FIG. 11 is a block diagram showing an example of the configuration of the user interface execution device 34 according to the second embodiment.
- the user interface execution device 34 is an integration of the user interface execution device 2 and the data providing unit 3 according to the first embodiment (see FIG. 1).
- the user interface execution unit 35 is obtained by incorporating the data acquisition unit 15 and the data storage unit 16 into the user interface execution unit 14 according to the first embodiment.
- Other configurations and operations are the same as those of the first embodiment, and thus description thereof is omitted here.
- the user interface execution device 34 includes a user interface execution unit 35 and a data providing unit 3. Therefore, the delay when the user interface execution unit 35 acquires data from the data providing unit 3 is smaller than that in the first embodiment.
- the user interface execution device 2 generally includes an operating system (OS), and the user interface execution unit 14 and the data providing unit 3 have different memory spaces. Therefore, there is a problem that a delay occurs when data is transferred between the user interface execution unit 14 and the data providing unit 3, and the delay increases as the data size and the number of times of transfer increase.
- OS operating system
- the data storage unit 16 since the data storage unit 16 is provided in the user interface execution unit 35, it is possible to eliminate the number of times of data transfer in different memory spaces at the time of data acquisition.
- a display for the driver a display for the passenger in the passenger seat, and a display for the passenger in the rear seat It is possible that a user interface execution unit corresponding to each of the above is provided.
- FIG. 12 is a block diagram showing an example of the configuration of the user interface execution device 36 according to Embodiment 3 of the present invention.
- the user interface execution device 36 includes user interface execution units 41, 42, and 43.
- the user interface execution unit 41 is connected to the presentation device 38
- the user interface execution unit 42 is connected to the presentation device 39
- the user interface execution unit 43 is connected to the presentation device 40.
- the user interface execution units 41, 42, and 43 have the same functions as the user interface execution unit 14 according to the first embodiment. Other configurations and operations are the same as those of the first embodiment, and thus description thereof is omitted here.
- the display that is displayed toward the driver is the presentation device 38
- the display that is displayed toward the passenger in the passenger seat is the presentation device 39
- the display device 40 is a display device 40, and different information can be displayed on each of the presentation devices 38, 39, 40.
- the data acquisition unit 44 and the data storage unit 45 are common to the user interface execution units 41, 42, and 43.
- the user interface execution unit 41 sends the data to the data providing unit 3. Necessary data can be acquired from the data storage unit 45 without making a prefetch request. Therefore, the user interface execution device 36 as a whole can realize a high-speed response.
- the data request unit 49 of the user interface execution unit 41 is shown in the fourth line of the prefetch execution code 31 shown in FIG.
- the data acquisition unit 44 is notified of its own instance (“this” in the example of FIG. 3).
- the data acquisition unit 44 adds an item to the data storage unit 40 based on the stored data access code 32.
- the data acquisition unit 44 performs processing without newly transmitting a prefetch request to the data providing unit 3 when it is already in the prefetch state.
- the data acquisition unit 44 that has received the changed data executes OnNotifyDataA of the stored data access code 32.
- OnChangeDataA is executed for all the interface execution units that prefetch DataA.
- FIG. 13 is a diagram illustrating an example of a client management table managed by the data storage unit 45.
- the data storage unit 45 stores a client management table for managing clients reading a specific key.
- DataA indicates that the client A (for example, the user interface execution unit 41) and client B (for example, the user interface execution unit 42) are prefetched
- StringB indicates that the client A is prefetched.
- the user interface execution device 36 includes a plurality of user interface execution units 41, 42, and 43, the user interface execution device 36 as a whole is high speed. A response can be realized.
- a plurality of user interface execution devices such as a car navigation unit incorporated in a dashboard of a car and a tablet terminal brought into the car by the user. It may be present.
- FIG. 14 is a block diagram showing an example of the configuration of the user interface execution devices 2 and 61 according to Embodiment 4 of the present invention.
- a plurality of user interface execution devices 2 and 61 are provided.
- the user interface execution devices 2 and 61 have the same functions as the user interface execution device 2 according to the first embodiment.
- Other configurations and operations are the same as those of the first embodiment, and thus description thereof is omitted here.
- the car navigation unit incorporated in the dashboard of the car can be used as the user interface execution device 2, and the tablet terminal brought into the car by the user can be used as the user interface execution device 61.
- the user interface execution devices 2 and 61 are separate devices and include data acquisition units 15 and 65 and data storage units 16 and 66, respectively.
- the data providing unit 3 manages IDs for identifying the user interface execution devices 2 and 61. Specifically, a process of executing prefetching for the data providing unit 3 based on the stored data access code 32 executed by the data acquisition units 15 and 65 (in the example of FIG. 3, the process shown in the fifth line of the stored data access code 32) DeviceID that identifies the user interface execution devices 2 and 61 and calls the subscribe code for the data providing unit 3 in the client.serviceIF.subscribe (key)).
- the request processing unit 22 of the data providing unit 3 receives the deviceID and the key of the data to be prefetched based on the prefetch management code 33 and records it in the prefetch management unit 23. Then, when the data value is changed by the processing of the data generation processing unit 25, the response return unit 24 refers to the prefetch management data of the prefetch management unit 23, and for all the user interface execution devices in the prefetch state. Notify the changed data.
- FIG. 15 is a diagram illustrating an example of management data managed by the prefetch management unit 23.
- the management data of the prefetch management unit 23 according to the fourth embodiment includes a key and data of the key as shown in FIG. The combination with deviceID that is being read ahead is recorded.
- DataA is prefetched from device1 (for example, user interface execution device 2) and device2 (for example, user interface execution device 61).
- the response return unit 24 refers to the prefetch management data of the prefetch management unit 23 and, for example, when DataA is updated, determines that it is necessary to notify deviceA and deviceB of the updated data.
- Embodiments 1 to 4 are intended to reduce the communication delay when the user interface execution device acquires data from the data providing unit, and to estimate the capacity required for the data storage unit when designing the user interface.
- Embodiment 5 of the present invention aims to speed up the startup of a user interface execution device by providing a mechanism for backing up a data storage unit.
- FIG. 16 is a block diagram showing an example of the configuration of the user interface execution device 72 according to the fifth embodiment.
- the user interface execution device 72 includes a backup unit 74 and a nonvolatile storage unit 75.
- the backup unit 74 is connected to the start / stop input device 73.
- Other configurations and operations are the same as those of the first embodiment (FIG. 1), and thus description thereof is omitted here.
- the start / stop input device 73 inputs a signal (start signal, stop signal) for starting or stopping the user interface execution device 2 to the backup unit 74.
- the backup unit 74 restores the contents of the data storage unit 15 and the state of the user interface execution unit 14 using the data stored in the nonvolatile storage unit 75. . Further, when a stop signal is input from the start / stop input device 73, the backup unit 74 stores (backups) the contents of the data storage unit 15 and the state of the user interface execution unit 14 in the nonvolatile storage unit 75, and executes the user interface. The apparatus 2 is stopped.
- the non-volatile storage unit 75 is a storage device such as an SD card (registered trademark) or HDD that can hold data without power supply.
- the interface definition unit 7 of the user interface design device 1 sets a flag indicating the data type for the data acquisition interface of the interface definition 9. This makes it possible to define whether the data acquired based on the data acquisition interface is data that changes when the power is turned off (when the user interface execution device 2 is stopped).
- FIG. 17 is a diagram illustrating an example of setting a flag indicating the type of data for the data acquisition interface of the interface definition 9.
- FIG. 17 shows that the data specifying “fixed” is unchanged even after the power is turned off, and the data specifying “periodic” is changed even after the power is turned off.
- FIG. 18 is a diagram illustrating an example of a format of data managed by the data storage unit 16.
- the data storage unit 16 manages key-value-type combinations.
- the backup unit 74 can determine which data is stored in the nonvolatile storage unit 75 when the power is turned off by referring to the data shown in FIG. 18 managed by the data storage unit 16.
- the state at the end of the car navigation system is saved, and the application that was running at the end or the information displayed on the screen is restored at the next start-up
- the user interface execution device 72 according to the fifth embodiment, only data that can be used at the next start-up among the data at the end is stored.
- the data at the previous end can be restored and activated without accessing the data providing unit at the next activation, so that the activation of the user interface execution device 72 can be speeded up.
- transition design unit 6 interface definition unit 7, state transition generation unit 10, prefetch generation unit 11, data acquisition generation unit 12, prefetch management generation unit 13, user interface execution Unit 14, 35, 41, 42, 43, 64, data acquisition unit 15, 44, 65, event acquisition unit 17, 46, 51, 56, 67, state transition unit 18, 47, 52, 57, 68, data processing Part 19, 48, 53, 58, 69, data request part 20, 49, 54, 59, 70, presentation control part 21, 41, 55, 60, 71, request processing part 22, prefetch management part 23, response return part 24, the data generation processing unit 25, and the backup unit 74 are each implemented by the processor 26 of FIG. 2 operating according to a software program stored in the memory 27. .
- Each of the backup units 74 is configured as hardware (for example, an arithmetic / processing circuit configured to perform a specific calculation or process on an electric signal). Good. Further, both of the above may be mixed.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Information Transfer Between Computers (AREA)
- User Interface Of Digital Computer (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
<構成>
図1は、本発明の実施の形態1によるユーザインタフェース設計装置1、ユーザインタフェース実行装置2、およびデータ提供部3の構成の一例を示すブロック図である。なお、図1において、実線矢印は、各構成要素間におけるデータの流れを示しており、破線矢印は、状態遷移生成部10と、先読み生成部11と、データ取得生成部12と、および先読み管理生成部13の各々で生成されたコードの流れを示している。
図4は、ユーザインタフェース実行装置2の動作の一例を示すフローチャートである。図4では、入力装置4またはデータ取得部15からイベント取得部17に入力されるイベントに従って状態遷移部18で状態が遷移した場合における処理の流れを示している。なお、ステップS101~ステップS105において、遷移先の状態が状態S1である場合を一例として説明している。また、ステップS106~ステップS110において、遷移元の状態が状態S1である場合を一例として説明している。
上記で説明したユーザインタフェース実行装置2およびデータ提供部3をカーナビゲーションシステムに適用する場合について説明する。
実施の形態1では、ユーザインタフェース実行装置2とデータ提供部3とが別個に設けられる場合について説明したが、これに限るものではない。例えば、ユーザインタフェース実行装置2とデータ提供部3とを一体に設けるようにしてもよい。
実施の形態1,2では、ユーザインタフェース実行部14,35が単数である場合について説明したが、これに限るものではない。例えば、ユーザインタフェース実行部は複数存在してもよい。
実施の形態3では、1つのユーザインタフェース実行装置36内に複数のユーザインタフェース実行部41,42,43が存在する場合について説明したが、これに限るものではない。例えば、ユーザインフェース実行装置は複数存在してもよい。
実施の形態1~4では、ユーザインタフェース実行装置がデータ提供部からデータを取得するときの通信遅延を低減することと、ユーザインタフェースの設計時にデータ記憶部に必要な容量を見積もることを目的としている。本発明の実施の形態5では、データ記憶部をバックアップする仕組みを備えることによって、ユーザインタフェース実行装置の起動を高速化させることを目的とする。
Claims (9)
- ユーザインタフェースを設計するユーザインタフェース設計装置(1)によって生成されたコードに基づいて、ユーザの操作内容を実行するユーザインタフェース実行装置(2)であって、
前記コードと前記ユーザの操作内容とに基づいて、前記ユーザインタフェースの状態遷移を行う状態遷移部(18)と、
前記ユーザインタフェース設計装置(1)において、前記ユーザインタフェースの状態と静的に関連付けて定義された前記コードに含まれるデータ取得インタフェースに基づいて生成された、前記データの先読み要求および前記データの先読み破棄要求のうちの少なくとも一方を、データ提供部(3)に要求するデータ要求部(20)と、
前記データ要求部(20)の前記要求に対する応答として前記データ提供部(3)から取得した前記データを記憶するデータ記憶部(16)と、
を備える、ユーザインタフェース実行装置。 - 前記データ取得インタフェースは、前記ユーザインタフェース実行装置(2)において当該ユーザインタフェース実行装置(2)と前記データ提供部(3)との間のインタフェースとして定義されたインタフェース定義(9)に含まれ、
前記インタフェース定義(9)は、前記データ取得インタフェースに基づいて前記データ提供部(3)から取得される前記データの最大サイズの定義を含むことを特徴とする、請求項1に記載のユーザインタフェース実行装置。 - 前記データ提供部(3)から前記データを取得するデータ取得部(15)をさらに備え、
前記データ取得部(15)は、前記データ提供部(3)から更新後の前記データを取得した場合において、前記データ記憶部(16)に記憶されている前記データを、前記データ提供部(3)から取得した前記更新後のデータに更新することを特徴とする、請求項1に記載のユーザインタフェース実行装置。 - 前記ユーザインタフェース実行装置(2)は、前記データ提供部(3)を備え、
前記データ提供部(3)は、前記データ記憶部(16)に記憶されている前記データが先読みの対象となっているか否かを管理する先読み管理部(23)を備えることを特徴とする、請求項1に記載のユーザインタフェース実行装置。 - 前記ユーザインタフェース実行装置(72)の停止時に前記データ記憶部(16)に記憶されている前記データのバックアップを行うバックアップ部(74)と、
前記バックアップ部(74)による前記バックアップ時に前記データを記憶する不揮発記憶部(75)と、
を備え、
前記バックアップ部(74)は、前記ユーザインタフェース実行装置(72)の起動時に前記不揮発記憶部(75)に記憶されている前記データを読み出すことを特徴とする、請求項1に記載のユーザインタフェース実行装置。 - ユーザインタフェースを設計するユーザインタフェース設計装置(1)であって、
前記ユーザインタフェースの状態遷移を定義した状態遷移定義(8)を定義する状態遷移定義部(6)と、
前記ユーザインタフェースを実行するユーザインタフェース実行装置(2)と、当該ユーザインタフェース実行装置(2)にデータを提供するデータ提供部(3)との間のインタフェースを定義したインタフェース定義(9)を定義するインタフェース定義部(7)と、
前記状態遷移定義部(6)にて定義された前記状態遷移定義(8)と、前記インタフェース定義部(7)にて定義された前記インタフェース定義(9)とに基づいて、予め定められた前記インタフェースの状態において、前記データ提供部(3)に対して前記データの先読み要求および先読み破棄要求のうちの少なくとも一方を実行するコードを生成する先読み生成部(11)と、
を備える、ユーザインタフェース設計装置。 - 前記予め定められた前記インタフェースの状態は、予め定められた回数を遷移した後の前記インタフェースの状態を含むことを特徴とする、請求項6に記載のユーザインタフェース設計装置。
- 前記インタフェース定義(9)は、前記データ提供部(3)から前記インタフェース実行装置(2)に提供する前記データの最大サイズの定義を含み、
前記先読み生成部(11)は、当該先読み生成部(11)にて生成された前記コードと、前記インタフェース定義(9)に含まれる前記データの最大サイズの定義とに基づいて、前記状態遷移定義(8)で定義された各状態における、前記データ提供部(3)から提供された前記データを記憶するデータ記憶部(16)の最大サイズを算出することを特徴とする、請求項6に記載のユーザインタフェース設計装置。 - 前記インタフェース定義部(7)にて定義された前記インタフェース定義(9)に基づいて、前記データ提供部(3)から前記ユーザインタフェース実行装置(2)に提供される前記データが先読みの対象となっているか否かを前記データ提供部(3)で管理するための先読み管理コード(33)を生成する先読み管理生成部(13)をさらに備えることを特徴とする、請求項6に記載のユーザインタフェース設計装置。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016506917A JP5963991B1 (ja) | 2015-02-27 | 2015-02-27 | ユーザインタフェース実行装置およびユーザインタフェース設計装置 |
US15/541,158 US10691472B2 (en) | 2015-02-27 | 2015-02-27 | User interface execution apparatus and user interface designing apparatus |
PCT/JP2015/055912 WO2016135960A1 (ja) | 2015-02-27 | 2015-02-27 | ユーザインタフェース実行装置およびユーザインタフェース設計装置 |
DE112015006239.4T DE112015006239T5 (de) | 2015-02-27 | 2015-02-27 | Benutzeroberlächen-ausführungsvorrichtung und benutzeroberflächengestaltungsvorrichtung |
CN201580075827.1A CN107209729B (zh) | 2015-02-27 | 2015-02-27 | 用户接口执行装置以及用户接口设计装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2015/055912 WO2016135960A1 (ja) | 2015-02-27 | 2015-02-27 | ユーザインタフェース実行装置およびユーザインタフェース設計装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2016135960A1 true WO2016135960A1 (ja) | 2016-09-01 |
Family
ID=56558017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2015/055912 WO2016135960A1 (ja) | 2015-02-27 | 2015-02-27 | ユーザインタフェース実行装置およびユーザインタフェース設計装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10691472B2 (ja) |
JP (1) | JP5963991B1 (ja) |
CN (1) | CN107209729B (ja) |
DE (1) | DE112015006239T5 (ja) |
WO (1) | WO2016135960A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2019244279A1 (ja) * | 2018-06-20 | 2020-12-17 | 三菱電機株式会社 | ユーザインタフェース装置、ユーザインタフェース設計装置、ユーザインタフェース装置の制御方法、およびユーザインタフェース装置の画面設計方法 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11095743B2 (en) | 2014-07-16 | 2021-08-17 | Tensera Networks Ltd. | Optimized content-delivery network (CDN) for the wireless last mile |
JP2019115977A (ja) * | 2017-12-26 | 2019-07-18 | キヤノン株式会社 | 画像形成装置、その制御方法およびプログラム |
US11922187B2 (en) | 2018-03-05 | 2024-03-05 | Tensera Networks Ltd. | Robust application preloading with accurate user experience |
WO2019171237A1 (en) | 2018-03-05 | 2019-09-12 | Tensera Networks Ltd. | Application preloading in the presence of user actions |
EP4004767A4 (en) | 2019-07-30 | 2023-03-08 | Tensera Networks Ltd. | PRE-RENDERING APPLICATION USER INTERFACES INTO USER DEVICES |
CN116670646A (zh) * | 2020-12-03 | 2023-08-29 | 腾赛拉网络有限公司 | 预加载具有现有任务的应用 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002244848A (ja) * | 2001-02-14 | 2002-08-30 | Mitsubishi Electric Corp | ユーザインタフェース設計装置 |
JP2006343846A (ja) * | 2005-06-07 | 2006-12-21 | Canon Inc | データ先読み装置、データ先読み方法、データ処理装置、データ処理方法、コンピュータプログラム及び記憶媒体 |
JP2010231570A (ja) * | 2009-03-27 | 2010-10-14 | Nec Corp | ネットワークシステム及び通信トラフィックの軽減方法 |
JP2013218371A (ja) * | 2012-04-04 | 2013-10-24 | Seiko Epson Corp | 情報処理装置及び情報処理装置におけるデータ記憶処理方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6438656B1 (en) * | 1999-07-30 | 2002-08-20 | International Business Machines Corporation | Method and system for cancelling speculative cache prefetch requests |
US7664928B1 (en) * | 2005-01-19 | 2010-02-16 | Tensilica, Inc. | Method and apparatus for providing user-defined interfaces for a configurable processor |
US8261294B2 (en) * | 2007-11-07 | 2012-09-04 | International Business Machines Corporation | Encoding object states |
US8650364B2 (en) * | 2008-05-28 | 2014-02-11 | Vixs Systems, Inc. | Processing system with linked-list based prefetch buffer and methods for use therewith |
CN101640667B (zh) * | 2008-07-30 | 2012-11-21 | 国际商业机器公司 | 流程执行方法、流程执行系统及其配置设备和方法 |
JP5274380B2 (ja) | 2009-06-04 | 2013-08-28 | キヤノン株式会社 | 情報処理装置、データアクセスシステム及びそれらの制御方法 |
JP2011141867A (ja) | 2009-12-10 | 2011-07-21 | Sharp Corp | データ表示装置およびサーバ装置 |
KR101694977B1 (ko) * | 2010-12-17 | 2017-01-11 | 한국전자통신연구원 | 통합 메모리 서비스를 위한 소프트웨어 구조 및 이 소프트웨어 구조를 이용한 통합 메모리 서비스 제공 방법 |
CN102857483B (zh) * | 2011-06-30 | 2016-06-29 | 国际商业机器公司 | 预取数据的方法、设备和装置 |
CN103902260B (zh) * | 2012-12-25 | 2016-08-31 | 华中科技大学 | 一种对象文件系统的预取方法 |
-
2015
- 2015-02-27 WO PCT/JP2015/055912 patent/WO2016135960A1/ja active Application Filing
- 2015-02-27 DE DE112015006239.4T patent/DE112015006239T5/de active Pending
- 2015-02-27 JP JP2016506917A patent/JP5963991B1/ja not_active Expired - Fee Related
- 2015-02-27 US US15/541,158 patent/US10691472B2/en active Active
- 2015-02-27 CN CN201580075827.1A patent/CN107209729B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002244848A (ja) * | 2001-02-14 | 2002-08-30 | Mitsubishi Electric Corp | ユーザインタフェース設計装置 |
JP2006343846A (ja) * | 2005-06-07 | 2006-12-21 | Canon Inc | データ先読み装置、データ先読み方法、データ処理装置、データ処理方法、コンピュータプログラム及び記憶媒体 |
JP2010231570A (ja) * | 2009-03-27 | 2010-10-14 | Nec Corp | ネットワークシステム及び通信トラフィックの軽減方法 |
JP2013218371A (ja) * | 2012-04-04 | 2013-10-24 | Seiko Epson Corp | 情報処理装置及び情報処理装置におけるデータ記憶処理方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2019244279A1 (ja) * | 2018-06-20 | 2020-12-17 | 三菱電機株式会社 | ユーザインタフェース装置、ユーザインタフェース設計装置、ユーザインタフェース装置の制御方法、およびユーザインタフェース装置の画面設計方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107209729B (zh) | 2020-07-31 |
JP5963991B1 (ja) | 2016-08-03 |
CN107209729A (zh) | 2017-09-26 |
US10691472B2 (en) | 2020-06-23 |
JPWO2016135960A1 (ja) | 2017-04-27 |
DE112015006239T5 (de) | 2017-11-16 |
US20170371685A1 (en) | 2017-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5963991B1 (ja) | ユーザインタフェース実行装置およびユーザインタフェース設計装置 | |
US20220247833A1 (en) | Installable web applications | |
JP6397113B2 (ja) | リモーティングセッションを通じた非サポートファイル形式の開封 | |
US9635138B2 (en) | Client-server input method editor architecture | |
CN105049486B (zh) | 静态文件的版本管理方法、装置及系统 | |
US10242023B2 (en) | Programming model for synchronizing browser caches across devices and web services | |
KR20120009434A (ko) | 웹 브라우저를 통한 애플리케이션으로의 컨텐츠 입력 메소드 | |
US20110191431A1 (en) | Method and system for updating display screens | |
JP2012078893A (ja) | 計算機システム、及び管理計算機 | |
JP2007183747A (ja) | 物理サーバ間のシステム移動方法およびシステム移動システム | |
CN106257418B (zh) | 用于通过使用辅助应用来评价应用的技术 | |
JP6230405B2 (ja) | 車載端末、コンテンツ表示システム、コンテンツ表示方法、およびWebブラウザ | |
WO2018125650A1 (en) | Providing insertion feature with clipboard manager application | |
JP2008186147A5 (ja) | ||
US20160182673A1 (en) | Dynamic cache injector | |
JP6164344B2 (ja) | ユーザインタフェース実行装置およびユーザインタフェース設計装置 | |
JP5407386B2 (ja) | サーバ装置及びプログラム | |
CN111966877A (zh) | 前端服务方法、装置、设备及存储介质 | |
JP5262362B2 (ja) | サーバ装置、クライアント装置、及びプログラム | |
JP2008305021A (ja) | 情報処理装置及びアプリケーション管理方法 | |
JP2006228127A (ja) | アプリケーション配布システムにおける更新情報の通知方法 | |
JP5982436B2 (ja) | 画面転送サーバ装置、および画面転送方法 | |
US9465876B2 (en) | Managing content available for content prediction | |
JP2016218541A (ja) | 情報処理装置およびプログラム | |
JP2017162070A (ja) | 情報処理装置、情報処理装置の制御方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase |
Ref document number: 2016506917 Country of ref document: JP Kind code of ref document: A |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 15883254 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 15541158 Country of ref document: US |
|
WWE | Wipo information: entry into national phase |
Ref document number: 112015006239 Country of ref document: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 15883254 Country of ref document: EP Kind code of ref document: A1 |