WO2009032066A2 - System and method for data management of embedded systems - Google Patents

System and method for data management of embedded systems Download PDF

Info

Publication number
WO2009032066A2
WO2009032066A2 PCT/US2008/009854 US2008009854W WO2009032066A2 WO 2009032066 A2 WO2009032066 A2 WO 2009032066A2 US 2008009854 W US2008009854 W US 2008009854W WO 2009032066 A2 WO2009032066 A2 WO 2009032066A2
Authority
WO
WIPO (PCT)
Prior art keywords
message
embedded
message data
product
data
Prior art date
Application number
PCT/US2008/009854
Other languages
French (fr)
Other versions
WO2009032066A3 (en
Inventor
Sanjay Patel
Phanidranath Vedula
Ashok Sivaram
William Hinton
Tanweer Khan
Sunayana Bhan
Original Assignee
Siemens Product Lifecycle Management Software Inc.
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 Siemens Product Lifecycle Management Software Inc. filed Critical Siemens Product Lifecycle Management Software Inc.
Priority to KR1020107004430A priority Critical patent/KR101105108B1/en
Priority to JP2010522908A priority patent/JP5193304B2/en
Priority to EP08829597A priority patent/EP2183711A2/en
Publication of WO2009032066A2 publication Critical patent/WO2009032066A2/en
Publication of WO2009032066A3 publication Critical patent/WO2009032066A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9558Details of hyperlinks; Management of linked annotations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/465Distributed object oriented systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data
    • G16H10/60ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records

Definitions

  • the presently preferred embodiment of the innovations described herein relate generally to software applications. More specifically, the presently preferred embodiment relates to managing data among embedded components in a product lifecycle management system.
  • Embedded software runs on systems that interact with the physical world in real time. These systems, often referred to as embedded systems, are designed to perform specific tasks with optimal efficiency and possess certain unique characteristics.
  • a characteristic is that embedded systems should have long life because they often reside in machines that are expected to run continuously for years without errors.
  • Another characteristic is that errors in embedded systems are costly. For instance, if a temperature sensor system fails in motors or transformers, they get over heated and fail. Hence, most of the embedded systems are programmed and tested to satisfy zero error tolerance.
  • embedded systems should be extremely reliable during operation. Some of the reliability features of embedded systems are: a) safety b) ease of repair, c) ease of shutting down and automatic turn on.
  • Embedded systems should not affect other controllers when they fail. Still another characteristic is that embedded systems need to react instantaneously for any input. The embedded system can be outside the reach of humans (down an oil well borehole, or launched into outer space, etc.), so the embedded system must restart itself even if catastrophic data corruption takes place. And still another characteristic of embedded systems, is that they interact with several systems simultaneously and should be designed to concurrently react with many systems in real time with out any problems. Yet another characteristic is they constitute many interdependent components such as hardware, software, firmware and complex networks to exchange messages. This interdependency allows embedded systems to communicate with other systems. For example in a vehicle, a cruise control system communicates to power train to maintain the set speed.
  • embedded systems are used to control and/or monitor the operation of machinery and can be found in a variety of product structures executing a variety of applications.
  • embedded systems experienced exponential growth due to the ever increasing customer demands with changing product structure requirements.
  • An important development in embedded systems is networking. Advances in wireless technology coupled with low cost and compact size integrated chips helped rapid growth of embedded network systems involving volumes of messages.
  • the networks enable the embedded systems to communicate with each other and also with the physical world.
  • a typical product structure that has an embedded system contains one or more buses that continuously transmit volumes of messages and signals across various components. It is very burdensome to the multitude of developers and designers working on an product structure to track and maintain the embedded system components that go into the product structure while staying with model and other changes that occur throughout the life cycle of a product. Likewise it is difficult to manage the effect a design change has on a network bus or message as they relate to the product structure.
  • the present application provides a method for managing embedded component information for a product design in a PLM environment, comprising displaying at least one message object; and associating said at least one message object with a signal object. The method, further comprising auditing said at least one message object. The method, whereby said association satisfies a compatibility rules of signal objects.
  • Another advantage of the presently preferred embodiment is to provide a method for managing embedded component information fora product design in a PLM environment, comprising identifying a plurality of message data; associating a transmitting component and a receiving component with at least one of said plurality of message data; and indicating a connection item for at least one of said plurality of message data, wherein said connection item is a carrier of said plurality of said message data.
  • the method further comprising auditing said plurality of message data.
  • Another advantage of the presently preferred embodiment is to provide a method of providing an embedded system manager for a product design, comprising categorizing a plurality of message data; and generating a compatibility list of a plurality of network devices for said plurality of message data. The method, further comprising auditing said plurality of message data.
  • Still another advantage of the presently preferred embodiment is to provide a computer-program product tangibly embodied in a machine readable medium to perform a method for managing embedded component information for a product design in a PLM environment, comprising instructions operable to cause a computer to display at least one message object; and associate said at least one message object with a signal object.
  • Yet another advantage of the presently preferred embodiment is to provide a system comprising a windowed environment; and a logical bill of materials application using said windowed environment that includes a hierarchical catalog of a plurality of embedded components having at least one message object; and a system catalog that associates said at least one message object with at least one of a plurality of transmitting components, a plurality of receiving components and a plurality of signal transmitters.
  • Yet another advantage of the presently preferred embodiment is to provide a data processing system having at least a processor and accessible memory to implement a method for managing objects within an application, comprising means for displaying at least one message object; and means for associating said at least one message object with a signal object.
  • a data processing system having at least a processor and accessible memory to implement a method for managing objects within an application, comprising means for displaying at least one message object; and means for associating said at least one message object with a signal object.
  • Figure 1 is an illustration of an instrument panel on a dash of a car
  • Figure 2 is an illustration of an embedded system in a car
  • Figure 3 shows an example workflow for an original equipment manufacturer for managing embedded systems data and message data
  • Figure 4a - 4c are illustrations of a bill of material for a product;
  • Figure 5 is a flow diagram depicting a process implementing a message data management system for embedded components;
  • Figure 6 is a flow diagram depicting a process implementing a message data management system for embedded components;
  • Figure 7 is a flow diagram depicting a process implementing a message data management system for embedded components; and [Para 20]
  • Figure 8 is a block diagram of a computer environment in which the presently preferred embodiment may be practiced. Detailed Description of the Preferred Embodiments
  • an operating system executes on a computer, such as a general- purpose personal computer.
  • a computer such as a general- purpose personal computer.
  • an exemplary system for implementing the presently preferred embodiment includes a general-purpose computing device in the form of a computer 800, such as a desktop or laptop computer, including a plurality of related peripheral devices (not depicted).
  • the computer 800 includes a microprocessor 805 and a bus 810 employed to connect and enable communication between the microprocessor 805 and a plurality of components of the computer 800 in accordance with known techniques.
  • the bus 810 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures.
  • the computer 800 typically includes a user interface adapter 815, which connects the microprocessor 805 via the bus 810 to one or more interface devices, such as a keyboard 820, mouse 825, and/or other interface devices 830, which can be any user interface device, such as a touch sensitive screen, digitized pen entry pad, etc.
  • the bus 810 also connects a display device 835, such as an LCD screen or monitor, to the microprocessor 805 via a display adapter 840.
  • the bus 810 also connects the microprocessor 805 to a memory 845, which can include ROM, RAM, etc.
  • the computer 800 further includes a drive interface 850 that couples at least one storage device 855 and/or at least one optical drive 860 to the bus.
  • the storage device 855 can include a hard disk drive, not shown, for reading and writing to a disk, a magnetic disk drive, not shown, for reading from or writing to a removable magnetic disk drive.
  • the optical drive 860 can include an optical disk drive, not shown, for reading from or writing to a removable optical disk such as a CD ROM or other optical media.
  • the aforementioned drives and associated computer-readable media provide nonvolatile storage of computer readable instructions, data structures, program modules, and other data for the computer 800.
  • the computer 800 can communicate via a communications channel 865 with other computers or networks of computers.
  • the computer 800 may be associated with such other computers in a local area network (LAN) or a wide area network (WAN), or it can be a client in a client/server arrangement with another computer, etc.
  • LAN local area network
  • WAN wide area network
  • the presently preferred embodiment may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network.
  • program modules may be located in both local and remote memory storage devices. All of these configurations, as well as the appropriate communications hardware and software, are known in the art.
  • Software programming code that embodies the presently preferred embodiment is typically stored in the memory 845 of the computer 800.
  • such software programming code may be stored with memory associated with a server.
  • the software programming code may also be embodied on any of a variety of non-volatile data storage device, such as a hard- drive, a diskette or a CD-ROM.
  • the code may be distributed on such media, or may be distributed to users from the memory of one computer system over a network of some type to other computer systems for use by users of such other systems.
  • the techniques and methods for embodying software program code on physical media and/or distributing software code via networks are well known and will not be further discussed herein.
  • Figure 1 is an illustration of an instrument panel on a dash of a car.
  • an automobile has a dash 100 with various display components.
  • the display components can include a fuel gauge 105, a speedometer 110, a tachometer 115, and a thermometer 120.
  • the dash 100 is able to display messages to a driver to inform the driver of various conditions of the vehicle.
  • a sample is the word CRUISE shown on a Cruise Message Display 125, if the cruise control is engaged, so that the driver has information useful for driving the car.
  • FIG. 2 is an illustration of an embedded system in a car. Unbeknownst to the driver is the inter-relationship of the various components comprising the car necessary to display CRUISE, particularly referring to the engine controller units (ECUs) and the network. A further abstraction of this concept is the impact various ECUs have on the network for any given message, and the various relationships of those components.
  • the car is able to have a network of messages that travel along a bus 200.
  • the bus 200 connects various ECUs such as a CruiseSystemECU 205, a PowerTrainECU 210, and an AutomaticTransmissionECU 215 that all communicate to each other through a gateway 220, for example.
  • the driver commonly depresses a Cruise Control Button (not depicted) with the purpose of engaging the car's cruise control feature.
  • the pressing of the Cruise Control Button to the ON position sends a CruiseDetailsMessage 225 that is part of the CruiseSystemECU 205 along the bus 200 though the gateway 220 to the PowertrainECU 210 and the AutomaticTransmissionECU 215, for example.
  • the original equipment manufacturer builds an overall car design using a product lifecycle management (PLM) platform (Step 300).
  • the OEM configures all embedded systems and network systems according to detailed specifications (Step 305).
  • the OEM then typically outsources the design and manufacture of the embedded systems to suppliers (Step 310).
  • the suppliers design the necessary systems and provide the full embedded systems data back to OEMs (Step 310).
  • the data transfer between OEMs and suppliers continues until an embedded system design is finalized.
  • the OEM can configure embedded components (Step 315), manage relations among embedded components (Step 320), configure messages/signals/bus-systems (Step 325), manage relations among embedded components and messages (Step 330), and manage embedded system simulation data (Step 335).
  • relations and message information before outsourcing can be refined further by the supplier or OEM during design, Step 310.
  • the presently preferred embodiment can also be used by the designer to select embedded components without any knowledge of the messages requirements based solely on a compatibility list that is used to align embedded devices with congruent messages, and vice versa. Operation
  • FIGs 4a & 4b are an illustration of a bill of material for a product.
  • a sample product structure representation with a bill of material (BOM) 400 has several embedded systems representations for a Vehicle Assembly representation 405 as determined from Step 305, above
  • the OEM/supplier may identify on the BOM 400 a Controller Area Network (CAN) bus line-item 410 having a connection type for messages in the embedded system for the Vehicle Assembly representation 405 as determined in Step 325.
  • CAN Controller Area Network
  • the OEM/supplier may identify on the BOM 400 a CruiseDetailsMessage line-item 420 that is a sufficient message in the embedded system for the Vehicle Assembly representation 405.
  • An AccelDecelMessage line-item may also be specified as a necessary message to have information for the embedded system on the Vehicle Assembly representation 405 related to the acceleration and deceleration of the vehicle, for example.
  • the OEM/supplier may identify further sufficient components as line- items in the Vehicle Assembly representation 405. For example, a PowertrainECU line-item 425, an AutomaticTransmissionECU line-item 430, or a CruiseSystemECU line-item 435.
  • the CruiseSystemECU line-item 435 has a ECUHardware line-item, an Accel DecelSoftwa re line-item, a Calibration line-item, and a Bootloader line- item, where the ECUHardware has a CruiseCalculationProcessor, for example.
  • the Vehicle Assembly representation 405 has the CruiseDetailsMessage line-item 420 that has to be associated to various Item Types within the BOM 400 at an associated system location 440.
  • the design intent is to have the CruiseDetailsMessage 225 transmit along the CAN_Bus 200 from the CruiseSystemECU 205 to either the AutomaticTrasnmissionECU 215 or the PowertrainECU 210, or both.
  • the CruiseSystemECU line-item 435 as a source, or receiving component, for the CruiseDetailsMessage line-item 420, the CAN_Bus line-item 410 as a bus, and both the AutomaticTransmissionECU line-item 430 and the PowertrainECU line- item 425 as a target, or transmitting components.
  • the presently preferred embodiment of the above illustration is according to the following equation:
  • FIG. 4c is a transition diagram that illustrates where the message m starts with at least one source, proceeds along at least one bus, to at least one target.
  • FIG. 4d is an illustration of a bill of material for a product in an alternate embodiment.
  • the OEM/supplier may manage any number of relationships, like processor-software, software-software, and/or processor-processor, between and among the various embedded component line-items.
  • a "Used By” column 445 denotes the software- software relationship as well as the processor-processor relationship.
  • a "Embeds” column 450 denotes the processor-software relationship.
  • a Calibration software line-item 455 is identified as a sub-component to the PowertrainECU line-item 425.
  • the Calibration software line-item 455 can have the software-software relationship as indicated at 460.
  • the Calibration software line-item 455 can also have the processor-software relationship as indicated at 465.
  • a DriveCalculationProcessor line-item 470 can have a processor-software relationship by embedding the Calibration software line-item 455, as indicated at 475. If during Step 335, a faulty processor is identified, for example, a 001136/A-DriveCalculationProcessor having the BOM 400 line-item at 470, then the dependent relationships for example, the Calibration software line-item 475, triggers and identifies the affected embedded components for modification and/or correction.
  • Figure 5 is a flow diagram depicting a process implementing a message data management system for embedded components.
  • a method for managing embedded component information for a product design in a PLM environment starts with displaying at least one data message object (Step 505).
  • FIG. 6 is a flow diagram depicting a process implementing a message data management system for embedded components.
  • a method for managing embedded component information for a product design in a PLM environment starts with identifying a plurality of message data (Step 605).
  • associate a source item and a target item with at least one of the plurality of message data (Step 610).
  • Step 615 indicate a connection item for the at least one of the plurality of message data.
  • FIG. 7 is a flow diagram depicting a process implementing a message data management system for embedded components.
  • a method of providing an embedded system manager for a product design starts with categorizing a plurality of message data (Step 705). And then the method generates a compatibility list of a plurality of network devise for the plurality of message data (Step 710).
  • the presently preferred embodiment may be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations thereof.
  • An apparatus of the presently preferred embodiment may be implemented in a computer program product tangibly embodied in a machine-readable storage device for execution by a programmable processor; and method steps of the presently preferred embodiment may be performed by a programmable processor executing a program of instructions to perform functions of the presently preferred embodiment by operating on input data and generating output.
  • the presently preferred embodiment may advantageously be implemented in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device.
  • the application program may be implemented in a high-level procedural or object-oriented programming language, or in assembly or machine language if desired; and in any case, the language may be a compiled or interpreted language.
  • a processor will receive instructions and data from a read-only memory and/or a random access memory.
  • Storage devices suitable for tangibly embodying computer program instructions and data include all forms of nonvolatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD- ROM disks. Any of the foregoing may be supplemented by, or incorporated in, specially-designed ASICs (application-specific integrated circuits).
  • a number of embodiments have been described. It will be understood that various modifications may be made without departing from the spirit and scope of the presently preferred embodiment. Therefore, other implementations are within the scope of the following claims.

Abstract

A system, method, and computer program for managing embedded component information for a product design in a PLM environment, comprising displaying at least one message object; and associating said at least one message object with a signal object, and appropriate means and computer-readable instructions.

Description

SYSTEM AND METHOD FOR DATA MANAGEMENT OF EMBEDDED SYSTEMS
Technical Field [Para 1 ] The presently preferred embodiment of the innovations described herein relate generally to software applications. More specifically, the presently preferred embodiment relates to managing data among embedded components in a product lifecycle management system.
Background
[Para 2] Embedded software runs on systems that interact with the physical world in real time. These systems, often referred to as embedded systems, are designed to perform specific tasks with optimal efficiency and possess certain unique characteristics. A characteristic is that embedded systems should have long life because they often reside in machines that are expected to run continuously for years without errors. Another characteristic is that errors in embedded systems are costly. For instance, if a temperature sensor system fails in motors or transformers, they get over heated and fail. Hence, most of the embedded systems are programmed and tested to satisfy zero error tolerance. And another characteristic is that embedded systems should be extremely reliable during operation. Some of the reliability features of embedded systems are: a) safety b) ease of repair, c) ease of shutting down and automatic turn on. Embedded systems should not affect other controllers when they fail. Still another characteristic is that embedded systems need to react instantaneously for any input. The embedded system can be outside the reach of humans (down an oil well borehole, or launched into outer space, etc.), so the embedded system must restart itself even if catastrophic data corruption takes place. And still another characteristic of embedded systems, is that they interact with several systems simultaneously and should be designed to concurrently react with many systems in real time with out any problems. Yet another characteristic is they constitute many interdependent components such as hardware, software, firmware and complex networks to exchange messages. This interdependency allows embedded systems to communicate with other systems. For example in a vehicle, a cruise control system communicates to power train to maintain the set speed. [Para 3] Further, embedded systems are used to control and/or monitor the operation of machinery and can be found in a variety of product structures executing a variety of applications. In recent years, embedded systems experienced exponential growth due to the ever increasing customer demands with changing product structure requirements. An important development in embedded systems is networking. Advances in wireless technology coupled with low cost and compact size integrated chips helped rapid growth of embedded network systems involving volumes of messages. The networks enable the embedded systems to communicate with each other and also with the physical world. A typical product structure that has an embedded system contains one or more buses that continuously transmit volumes of messages and signals across various components. It is very burdensome to the multitude of developers and designers working on an product structure to track and maintain the embedded system components that go into the product structure while staying with model and other changes that occur throughout the life cycle of a product. Likewise it is difficult to manage the effect a design change has on a network bus or message as they relate to the product structure.
[Para 4] What is needed is a system and method for message data management of embedded systems as part of the over all embedded systems model.
Summary
[Para 5] To achieve the foregoing, and in accordance with the purpose of the presently preferred embodiment as broadly described herein, the present application provides a method for managing embedded component information for a product design in a PLM environment, comprising displaying at least one message object; and associating said at least one message object with a signal object. The method, further comprising auditing said at least one message object. The method, whereby said association satisfies a compatibility rules of signal objects.
[Para 6] Another advantage of the presently preferred embodiment is to provide a method for managing embedded component information fora product design in a PLM environment, comprising identifying a plurality of message data; associating a transmitting component and a receiving component with at least one of said plurality of message data; and indicating a connection item for at least one of said plurality of message data, wherein said connection item is a carrier of said plurality of said message data. The method, further comprising auditing said plurality of message data. [Para 7] And another advantage of the presently preferred embodiment is to provide a method of providing an embedded system manager for a product design, comprising categorizing a plurality of message data; and generating a compatibility list of a plurality of network devices for said plurality of message data. The method, further comprising auditing said plurality of message data. [Para 8] Still another advantage of the presently preferred embodiment is to provide a computer-program product tangibly embodied in a machine readable medium to perform a method for managing embedded component information for a product design in a PLM environment, comprising instructions operable to cause a computer to display at least one message object; and associate said at least one message object with a signal object. The computer-program product, whereby said association satisfies a compatibility signal object list. [Para 9] Yet another advantage of the presently preferred embodiment is to provide a system comprising a windowed environment; and a logical bill of materials application using said windowed environment that includes a hierarchical catalog of a plurality of embedded components having at least one message object; and a system catalog that associates said at least one message object with at least one of a plurality of transmitting components, a plurality of receiving components and a plurality of signal transmitters. [Para 10] And yet another advantage of the presently preferred embodiment is to provide a data processing system having at least a processor and accessible memory to implement a method for managing objects within an application, comprising means for displaying at least one message object; and means for associating said at least one message object with a signal object. [Para 1 1 ] Other advantages of the presently preferred embodiment will be set forth in part in the description and in the drawings that follow, and, in part will be learned by practice of the presently preferred embodiment. The presently preferred embodiment will now be described with reference made to the following Figures that form a part hereof. It is understood that other embodiments may be utilized and changes may be made without departing from the scope of the presently preferred embodiment.
Brief Description of the Drawings
[Para 1 2] A presently preferred embodiment will hereinafter be described in conjunction with the appended drawings, wherein like designations denote like elements, and:
[Para 1 3] Figure 1 is an illustration of an instrument panel on a dash of a car;
[Para 14] Figure 2 is an illustration of an embedded system in a car;
[Para 1 5] Figure 3 shows an example workflow for an original equipment manufacturer for managing embedded systems data and message data
[Para 16] Figure 4a - 4c are illustrations of a bill of material for a product; [Para 1 7] Figure 5 is a flow diagram depicting a process implementing a message data management system for embedded components; [Para 1 8] Figure 6 is a flow diagram depicting a process implementing a message data management system for embedded components;
[Para 1 9] Figure 7 is a flow diagram depicting a process implementing a message data management system for embedded components; and [Para 20] Figure 8 is a block diagram of a computer environment in which the presently preferred embodiment may be practiced. Detailed Description of the Preferred Embodiments
[Para 21 ] The numerous innovative teachings of the present application will be described with particular reference to the presently preferred embodiments. It should be understood, however, that this class of embodiments provides only a few examples of the many advantageous uses of the innovative teachings herein. The presently preferred embodiment provides, among other things, a system and method for managing data in an embedded product life cycle system. Figure 8 and the following discussion are intended to provide a brief, general description of a suitable computing environment in which the presently preferred embodiment may be implemented. Although not required, the presently preferred embodiment will be described in the general context of computer-executable instructions, such as program modules, being executed by a personal computer. Generally program modules include routines, programs, objects, components, data structures, etc., that perform particular tasks or implementation particular abstract data types. The presently preferred embodiment may be performed in any of a variety of known computing environments. [Para 22] Now therefore, in accordance with the presently preferred embodiment, an operating system executes on a computer, such as a general- purpose personal computer. Referring to Figure 8, an exemplary system for implementing the presently preferred embodiment includes a general-purpose computing device in the form of a computer 800, such as a desktop or laptop computer, including a plurality of related peripheral devices (not depicted). The computer 800 includes a microprocessor 805 and a bus 810 employed to connect and enable communication between the microprocessor 805 and a plurality of components of the computer 800 in accordance with known techniques. The bus 810 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. The computer 800 typically includes a user interface adapter 815, which connects the microprocessor 805 via the bus 810 to one or more interface devices, such as a keyboard 820, mouse 825, and/or other interface devices 830, which can be any user interface device, such as a touch sensitive screen, digitized pen entry pad, etc. The bus 810 also connects a display device 835, such as an LCD screen or monitor, to the microprocessor 805 via a display adapter 840. The bus 810 also connects the microprocessor 805 to a memory 845, which can include ROM, RAM, etc. [Para 23] The computer 800 further includes a drive interface 850 that couples at least one storage device 855 and/or at least one optical drive 860 to the bus. The storage device 855 can include a hard disk drive, not shown, for reading and writing to a disk, a magnetic disk drive, not shown, for reading from or writing to a removable magnetic disk drive. Likewise the optical drive 860 can include an optical disk drive, not shown, for reading from or writing to a removable optical disk such as a CD ROM or other optical media. The aforementioned drives and associated computer-readable media provide nonvolatile storage of computer readable instructions, data structures, program modules, and other data for the computer 800. [Para 24] The computer 800 can communicate via a communications channel 865 with other computers or networks of computers. The computer 800 may be associated with such other computers in a local area network (LAN) or a wide area network (WAN), or it can be a client in a client/server arrangement with another computer, etc. Furthermore, the presently preferred embodiment may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices. All of these configurations, as well as the appropriate communications hardware and software, are known in the art.
[Para 25] Software programming code that embodies the presently preferred embodiment is typically stored in the memory 845 of the computer 800. In the client/server arrangement, such software programming code may be stored with memory associated with a server. The software programming code may also be embodied on any of a variety of non-volatile data storage device, such as a hard- drive, a diskette or a CD-ROM. The code may be distributed on such media, or may be distributed to users from the memory of one computer system over a network of some type to other computer systems for use by users of such other systems. The techniques and methods for embodying software program code on physical media and/or distributing software code via networks are well known and will not be further discussed herein. [Para 26] System
[Para 27] Figure 1 is an illustration of an instrument panel on a dash of a car. Referring to Figure 1, an automobile has a dash 100 with various display components. The display components can include a fuel gauge 105, a speedometer 110, a tachometer 115, and a thermometer 120. Also the dash 100 is able to display messages to a driver to inform the driver of various conditions of the vehicle. A sample is the word CRUISE shown on a Cruise Message Display 125, if the cruise control is engaged, so that the driver has information useful for driving the car.
[Para 28] Figure 2 is an illustration of an embedded system in a car. Unbeknownst to the driver is the inter-relationship of the various components comprising the car necessary to display CRUISE, particularly referring to the engine controller units (ECUs) and the network. A further abstraction of this concept is the impact various ECUs have on the network for any given message, and the various relationships of those components. Referring to Figure 2, the car is able to have a network of messages that travel along a bus 200. The bus 200 connects various ECUs such as a CruiseSystemECU 205, a PowerTrainECU 210, and an AutomaticTransmissionECU 215 that all communicate to each other through a gateway 220, for example. Returning to the Cruise Message Display 125 example, the driver commonly depresses a Cruise Control Button (not depicted) with the purpose of engaging the car's cruise control feature. The pressing of the Cruise Control Button to the ON position sends a CruiseDetailsMessage 225 that is part of the CruiseSystemECU 205 along the bus 200 though the gateway 220 to the PowertrainECU 210 and the AutomaticTransmissionECU 215, for example. As a further abstraction of this example, ensuring the CruiseDetailsMessage 225 communicates correctly with the CruiseSystemECU 205, that in turn communicates properly with the gateway 220 along the bus 200 to the other ECUs 210,215, in the particular driver's car is part of a highly specialized product structure that may change the message for any variety of reasons, such as Manual versus Automatic transmission, or all- wheel drive versus front-wheel drive powertrain. In the current automotive manufacturing environment is, the multitude of parts comprising a car are designed and developed by various entities, e.g., first-tier suppliers, and the various entities spend time to deliver the embedded system to match the requirements of the car. Product Design [Para 29] Figure 3 shows an example workflow for an original equipment manufacturer for managing embedded systems data and message data. Referring to Figure 3, the original equipment manufacturer (OEM) builds an overall car design using a product lifecycle management (PLM) platform (Step 300). The OEM configures all embedded systems and network systems according to detailed specifications (Step 305). The OEM then typically outsources the design and manufacture of the embedded systems to suppliers (Step 310). The suppliers design the necessary systems and provide the full embedded systems data back to OEMs (Step 310). The data transfer between OEMs and suppliers continues until an embedded system design is finalized. Once the design is finalized, the OEM can configure embedded components (Step 315), manage relations among embedded components (Step 320), configure messages/signals/bus-systems (Step 325), manage relations among embedded components and messages (Step 330), and manage embedded system simulation data (Step 335). Of course, it is understood that relations and message information before outsourcing can be refined further by the supplier or OEM during design, Step 310. The presently preferred embodiment can also be used by the designer to select embedded components without any knowledge of the messages requirements based solely on a compatibility list that is used to align embedded devices with congruent messages, and vice versa. Operation
[Para 30] Figures 4a & 4b are an illustration of a bill of material for a product. Referring to Figure 4a, a sample product structure representation with a bill of material (BOM) 400 has several embedded systems representations for a Vehicle Assembly representation 405 as determined from Step 305, above For example, the OEM/supplier may identify on the BOM 400 a Controller Area Network (CAN) bus line-item 410 having a connection type for messages in the embedded system for the Vehicle Assembly representation 405 as determined in Step 325. Such an identification occurs by selecting "Connection" on a drop- down menu list under an Item Type column 415 heading. Next, the OEM/supplier may identify on the BOM 400 a CruiseDetailsMessage line-item 420 that is a sufficient message in the embedded system for the Vehicle Assembly representation 405. An AccelDecelMessage line-item may also be specified as a necessary message to have information for the embedded system on the Vehicle Assembly representation 405 related to the acceleration and deceleration of the vehicle, for example. Having the message flow illustrated in Figure 2, the OEM/supplier may identify further sufficient components as line- items in the Vehicle Assembly representation 405. For example, a PowertrainECU line-item 425, an AutomaticTransmissionECU line-item 430, or a CruiseSystemECU line-item 435. These sufficient components are identified as "Items" in the Item Type column 415 that have sub-components of Item Types like processor, AppSoftware, Calibration, PriBootloader, for example. With the use of various sub-components, the OEM/supplier and other users are able to select, by commonly understood selection methods, which of those subcomponents comprise the Item or an Item of Items. Referring to Figure 4a in greater detail, the CruiseSystemECU line-item 435 has a ECUHardware line-item, an Accel DecelSoftwa re line-item, a Calibration line-item, and a Bootloader line- item, where the ECUHardware has a CruiseCalculationProcessor, for example. [Para 31 ] The presently preferred embodiment also provides the OEM/supplier, for example, the ability to manage messages in greater detail. Referring to Figure 4b to illustrate this message management, the Vehicle Assembly representation 405 has the CruiseDetailsMessage line-item 420 that has to be associated to various Item Types within the BOM 400 at an associated system location 440. The design intent is to have the CruiseDetailsMessage 225 transmit along the CAN_Bus 200 from the CruiseSystemECU 205 to either the AutomaticTrasnmissionECU 215 or the PowertrainECU 210, or both. Keeping with the design intent at the associated system location is illustrated the CruiseSystemECU line-item 435 as a source, or receiving component, for the CruiseDetailsMessage line-item 420, the CAN_Bus line-item 410 as a bus, and both the AutomaticTransmissionECU line-item 430 and the PowertrainECU line- item 425 as a target, or transmitting components. The presently preferred embodiment of the above illustration is according to the following equation:
Vm,3{b,t,s}:3 b ≥ l,t ≥ l, s ≥ l Eq. 1 where m is message, b is bus, t is target and 5 is source. Put another way, for all messages, there exists a bus, a target, and a source, such that there is at least one bus, at least one target, and at least one source. Figure 4c is a transition diagram that illustrates where the message m starts with at least one source, proceeds along at least one bus, to at least one target.
[Para 32] Figure 4d is an illustration of a bill of material for a product in an alternate embodiment. Following Step 330, the OEM/supplier may manage any number of relationships, like processor-software, software-software, and/or processor-processor, between and among the various embedded component line-items. Referring to Figure 5, a "Used By" column 445 denotes the software- software relationship as well as the processor-processor relationship. A "Embeds" column 450 denotes the processor-software relationship. Returning to the original example, a Calibration software line-item 455 is identified as a sub-component to the PowertrainECU line-item 425. The Calibration software line-item 455 can have the software-software relationship as indicated at 460. The Calibration software line-item 455 can also have the processor-software relationship as indicated at 465. Likewise, a DriveCalculationProcessor line-item 470 can have a processor-software relationship by embedding the Calibration software line-item 455, as indicated at 475. If during Step 335, a faulty processor is identified, for example, a 001136/A-DriveCalculationProcessor having the BOM 400 line-item at 470, then the dependent relationships for example, the Calibration software line-item 475, triggers and identifies the affected embedded components for modification and/or correction. Summary [Para 33] Figure 5 is a flow diagram depicting a process implementing a message data management system for embedded components. Referring to Figure 5, a method for managing embedded component information for a product design in a PLM environment, generally illustrated at 500, starts with displaying at least one data message object (Step 505). Next, associate the at least one data message object with a signal component (Step 510). This association satisfies a compatibility component list.
[Para 34] Figure 6 is a flow diagram depicting a process implementing a message data management system for embedded components. Referring to Figure 6, a method for managing embedded component information for a product design in a PLM environment, generally illustrated at 600, starts with identifying a plurality of message data (Step 605). Next, associate a source item and a target item with at least one of the plurality of message data (Step 610). Then indicate a connection item for the at least one of the plurality of message data (Step 615).
[Para 35] Figure 7 is a flow diagram depicting a process implementing a message data management system for embedded components. Referring to Figure 7, a method of providing an embedded system manager for a product design, generally illustrated at 700, starts with categorizing a plurality of message data (Step 705). And then the method generates a compatibility list of a plurality of network devise for the plurality of message data (Step 710). Conclusion
[Para 36] The presently preferred embodiment may be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations thereof. An apparatus of the presently preferred embodiment may be implemented in a computer program product tangibly embodied in a machine-readable storage device for execution by a programmable processor; and method steps of the presently preferred embodiment may be performed by a programmable processor executing a program of instructions to perform functions of the presently preferred embodiment by operating on input data and generating output.
[Para 37] The presently preferred embodiment may advantageously be implemented in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. The application program may be implemented in a high-level procedural or object-oriented programming language, or in assembly or machine language if desired; and in any case, the language may be a compiled or interpreted language.
[Para 38] Generally, a processor will receive instructions and data from a read-only memory and/or a random access memory. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of nonvolatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD- ROM disks. Any of the foregoing may be supplemented by, or incorporated in, specially-designed ASICs (application-specific integrated circuits). [Para 39] A number of embodiments have been described. It will be understood that various modifications may be made without departing from the spirit and scope of the presently preferred embodiment. Therefore, other implementations are within the scope of the following claims.

Claims

What is claimed is:
[Claim 1 ] A method for managing embedded component information for a product design in a PLM environment, comprising: displaying at least one message object; and associating said at least one message object with a signal object.
[Claim 2] The method of Claim 1, further comprising auditing said at least one message object.
[Claim 3] The method of Claim 1, whereby said association satisfies a compatibility rules of signal objects.
[Claim 4] A method for managing embedded component information for a product design in a PLM environment, comprising: identifying a plurality of message data; associating a transmitting component and a receiving component with at least one of said plurality of message data; and indicating a connection item for at least one of said plurality of message data, wherein said connection item is a carrier of said plurality of said message data.
[Claim 5] The method of Claim 4, further comprising auditing said plurality of message data.
[Claim 6] A method of providing an embedded system manager for a product design, comprising: categorizing a plurality of message data; and generating a compatibility list of a plurality of network devices for said plurality of message data.
[Claim 7] The method of Claim 6, further comprising auditing said plurality of message data.
[Claim 8] A computer-program product tangibly embodied in a machine readable medium to perform a method for managing embedded component information for a product design in a PLM environment, comprising instructions operable to cause a computer to: display at least one message object; and associate said at least one message object with a signal object. [Claim 9] The computer-program product of Claim 8, whereby said association satisfies a compatibility signal object list. [Claim 10] A system comprising: a windowed environment; and a logical bill of materials application using said windowed environment that includes: a hierarchical catalog of a plurality of embedded components having at least one message object; and a system catalog that associates said at least one message object with at least one of a plurality of transmitting components, a plurality of receiving components and a plurality of signal transmitters.
[Claim 1 1 ] A data processing system having at least a processor and accessible memory to implement a method for managing objects within an application, comprising: means for displaying at least one message object; and means for associating said at least one message object with a signal object.
PCT/US2008/009854 2007-08-31 2008-08-19 System and method for data management of embedded systems WO2009032066A2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020107004430A KR101105108B1 (en) 2007-08-31 2008-08-19 System and method for data management of embedded systems
JP2010522908A JP5193304B2 (en) 2007-08-31 2008-08-19 Data management system and method for embedded system
EP08829597A EP2183711A2 (en) 2007-08-31 2008-08-19 System and method for data management of embedded systems

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/848,957 2007-08-31
US11/848,957 US8510752B2 (en) 2007-08-31 2007-08-31 System and method for data management of embedded systems

Publications (2)

Publication Number Publication Date
WO2009032066A2 true WO2009032066A2 (en) 2009-03-12
WO2009032066A3 WO2009032066A3 (en) 2009-09-03

Family

ID=40409590

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2008/009854 WO2009032066A2 (en) 2007-08-31 2008-08-19 System and method for data management of embedded systems

Country Status (5)

Country Link
US (1) US8510752B2 (en)
EP (1) EP2183711A2 (en)
JP (1) JP5193304B2 (en)
KR (1) KR101105108B1 (en)
WO (1) WO2009032066A2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201111194A (en) * 2009-09-18 2011-04-01 Liu I Sheng Auto-meter system with controller area network bus

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995031780A1 (en) * 1994-05-13 1995-11-23 Apple Computer, Inc. System and method for object oriented message filtering
US20040162741A1 (en) * 2003-02-07 2004-08-19 David Flaxer Method and apparatus for product lifecycle management in a distributed environment enabled by dynamic business process composition and execution by rule inference
US20050183096A1 (en) * 2004-02-12 2005-08-18 International Business Machines Corp. Information kit integration architecture for end-user systems

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7577834B1 (en) * 2000-05-09 2009-08-18 Sun Microsystems, Inc. Message authentication using message gates in a distributed computing environment
US7882253B2 (en) * 2001-04-05 2011-02-01 Real-Time Innovations, Inc. Real-time publish-subscribe system
JP4581284B2 (en) * 2001-04-12 2010-11-17 株式会社デンソー Communication system and electronic control device
US8224471B2 (en) * 2005-09-27 2012-07-17 Siemens Product Lifecycle Management Software Inc. Allocation of multiple product structures
JP4786330B2 (en) * 2005-12-20 2011-10-05 株式会社オートネットワーク技術研究所 In-vehicle LAN system, electronic control unit and relay connection unit
US8396788B2 (en) * 2006-07-31 2013-03-12 Sap Ag Cost-based deployment of components in smart item environments
CN101657857A (en) * 2007-04-12 2010-02-24 汤姆逊许可证公司 The message mechanism that is used for workflow interfacing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995031780A1 (en) * 1994-05-13 1995-11-23 Apple Computer, Inc. System and method for object oriented message filtering
US20040162741A1 (en) * 2003-02-07 2004-08-19 David Flaxer Method and apparatus for product lifecycle management in a distributed environment enabled by dynamic business process composition and execution by rule inference
US20050183096A1 (en) * 2004-02-12 2005-08-18 International Business Machines Corp. Information kit integration architecture for end-user systems

Also Published As

Publication number Publication date
KR20100046233A (en) 2010-05-06
JP2010538355A (en) 2010-12-09
US20090064187A1 (en) 2009-03-05
EP2183711A2 (en) 2010-05-12
US8510752B2 (en) 2013-08-13
WO2009032066A3 (en) 2009-09-03
JP5193304B2 (en) 2013-05-08
KR101105108B1 (en) 2012-01-16

Similar Documents

Publication Publication Date Title
US20230018782A1 (en) Systems and methods to utilize smart components
US9477950B2 (en) Prognostics-based estimator
US9286736B2 (en) Methods and systems of vehicle telematics enabled customer experience
US11687883B2 (en) Systems and methods for an e-commerce enabled digital whiteboard
US8443301B1 (en) Inspection reporting including a 3D vehicle model
EP3042322A2 (en) Prognostics-based estimator
US11922741B2 (en) Secure installation of approved parts using blockchain
US8145377B2 (en) Support for preemptive symptoms
US20160225198A1 (en) Methods and systems of vehicle telematics enabled customer experience
WO2015035056A2 (en) Prognostics-based estimator
US20100262431A1 (en) Support for Preemptive Symptoms
US11481737B2 (en) Systems and methods to generate repair orders using a taxonomy and an ontology
US7412632B2 (en) Method to facilitate failure modes and effects analysis
US20150356794A1 (en) Connected vehicle predictive quality
Westman et al. Structuring safety requirements in ISO 26262 using contract theory
US20110213596A1 (en) Requirements driven feature development process
US20100235809A1 (en) System and method for managing a model-based design lifecycle
US8375352B2 (en) Terms management system (TMS)
CN111611022A (en) Data processing method, device, equipment and system for applet application
JP2016533554A (en) Change management system in process control architecture
US8510752B2 (en) System and method for data management of embedded systems
US10909783B2 (en) Method of automatically generating vehicle test group identification information, program, electronic control unit, and vehicle
US20230004373A1 (en) Information processing system, information processing device, information processing method, program, and recording medium
US20150058251A1 (en) Systems and methods of creating and delivering item of manufacture specific information to remote devices
CN101436157A (en) Method for processing program BUG in program test process flow

Legal Events

Date Code Title Description
REEP Request for entry into the european phase

Ref document number: 2008829597

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2008829597

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 20107004430

Country of ref document: KR

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2010522908

Country of ref document: JP

Kind code of ref document: A

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: 08829597

Country of ref document: EP

Kind code of ref document: A2