­
­
­
­

Inventi Impact - Software Engineering

Patent Watch

  • APPARATUS AND METHOD FOR ITERATIVE SIMULATION OF AN OPERATION OF A DEVICE

    A method and a respective apparatus for simulating a behaviour of a device does not have to change the mode of operation of the device. Furthermore it is possible to simulate improvement strategy step-wise and therefore calculate an impact of a process improvement project. Therefore an iterative simulation procedure is provided, which may find application in process improvement, such as software engineering process improvement, as well as optimization of performance parameters of devices and machines.

  • Systems and Methods for Decision Pattern Identification and Application

    A system for decision pattern identification and application in a software engineering project includes a decision pattern miner configured to locate a plurality of decisions in a search space; a decision pattern generator configured to generate a decision pattern from the located decisions; a decision pattern repository configured to store the decision pattern; a decision pattern proposal maker configured to search the decision pattern repository for a decision pattern relevant to a decision space; and a decision pattern propagator configured to propagate the decision pattern relevant to the decision space in the decision space.

  • ASPECT-ORIENTED COMPLEX EVENT PROCESSING SYSTEM AND ASSOCIATED METHOD

    A system and method for aspect-oriented complex event processing is presented for monitoring simple events occurring in a base system, identifying sequences of events which indicate the occurrence of a complex events and acting upon them. Embodiments of the invention may be applicable for monitoring in a variety of applications such as in software engineering, fraud detection, population monitoring and medical care.

  • Association rule mining to predict co-varying software metrics

    The present invention relates in general to the field of database analysis from software metrics database. In one aspect the present invention relates to the method for finding association rules contained in database records and in another it relates to software engineering to enhance the ability of source code to change and keep the components of code from failing.

  • Association rule mining to predict co-varying software metrics

    The present invention relates in general to the field of database analysis from software metrics database. In one aspect the present invention relates to the method for finding association rules contained in database records and in another it relates to software engineering to enhance the ability of source code to change and keep the components of code from failing.

  • CONTROL CHART TECHNIQUE FOR ANALYZING SOFTWARE ENGINEERING ACTIVITIES AFFECTED BY INTRINSIC PROCESS VARIATION AND STATISTICAL FLUCTUATIONS

    In software engineering, the performance or efficiency of individual process steps is typically defined as some sort of rate such as the number of detected defects divided by the effort spent for review or testing. In this situation, the variation in tie data always reflects a mixture of intrinsic process variation caused by, for example, human factors such as the experience of reviewers or the variable quality of the review objects, and purely statistical variation due to the effects of Poisson statistics when defects are counted. Due to this mixture of causes of variation no conventional statistical process control chart holds for the constraints of typical software engineering processes. A new statistical process control (SPC) approach (method and system) is presented to overcome the mentioned problems.

  • Scheduling for Computing Systems With Multiple Levels of Determinism

    In a computing system, a method and system for scheduling software process execution and inter-process communication is introduced. Processes or groups of processes are assigned to execute within timeslots of a schedule according to associated execution frequencies, execution durations and inter-process communication requirements. The schedules allow development and test of the processes to be substantially decoupled from one another so that software engineering cycle time can be reduced.

  • Method for application development

    A process and method for application development that conforms with Rapid Application Development (RAD) requirements and Software Engineering Institute (SEI) Software Capability Maturity Model Integrated (CMMI) Level 3 requirements. An application development process that conforms with Rapid Application Development (RAD) requirements and Software Engineering Institute (SEI) Software Capability Maturity Model Integrated (CMMI) Level 3 requirements includes one or more formally-named development cycles, one or more formally-named design cycles, in which each development cycle includes one or more formally-named design cycles, and one or more formally-named construction cycles, in which each design cycle includes one or more formally-named construction cycles.

  • REAL TIME PROFILING OF A COMPUTER SOFTWARE APPLICATION RUNNING ON PARALLEL COMPUTING RESOURCES

    A method of real-time profiling a software application running on heterogeneous parallel computing resources is provided. The method may include the following steps, comprising: analyzing, in real-time, operations of a computer software application operatively associated with parallel computing resources, by executing the application on the parallel computing resources in a specified configuration of parallel computing resources usage, to yield a time-dependent profile of the computer software application in terms of usage of the parallel computing resources, wherein the profile is based on specified categories of software operations; presenting the time-dependent profile graphically and in real-time; repeating the executing with a modified configuration in response to user modifications made to the usage of the parallel computing resources, to yield an updated profile; and repeating the presenting with the updated profile, wherein at least one of the analyzing, the presenting and the repeating is executed by at least one processor.

  • METHOD AND SYSTEM FOR ESTIMATING EFFORT FOR MAINTENANCE OF SOFTWARE

    The present invention provides a method, a system, and a computer program product for determining an effort associated with the maintenance of software. The method, the system, and the computer program product enable receiving values corresponding to predefined factors, which are segregated into corrective factors, preventive factors, perfective factors, and adaptive factors. A corrective effort is determined based on the corrective factors and predefined rules. Thereafter, a preventive effort is determined based on the preventive factors, the predefined rules, and the corrective effort. Thereafter, a perfective effort is determined based on the perfective factors, the predefined rules, and the corrective effort. Subsequently, an adaptive effort is determined based on the adaptive factors, the predefined rules, the corrective effort, the preventive effort, and the perfective effort. A total effort is then generated based on the corrective effort, the preventive effort, the perfective effort, and the adaptive effort.

  • METHOD AND SYSTEM FOR DETERMINING PRODUCTIVITY OF A TEAM ASSOCIATED WITH MAINTENANCE AND PRODUCTION SUPPORT OF SOFTWARE

    The present invention provides a method, a system, and a computer program product for determining productivity of a team associated with maintenance and production support of software. The invention enables receiving one or more tickets associated with the software, the number of full time equivalent team-members (FTEs) in the team, and weight corresponding to each predefined parameter. Net ticket-units are determined based on the predefined ticket-unit associated with the tickets. An adjustment factor is determined based on the weight corresponding to each predefined parameter. Adjusted ticket-units are determined based on the net ticket-units and the adjustment factor. The productivity of the team for a predefined time period is generated based on the adjusted ticket-units and the number of FTEs. In a similar manner, the invention enables determining the number of FTEs based on a received productivity and the adjusted ticket-units.

  • METHOD AND APPARATUS FOR UPDATING A SOFTWARE IMAGE

    A method and apparatus for updating the software image on a plurality of computing devices which comprises creating a simulated version of the software image of the devices in a changed format, altering the simulated version of the software image and copying the altered version back to the devices. The change of format typically obviates the need for human interaction during the update process.

  • INJECTION CONTEXT BASED STATIC ANALYSIS OF COMPUTER SOFTWARE APPLICATIONS

    Embodiments of the invention generally relate to injection context based static analysis of computer software applications. Embodiments of the invention may include selecting a sink within a computer software application, tracing a character output stream leading to the sink within the computer software application, determining an injection context of the character output stream at the sink, where the injection context is predefined in association with a state of the character output stream at the sink, identifying any actions that have been predefined in association with the identified injection context, and providing a report of the actions.

  • Method And System For Controlling A User Interface Of A Software Application

    A method and system for controlling a user interface of a software application which is executed in a runtime environment are disclosed which are easy to implement and manage, yet at the same are also flexible. It is provided according to at least one embodiment of the invention to store in relation to at least one element of the user interface within the scope of the application or a configuration file assigned thereto a specification defining the type and attributes of the at least one element. After the start of the application, the at least one element is then created in accordance with the associated specification by an element control module that is separate from the application.

  • Hardware-aided software code measurement

    Described is an independent computation environment that is built into one or more hardware components of a computer system, wherein the independent computation environment hosts a logic that measures the health of other software code that executes in memory. Examples of ways to measure health include performing a mathematical computation such as a computing a hash/digital signature on the software code in the memory, and/or evaluating statistical information related to the execution of the code and/or the code's being loaded into memory. By executing the logic in an independent computation environment, the health of software code may be measured against policy/metadata in a tamper-proof or tamper-resistant environment. When the software code measurement does not comply with the policy, some action may be taken action to penalize the computer system.

  • Method and system for creating self-assembling components through component languages

    A system for self-assembling software components is described herein. In one embodiment, a system includes a first and second set of language components, where each language component defines at least one part of language runnable on a computer by associating a piece of grammar of the language with at least one software component that implements the piece of grammar. The system further includes a request broker that upon being provided with a section of code written in the language matches syntactic appearances of the first set of language components in the section of code and granting logic to grant access to the language components of the first set whose syntactic appearances the request broker matched, in order to enable self-assemblage of the language components of the first set with language components of the second set.

  • MULTIPLEXING APPLICATION AND DEBUG CHANNELS ON A SINGLE USB CONNECTION

    A computer system for software development and debugging for an embedded system includes a Universal Serial Bus (USB), a host computer comprising a USB driver interfaced with the USB, wherein the USB driver can multiplex application data and debug data to and from the USB, and an embedded system comprising a USB module interfaced with the USB. The USB module can multiplex the application data and the debug data to and from the host computer via the USB.

  • IN-GAME ADVERTISING

    Disclosed is a platform that provides innovative advertising space to businesses by engaging gamers to create viral loops for brands. The platform features unique components including: 1) game developers have real-time control over advertising content and 2) gamers will associate an actual gaming accomplishment with a positive brand interaction (e.g. when a gamer achieves a high score, they will see a message that associates the accomplishment with an advertiser). The platform may be expanded on a global scale through offers of software development kits that allow other game developers to integrate the platform into their own mobile and Web games. Gamers, game developers, and advertisers will be able to track user data produced by the system if each gamer and developer agrees to do so.

  • SOFTWARE DEVELOPMENT ASSISTANT METHOD AND SYSTEM

    The present invention provides a software development method, system and computer program product. Generally, a computer program product for software development assistance includes a computer readable storage medium having computer readable program code embodied therewith such that the computer readable program receives from a server over a computer communications network both a software update for software installed in an end user device, and also test cases and a testing tool. The test cases are loaded in memory of the end user device and executed in the end user device with the execution tool with respect to the software update. Execution information produced by the execution of the test cases is collected and transmitted back to the server from the end user device. Optionally, a new test case for the software update can be created within the memory of the end user device the new test case can be executed along with the received test cases with the execution tool in the end user device. Consequently, the new test case can be transmitted to the server along with the collected execution information.

  • SYSTEM AND METHOD FOR SUPPORTING AN OBJECT ORIENTED SCRIPTING TOOL

    An object-oriented scripting tool uses a XML file for software development and domain management. The XML file includes at least a first tag that defines a scripting class in an object-oriented scripting language. The scripting class includes at least one method, which is defined in a second tag in the XML file. A generic software development and domain management script can be encapsulated into a general scripting class, which can be extended into individual scripting class for specific software development and domain management task.

  • METHOD OF REPLACEMENT FOR A CONTROLLER IN AN ONBOARD POWER SUPPLY SYSTEM IN A VEHICLE

    A method replaces a controller, particularly a faulty and/or outmoded controller, in an onboard power supply system in a vehicle. The controller to be replaced is replaced by a functional and/or new controller. The controller to be replaced and the new controller are operated by incompatible operating software. In the method at least one software component is exported from a software development environment for the operating software of the controller to be replaced by a data processing apparatus. The software component is converted into a code, which can be imported into a software development environment for the operating software of the functional and/or new controller, by the data processing apparatus. The code is imported into the software development environment of the operating software of the functional and/or new controller by the data processing apparatus. The operating software for the new controller is produced on the basis of the imported code.

  • AUTOMATIC OPTIMAL INTEGRATED CIRCUIT GENERATOR FROM ALGORITHMS AND SPECIFICATION

    Systems and methods are disclosed to automatically design a custom integrated circuit based on algorithmic process or code as input and using highly automated tools that requires virtually no human involvement is disclosed. The method includes receiving a specification of the custom integrated circuit including computer readable code and one or more constraints on the custom integrated circuit; automatically generating a computer architecture for the computer readable code that best fits the constraints; automatically determining an instruction execution sequence based on the code profile and reassigning or delaying the instruction sequence to spread operation over one or more processing blocks to reduce hot spots; continuously evaluating and optimizing one or more factors including physical implementation, and local and global area, timing, or power at an architecture level above RTL or gate-level synthesis; automatically generating a software development kit (SDK) and the associated firmware automatically to execute the computer readable code on the custom integrated circuit; automatically generating associated test suites and vectors for the computer readable code on the custom integrated circuit; and automatically synthesizing the designed architecture and generating a computer readable description of the custom integrated circuit for semiconductor fabrication.

  • ANALYZING COMPUTER CODE DEVELOPMENT ACTIONS AND PROCESS

    A method that may include: monitoring over time, actions carried out by at least one programmer over a software development environment to yield development patterns; comparing the development patterns to best practice rules to yield a comparison results indicating deviations of the development patterns from the best practice rules; and analyzing the comparison results based at least partially on a likelihood of each action deviated from the respective best practice rule to result in a software bug, to yield an analysis of potential software bug prone code sections, wherein at least one of the monitoring, the comparing, and the analyzing is executed by at least one processor.

  • SMOOTH STREAMING CLIENT COMPONENT

    A streaming abstraction system is described herein that provides application developers a client software development kit (SDK) on top of which to build smooth streaming solutions. The system reduces development time considerably and abstracts platform specific intricacies and protocol handling on the client. In addition, the streaming abstraction system makes it possible to monetize streaming content with advanced features like advertising and analytics and provides advanced capabilities like multiple camera angles, diagnostics, and error handling. In some embodiments, the streaming abstraction system provides an intermediate layer that operates between an application and an underlying client media platform. The intermediate layer manages smooth streaming protocol handling as well as interactions with the platform-specific runtime.

  • FORMS INTEGRATION TOOLKIT

    The invention is a Forms Integration Toolkit (FIT) application, which is a zero-footprint software toolset that allows users to create forms without the need for software development. The FIT consists of a two-module forms tool and a two-module wizard tool. The forms tool modules are the FIT Configuration Manager and the FIT viewer. The FIT Wizard modules are the Wizard Configuration Manager and the Wizard Viewer. Several unique features differentiate the FIT from other forms tools on the market including the ability to specify a form and mapping instructions for populating multiple targets, including databases and web-services, with information received through the form in a single submit event.

  • DEPLOYMENT SCRIPT GENERATION AND EXECUTION

    Aspects of the subject matter described herein relate to deployment scripts. In aspects, in conjunction with creating a package for deploying software to a target, an installation script is also created. The installation script includes instructions for deploying the software in the package to one or more targets. The installation script is human-readable and readily modifiable. A software development tool may provide a seamless interface that allows a software developer to view, edit, execute, and debug the installation script on a local or remote target.

  • Dialog Generation

    In one aspect, a method of generating a computer-based dialog process includes receiving, in a computer system, a process type for creating a process. The process type includes (i) step elements each corresponding to a user-interaction task in the process, and (ii) step groups each including one or more of the step elements, wherein the process type defines an order of the step groups. The method includes receiving executable code for the process in a configuration-time context. The executable code (i) specifies that each of the step groups is performed in one or more steps, thereby defining a granularity of the process, and (ii) assigns at least one of the step elements in each step group to each of the one or more steps, thereby defining an order of the step elements in each step group. The method includes generating a runtime implementation of the process using the executable code.

  • System and Methods for Precise Microprocessor Event Counting

    Method for providing precise microprocessor performance counter readings including detecting a swap back to a monitored process executing in a microprocessor. In response to the detected swap back to the monitored process, if the value read from the performance counter does not exceed the defined overflow threshold, the value of the performance counter stored in the first memory location is restored to the performance counter. If the value read from the performance counter exceeds the defined overflow threshold, the performance counter is set to zero and the value of the performance counter stored in the first memory location is used to increment an overflow memory location. If the value read from the performance counter exceeds the defined overflow threshold, at least one performance counter reading instruction is detected and in response to the detected at least one performance counter reading instruction, setting the counter output register to zero.

  • SYSTEMS, METHODS AND APPARATUS FOR DEVELOPING AND MAINTAINING EVOLVING SYSTEMS WITH SOFTWARE PRODUCT LINES

    Systems, methods and apparatus are provided through which an evolutionary system is managed and viewed as a software product line. In some embodiments, the core architecture is a relatively unchanging part of the system, and each version of the system is viewed as a product from the product line. Each software product is generated from the core architecture with some agent-based additions. The result may be a multi-agent system software product line.

  • ASYNCHRONOUS CODE TESTING IN INTEGRATED DEVELOPMENT ENVIRONMENT (IDE)

    A system and associated method for asynchronous code testing in an Integrated Development Environment (IDE). The IDE has components of a source code editor, an impact analyzer, a test case launcher, a graphical user interface (GUI), and a database. All components run concurrently for asynchronous and real-time code editing. Upon modification of a code block of an input code, a test case is automatically generated and a launching priority is calculated based on the relationship between the modified code block and each code block affected by the modification. Generated test cases are automatically run by the test case launcher or manually selected by the user to produce a test run result.

  • SYSTEM, METHOD AND ARTICLE OF MANUFACTURE FOR ENHANCED VISIBILITY DURING INSTALLATION MANAGEMENT IN A NETWORK- BASED SUPPLY CHAIN ENVIRONMENT

    A system, method and article of manufacture are provided for interacting with a client user in a network-based environment during installation management in order to enhance visibility. A user is identified and information about the user is collected, wherein the information relates to the installation of a service. A profile of the user is built based on the collected information and a plurality of different contents are managed. The profile and the contents are analyzed in order to match attributes of the profile of the user and attributes of the contents. The contents which have attributes that match the attributes of the profile of the user are then selected and delivered to the user. The user is allowed to manually select which of the delivered contents are depicted on a display. The user is also allowed to selectively position the delivered contents on the display.

  • METHOD AND APPARATUS FOR OBTAINING WORKING INFORMATION IN SOFTWARE ENGINEERING

    An apparatus, method, and computer readable article of manufacture for obtaining working information in software engineering. The apparatus includes a sensor generator, configured to generate a sensor for a software tool used in software engineering according to the data storage manner of the software tool, such that the sensor detects the artifact change events associated with the software tool; and a central analyzer, configured to collect the artifact change events from the sensor, and analyze at least one attribute of the artifact change events, thereby obtaining working information. Also provided is a method corresponding to the apparatus described above. By using the apparatus and method for the invention, it can detect artifact change events for various software tools, and based on that, obtain various kinds of desired working information, therefore helping the collaboration of a team and the implementation of a project.

  • METHOD AND APPARATUS FOR OBTAINING WORKING INFORMATION IN SOFTWARE ENGINEERING

    An apparatus, method, and computer readable article of manufacture for obtaining working information in software engineering. The apparatus includes a sensor generator, configured to generate a sensor for a software tool used in software engineering according to the data storage manner of the software tool, such that the sensor detects the artifact change events associated with the software tool; and a central analyzer, configured to collect the artifact change events from the sensor, and analyze at least one attribute of the artifact change events, thereby obtaining working information. Also provided is a method corresponding to the apparatus described above. By using the apparatus and method for the invention, it can detect artifact change events for various software tools, and based on that, obtain various kinds of desired working information, therefore helping the collaboration of a team and the implementation of a project.

  • METHOD AND SYSTEM FOR DETERMINING PERFORMANCE PARAMETERS OF SOFTWARE PROJECT BASED ON SOFTWARE-ENGINEERING TOOLS USAGE

    A method and system have been disclosed for determining one or more performance parameters of a project. Various examples of the performance parameters of the project may include productivity, efficiency, and quality. The method described above includes defining one or more lifecycle stages of the project. Examples of the lifecycle stages of the project may include requirement analysis, high-level design, detailed design, build, integration test, system test, documentation, acceptance, installation, and post implementation. Further, the method includes receiving details of one or more tools being used for each lifecycle stages of the project. The method further includes assigning a score based on the one or more tools being used for the project. Further, the method also includes automatically calculating a value based on the assigned score. Thereafter, the performance parameters of the project are determined based on the calculated value.

  • Systems and Methods for Synchronizing Software Execution Across Data Processing Systems and Platforms

    A computer system and method for software delivery that include articles of manufacture having two or more installed, functional software applications organized in a protoset, the protoset configured to enable creation of one or more subsets (also called reduced metasets) from the two or more installed, functional software applications, each of the one or more subsets configured to be operable with a predefined computer system independent of the protoset; and a protoset module configured to operate on the protoset to enable creation of the one or more subsets of the two or more installed, functional software applications, the module responsive to one or more requests for the creation of the one or more reduced metasets

  • CONFIGURATION MANAGEMENT SYSTEM FOR SOFTWARE PRODUCT LINE DEVELOPMENT ENVIRONMENT

    A system that includes: a configuration management system configured to receive resource updates submitted by developers of a product line; an update monitor configured, in manual monitoring, to mark each submitted resource update with respective variability data specified as relevant to the update submission, by the developer; and a tracer configured, in automatic monitoring, to trace portions of the updated resource into respective features or products of the product line, to determine variability data relevant to the update submission, wherein when an update request is initiated by the developer, the configuration management system is configured to associate the submitted resource updates with the update request based on common variability data, to provide resource updates on demand, based on variability data, wherein in automatic update, the configuration management system is configured to notify developers on resource updates, based on variability data common to the updated resource and the notified developers.

  • AUTOMATED DEPLOYMENT OF SOFTWARE FOR MANAGED HARDWARE IN A STORAGE AREA NETWORK

    In one aspect of the present description, a systems manager based upon a common model of information protocol or standard includes automated storage area network (SAN) expansion management which permits additional provider modules to be automatically installed if needed in response to devices being added to the SAN. In addition, the automated SAN expansion management permits installed provider modules to be automatically configured in response to devices being added to the SAN. Still further, in another aspect, the automated SAN expansion management can automatically determine if a suitable host processor exists to host installation of a new provider module and if not, the automated SAN expansion management 20 can automatically deploy a suitable host processor such as a virtual server to host installation of a new provider module. Other features and aspects may be realized, depending upon the particular application.

  • AUTOMATED MODIFICATION INTEGRATION AND CONFLICT RESOLUTION FOR SOFTWARE DEVELOPMENT

    Proposed changes to a source code generated by client computing devices are integrated with a master version of the code resident on a server computing system remote from the client devices. The client devices connect to the server system over a network and transmit proposed changes to the server system, where resident integration/conflict resolution software automatically integrates the proposed changes into the master version. Any unresolved conflicts remaining after the automatic integration are identified and the server system automatically sends an email notifying the one or more client devices that there are unresolved conflicts. The email includes a link that enables a client device to launch a window on a monitor, and the client device user employs the window to transmit commands directly to and receive further communications directly from the integration/conflict resolution software in an interactive operation to attempt to manually resolve the conflicts.

  • ENFORCING ALIGNMENT OF APPROVED CHANGES AND DEPLOYED CHANGES IN THE SOFTWARE CHANGE LIFE-CYCLE

    On a host, host content change requests are intercepted in real-time. In a tracking mode, the change requests are logged and allowed to take effect on the host. In an enforcement mode, the change requests are logged and additionally compared against authorized change policies and a determination is made whether to allow the change to take effect or to block the changes, thereby enforcing the authorized change policies on the host. Tracking and enforcement can be done in real-time. In either mode and at any time, the logged changes can be reconciled against a set of approved change orders in order to identify classes of changes, including changes that were deployed but not approved and changes that were approved but not deployed.

  • METHODS AND SYSTEMS FOR PACKAGING ENCAPSULATED OPERATING SYSTEM AND CUSTOM SOFTWARE FOR SINGLE STREAM MULTI-SYSTEM INSTALLATION

    Certain examples provide a clinical information system software system. The example system includes a decomposer to decompose system functions included in a system concept into a plurality of individual functional components. The example system includes a design process to transform the plurality of functional components into a series of input files that include definitions to describe components forming a clinical information system configuration for installation. The example system includes a product generator to combine the information in the series of input files into a single software artifact including information and functionality to bootstrap and load a machine node and make the software artifact available to a target site for execution and installation.

  • METHOD AND DEVICE FOR TESTING A SYSTEM COMPRISING AT LEAST A PLURALITY OF SOFTWARE UNITS THAT CAN BE EXECUTED SIMULTANEOUSLY

    A programmable operating time period of at least one software unit is changed to a settable operating time period. Furthermore, a testing system for validating the system for setting the at least one settable operating time period is provided. Furthermore, the system is tested using the testing system, wherein the testing includes varying the at least one settable operating time period for detecting synchronization errors of the system. Thus, a test of a system including software units for synchronization errors is enabled by the targeted change of operating time period.

  • Analyzing Software Performance Issues

    Execution traces are collected from multiple execution instances that exhibit performance issues such as slow execution. Call stacks are extracted from the execution traces, and the call stacks are mined to identify frequently occurring function call patterns. The call patterns are then clustered, and used to identify groups of execution instances whose performance issues may be caused by common problematic program execution patterns.

  • Software Tool for Automation

    A software tool for automation having a functionality for output conversion, where a plurality of applications, which are each intended for a dedicated object domain, are or can be combined with the software tool at the same time, each application comprises at least one first software interface for access to the output conversion, and where the output conversion comprises at least one mapping component for conversion of objects from an object domain of the application to an object of an abstract object model which is defined for the output component.

  • APPARATUS FOR DEVELOPING EMBEDDED SOFTWARE AND A PROCESS FOR MAKING THE SAME

    An apparatus used as a platform for Developing Embedded Real-time Software with a laptop or a Personal Computer, multiplicity of USB to CANbus converters, multiplicity of USB to RS-232 converter, multiplicity of single board microcontrollers, Interface board interfacing the microcontrollers, and software development tool-chain. The preferred embodiment uses at least one of the microcontrollers as the System Controller, and at least one microcontroller as the Plant or System Under Control. The interface board acts as signal conditioner, between the System controller and the Plant. The serial interfaces are used to download executable code into the microcontrollers, observe the overall system behavior, and inject faults or failure into the plant model.

  • SYSTEM AND METHOD FOR DEFENDING AGAINST REVERSE ENGINEERING OF SOFTWARE, FIRMWARE AND HARDWARE

    A method for defending a software against reverse engineering in a target environment includes acquiring information from the target environment, encrypting the software to be protected with the acquired information, sending the encrypted software with the acquired information to an execution environment, acquiring information from the execution environment, comparing the information from the execution environment with the acquired information from the target environment to authenticate the execution environment as the target environment, and if the two set of information match, decrypting the software to be protected, and if two set of information do not match, destroying said software.

  • LICENSING SOFTWARE ON A SINGLE-USER BASIS

    The claimed subject matter provides a method for licensing software in a computing environment. An exemplary method includes initiating application software program on a computer system having a plurality of authorized users, one of the authorized users having a single-user license to use the software program. An identity of a current user of the computer system is checked. Operation of the software program is prohibited if the current user is one of the plurality of authorized users other than the user who is granted the single-user license.

  • METHOD AND APPARATUS FOR DOWNLOADING SOFTWARE UPDATES TO PLACE USER TERMINAL INTO A DESIRED CONFIGURATION STATE

    In accordance with the present invention, a method and apparatus that provides software products for installation on a user terminal is provided. The method begins by receiving over a communications network a user selection that includes a choice of a plurality of user-selected software products to be downloaded. In response to receipt of the user selection, an installation guide is assembled that includes installation instructions associated with each of the user-selected software products. A single user command is received over the communications network that includes a request to begin downloading the user-selected software products. In response to the request, the user-selected software products and the installation instructions are sequentially downloaded over the communications network to the user terminal. One or more of the software products may be configured to be automatically installed after they are downloaded.

  • Low Power, Low Mass, Modular, Multi-Band Software-Defined Radios

    Methods and systems to implement and operate software-defined radios (SDRs). An SDR may be configured to perform a combination of fractional and integer frequency synthesis and direct digital synthesis under control of a digital signal processor, which may provide a set of relatively agile, flexible, low-noise, and low spurious, timing and frequency conversion signals, and which may be used to maintain a transmit path coherent with a receive path. Frequency synthesis may include dithering to provide additional precision. The SDR may include task-specific software-configurable systems to perform tasks in accordance with software-defined parameters or personalities. The SDR may include a hardware interface system to control hardware components, and a host interface system to provide an interface to the SDR with respect to a host system. The SDR may be configured for one or more of communications, navigation, radio science, and sensors.

  • ANALYZING FACTORY PROCESSES IN A SOFTWARE FACTORY

    A method, system, and/or computer-readable medium analyzes problems in a software factory. Factory metrics that describe resources and operations within the software factory are collected and analyzed to detect problems that might have occurred during an execution of a work packet within the software factory. If the detected problems exceed one or more threshold criteria, then a detailed analysis of the detected problems is performed by matching each detected problem to one or more specific root causes through an analysis of the factory process building blocks

  • Dynamically Configured Graphical User Interface for a Software Application

    A Graphical User Interface (GUI) Customization System provides users with applications that feature customized GUI configurations by applying one or more configuration parameters to common codebases in the applications without user intervention. Various embodiments of the GUI Customization System can provide different methods of acquiring, customizing, and providing applications and sets of configuration parameters to users.

  • MITIGATING KNOWN SOFTWARE DEFECTS

    A method, system, and computer program product for mitigating known software defects are provided in the illustrative embodiments. A code containing the defect is executed in a data processing system. An error caused by the defect is detected. A function implemented external to the code is called, where the function is a part of a library accessible to the code, and where the function is called for the code for a purpose other than to correct the error. A corrective code embedded in the function is executed, the corrective code attempting to correct the error. Executing the code is continued after the corrective code has corrected the error.

  • MOBILE MALICIOUS SOFTWARE MITIGATION

    Mitigation of malicious software in wireless networks and/or on mobile devices is provided. A mobile malicious software mitigation component is provided that obtains an internet protocol address that is exhibiting malicious software behavior, a profile of the malicious software behavior, and a time of the malicious software behavior. The malicious software mitigation component can determine an identity of a mobile device that was assigned the internet protocol address during the time it was exhibiting malicious software behavior, and transmit the profile to the mobile device. In addition, the malicious software mitigation component determine if the duration of the assignment of the internet protocol address to the mobile device is sufficient for positive identification.

  • MANAGING SOFTWARE CHANGES

    The claimed subject matter provides a system or method for managing software changes. An exemplary method comprises creating a reset boot loader, a last known good (LKG) boot loader, and a current boot loader, then pointing the reset boot loader, LKG boot loader, and current boot loader to a parent virtual hard disk (VHD) containing a default master image. An operation to perform is determined, and a service partition is booted into. The LKG boot loader or current boot loader is pointed to a child VHD loaded with another desired image based on the operation selected, and the system is rebooted into the parent VHD or child VHD pointed to by the current boot loader.

  • SYSTEM AND METHOD FOR DETECTING DATA EXTRUSION IN SOFTWARE APPLICATIONS

    Comprehensive techniques identify data leaks in software applications using Asset Flow Analysis (AFA) to determine whether critical data leaves a system through an exit point such that the data is no longer protected by mechanisms of the system. A novel data extrusion mechanism makes use of a relevant subset of all the possible data paths detected by AFA using a knowledge base of critical business functions and critical database content. The system checks if any code performs read access to critical business data and subsequently transfers this data beyond the control limits of the target system. The knowledge base can be extended by configuring which database content is to be regarded as critical in any given organization. The approach is particularly valuable in protecting systems that manipulate, distribute, or store sensitive information associated with financial, business, or personal data, including SAP.RTM. ABAP.TM. software applications.

  • SYSTEM SOFTWARE PRODUCTIZATION FRAMEWORK

    A unified framework is established based on a domain-specific system description model representative of physical network system topology, network system device capability and/or logical network system structure. The framework can be employed to streamline a network system configuration process and/or a software system deployment process and the like. Some instances can also be utilized in establishing a unified framework in a broadcast equipment environment to augment network system based technologies. Additionally, network devices having multiple network interfaces that are dedicated to specific network usages can be automatically configured. A method in accordance with an aspect of the present principles includes generating a site model with a plurality of groups of device model network interfaces that can represent dedicate networks. The device model interfaces are grouped according to usage and network medium type and are logically associated with pre-defined IP addresses. The site model is applied to the network devices to logically associate them into dedicated networks by automatically assigning the pre-defined IP addresses to the network interfaces of the devices.

  • EXECUTING A MULTICOMPONENT SOFTWARE APPLICATION ON A VIRTUALIZED COMPUTER PLATFORM

    A virtualized computer platform is established and maintained by virtualization software on one or more physical computers. A multicomponent software application may execute on the virtualized computer platform, with different components of the application executing in different virtual machines, which are supported by the virtualization software. The virtualization software may also provide the provision of one or more services that may be beneficial to the operation of the multicomponent software application, such as automated provisioning, resource allocation, VM distribution, performance monitoring, resource management, high availability, backup, disaster recovery, alarms, security, etc. In some embodiments of the invention, some of these services are provided through coordinated efforts of a system resource manager, a VM manager, an application monitor and an application resource manager. In some of these embodiments, an application monitor and an application manager may be included with a multicomponent software application in a single installation package.

  • HARDWARE SUPPORT FOR SOFTWARE CONTROLLED FAST MULTIPLEXING OF PERFORMANCE COUNTERS

    Performance counters may be operable to collect one or more counts of one or more selected activities, and registers may be operable to store a set of performance counter configurations. A state machine may be operable to automatically select a register from the registers for reconfiguring the one or more performance counters in response to receiving a first signal. The state machine may be further operable to reconfigure the one or more performance counters based on a configuration specified in the selected register. The state machine yet further may be operable to copy data in selected one or more of the performance counters to a memory location, or to copy data from the memory location to the counters, in response to receiving a second signal. The state machine may be operable to store or restore the counter values and state machine configuration in response to a context switch event.

  • System and Method for Encapsulating and Enabling Protection Through Diverse Variations in Software Libraries

    A flexible software library in which the software modules are defined as an abstract intermediate representation. The flexible library allows security transformation and performance attribute selections to be made by the end-user, rather than the library creator. Furthermore, since the flexible library contains an abstract representation of the software modules, the library can also be provisioned to contain an arbitrary number of named instances, representing specific sets of values for security and performance decisions, along with the corresponding native object-code resulting from those decisions. This permits distribution of software modules in a completely platform-independent manner while avoiding the disclosure of proprietary information, such as source-files.

  • SOFTWARE FACTORY READINESS REVIEW

    A computer-implemented method, system, and computer-readable medium for determining if a software factory is ready to take on a software project is presented. In a preferred embodiment, the computer-implemented method includes the steps of: determining if an infrastructure for a software factory has been procured; determining if operational software needed to assemble work packets in an assembly line in the software factory has been installed; determining if a workflow event model for an assembly line in the software factory has been configured; determining if workload in the assembly line has been balanced; determining if communication channels between the software factory and a customer's computer system have been defined and cleared for data transmission; and in response to determining that any element described above has been determined not to have occurred, prohibiting an induction of a software project into the software factory

  • REACTIVATION OF A SOFTWARE IMAGE FROM A SOURCE MACHINE ONTO A TARGET MACHINE

    Provided are a computer program product, system and method for reactivation of a software image from a source machine onto a target machine. Discovery is made of a static software application in the software image listening on a corresponding selected communication channel of the source address. Listening is performed on behalf of the static software application on the corresponding selected communication channel of the target address. An inbound message directed to the selected communication channel of the target address is redirected to the corresponding static software application on the selected communication channel of the source address.

  • SOFTWARE CONFIGURATION MANAGEMENT

    Dependency information corresponding to an artifact can be generated. In response to the generation of the dependency information, information version information is generated for the dependency corresponding to that of the artifact. In response to the update of the artifact, the dependency information corresponding to the artifact is updated. In response to the update of the dependency information, new version information is assigned to the updated dependency information, such that the new version information corresponds to the version information of the updated artifact.

  • MECHANISM FOR ADVANCED SERVER MACHINE CHECK RECOVERY AND ASSOCIATED SYSTEM SOFTWARE ENHANCEMENTS

    Embodiments of a hardware processor including a plurality of machine state registers (MSRs) are described. At least one of the MSRs includes an erroring logical processing (ELP) bit which when set, indicates that a particular thread executing on the hardware processor caused an error.

  • METHOD AND SYSTEM FOR PROVIDING THEMES FOR SOFTWARE APPLICATIONS

    A method includes separately executing a plurality of different applications, each application executing a corresponding query to at least one database to generate results of its query; storing, for each application, a plurality of service parameters that control a makeup of a navigation sequence provided to the user to execute the database query; and receiving a selection of one of a plurality of navigation themes by the user, wherein the selection of each navigation theme changes the value of at least one of the stored service parameters for each of the plurality of applications to at least one value corresponding to the selected navigation theme, the selection of different navigation themes selecting different numbers of user interface states of the navigation sequence provided to execute the database query than the advanced navigation theme.

  • Performing OPC on Hardware or Software Platforms with GPU

    Optical proximity correction techniques performed on one or more graphics processors improve the masks used for the printing of microelectronic circuit designs. Execution of OPC techniques on hardware or software platforms utilizing graphics processing units. GPUs may share the computation load with the system CPUs to efficiently and effectively execute the OPC method steps.

  • System and Method for Building and Managing User Experience for Computer Software Interfaces

    Several computerized tools, methodologies and data structures, according to embodiments of the present invention, are disclosed for collecting data for UX research and development directed to a product, process, and system and for developing personas and scenarios from the data for designing and for measuring the effectiveness of the product, process, and/or systems for use by the personas or real people. The tools, methodologies and data structures may be used individually or in sets.

  • MODEL-DRIVEN ASSIGNMENT OF WORK TO A SOFTWARE FACTORY

    A computer implemented method, system, and/or computer program product assigns work to a software factory for implementing a project. A project model of a project is generated. Project model subcomponents are mapped to work packets that are available to a software factory, thus leading to the generation of a work plan for performing the project via an execution of the available work packets.

  • IDENTIFYING AND TRIAGING SOFTWARE BUGS THROUGH BACKWARD PROPAGATION OF UNDER-APPROXIMATED VALUES AND EMPIRIC TECHNIQUES

    A software testing tool may use static verification analysis techniques to locate points (lines/events) in computer code at which an error may be present and points (lines/events) in the computer code that may be the underlying cause of the located error points. In one implementation, a device may perform a static verification analysis of computer code to locate a point in the code that causes an error in the execution of the computer code. The static analysis may be performed by analyzing a first set of possible execution paths of the computer code based on an over-approximation of states. The device may back-propagate, from the located point, through a second set of possible execution paths, where the second set of possible execution paths is obtained based on an under-approximation of the states that were over-approximated. Based on the back-propagation, the device may determine potential causes of the error. Additionally, in some implementations, empiric analysis techniques, based on semantic information for the computer code, may also be performed. The empiric analysis techniques may be used to assist in classifying the potential causes of the error.

  • METHOD AND APPARATUS FOR OBTAINING WORKING INFORMATION IN SOFTWARE ENGINEERING

    A method for obtaining working information in software engineering is provided. The method includes generating a sensor for a software tool used in software engineering according to data storage manner of the software tool, where the sensor detects artifact change events associated with the software tool; and collecting the artifact change events from the sensor and analyzing at least one attribute of the artifact change events to obtain the working information. Also provided is an article of manufacture for carrying out the method for obtaining working information in software engineering as described in this application.

  • PREDICTING PERFORMANCE OF A SOFTWARE PROJECT

    In one aspect, a method to predict performance of a software project includes determining, using a computer, performance estimates associated with at least one design count, the design count comprising at least one function point count, collecting actual performance data, comparing the performance estimates with the actual performance data, determining, using the computer, new performance estimates for a remainder of the software project in response to the actual performance data collected and refining a design of the software project based on the new performance estimates.

  • Method for Automatically Generating a Trace Data Set for a Software System, a Computer System, and a Computer Program Product

    The invention relates to a method, a computer system, and a computer program product for automatically generating a trace data set for a software system on a computer system. The method includes the step of providing a software system comprising a source code. Binary code is provided by compiling the source code by inserting a plurality of tracing instructions into the binary code. The tracing instructions initiate trace data generation during runtime of the software system. The method also includes modifying the binary code by replacing at least one tracing instruction of the plurality of tracing instructions with a neutral instruction. The modified binary code is run by activating trace data generation by re-replacing the neutral instruction with the at least one tracing instruction. The method further includes recording the trace data set. The recording step is initiated by the at least one tracing instruction.

  • Method for Automatically Generating a Trace Data Set for a Software System, a Computer System, and a Computer Program Product

    The invention relates to a method, a computer system, and a computer program product for automatically generating a trace data set for a software system on a computer system. The method includes the step of providing a software system comprising a source code. Binary code is provided by compiling the source code by inserting a plurality of tracing instructions into the binary code. The tracing instructions initiate trace data generation during runtime of the software system. The method also includes modifying the binary code by replacing at least one tracing instruction of the plurality of tracing instructions with a neutral instruction. The modified binary code is run by activating trace data generation by re-replacing the neutral instruction with the at least one tracing instruction. The method further includes recording the trace data set. The recording step is initiated by the at least one tracing instruction.

  • Control Software for Unlocking and Relocking Cellular Telephones

    Cellular telephone handsets often include electronic or software coding that "locks" them to a specific wireless network. Provided herein, is a method for provisioning locked handsets by unlocking them from their established network and relocking them on a new cellular network. The handset is connected in communication with the control process, identified, and provisioned. The method allows for provisioning of multiple models and brands to be provisioned from different carriers and to different carriers. It further allows multiple handsets to be provisioned simultaneously. During the process, the handset may be sensitivity tested. Further, the identification portion of the method can be used in conjunction with phone support tools beyond the provisioning process.

  • METHOD AND AN APPARATUS FOR DEVELOPING SOFTWARE

    A software component, is constructed on the basis of a set of predetermined rules, and by utilizing a source object, a token value and a parameter, wherein the source object is stored in a source object repository, and wherein the source object comprises a component value and/or a token value, wherein the component value may be associated with the token value. For constructing the software component, the token value is processed and a token result, obtained by processing the token value, is utilized for constructing the software component, wherein the parameter may also be utilized for the processing of the token value and/or constructing the software component.

  • SOFTWARE FACTORY HEALTH MONITORING

    A method, system, and computer-readable medium for maintaining a health of a software factory that creates custom software in a standardized manner is presented. In a preferred embodiment, the method includes the steps of: defining work packets to perform sub-functions of a custom software; tracking a transmission of the work packets to an assembly line in a software factory; monitoring any retrieval of software artifacts that are used to create the work packets; monitoring any on-going changes of work activities that are contained in the work packets; determining if execution of the work packets conforms to governance guidelines for the software factory; monitoring the software factory to ensure that the work packets comply with an architecture of the software factory; tracking quality metrics for an execution of the work packets in an assembly line in the software factory; and transmitting all tracked and monitored information to a dashboard.

  • SECURING ANTI-VIRUS SOFTWARE WITH VIRTUALIZATION

    The subject disclosure relates to systems and methods that secure anti-virus software through virtualization. Anti-virus systems can be maintained separate from user applications and operating system through virtualization. The user applications and operating system run in a guest virtual machine while anti-virus systems are isolated in a secure virtual machine. The virtual machines are partially interdependent such that the anti-virus systems can monitor user applications and operating systems while the anti-virus systems remain free from possible malicious attack originating from a user environment. Further, the anti-virus system is secured against zero-day attacks so that detection and recovery may occur post zero-day.

  • MANAGEMENT OF SOFTWARE UPDATES IN A DATACENTER

    An approach to managing software components in a datacenter having virtualized components includes maintaining a suitable data construct for representing the virtualized elements. In embodiments, virtualized elements include knowledge relating to instantiations of virtual machines. Management of software components includes traversing a data representation of the datacenter, and assessing the compatibility of the software component with components in the datacenter that relate to the target of the software component.

  • METHODS AND SYSTEMS FOR CREATING SOFTWARE TESTS AS EXECUTABLE RESOURCES

    Described herein is a new approach for testing in which tests are instrumented and exposed as addressable resources using a REST-ful approach. With this new approach, instrumentation, provisioning and execution of tests are de-coupled, which is not the case with current, traditional testing approaches.

  • SOFTWARE MODULE OBJECT ANALYSIS

    In one implementation, an object analysis system identifies an object within a software module, and determines a size of the object based on at least one operation within the software module. The object analysis system identifies the object and determines the size of the object without reference to source code of the software module.

  • SYSTEMS AND METHODS FOR GENERATING HIGH-QUALITY FORMAL EXECUTABLE SOFTWARE FEATURE REQUIREMENTS

    Systems and methods for generating formal software requirements using an informal requirements document having informal requirements and annotations associated with the informal requirements. The systems and methods extract syntax from the annotations and generate artifacts as a function of the syntax.

  • VISUALIZATION OF SOFTWARE MEMORY USAGE

    A system, computer-readable medium, and method of visualizing memory utilization by a computing device are provided. In the method, a user interface window is presented in a display. The user interface window includes a first indicator representing a first datum stored in a first memory and a second indicator representing a second datum stored in a second memory. A first access speed for accessing the first memory is faster than a second access speed for accessing the second memory. A determination is made that the second datum is not stored in the first memory, but is ready for access by the processor from the first memory. In response, an update to the user interface window is presented in the display including a line connecting a first location of the first indicator with a second location of the second indicator.

  • Methods, Software and Devices for Managing Approval of a Proposed Contract With Multiple Decision Makers

    Methods, software, and devices for requesting approvals for a proposed contract from a plurality of hierarchical decision-makers are disclosed. A plurality of contract parameters of the proposed contract are received. Using the parameters, those decision-makers from whom approval of the proposed contract is required are automatically identified by comparing those parameters to stored approval criteria. An electronic representation of differences between the plurality of contract parameters and a prior-received contract parameters is generated. Identified decision-makers are arranged in a defined hierarchical order. The generated electronic representation of differences is electronically communication to the first identified decision-maker in the hierarchy, as ordered. Approval by the first identified decision-maker is received by electronic notification. Sending the generated electronic representation of differences and receiving approval are repeated for each subsequent decision-maker, as ordered. Ultimately, electronic notification of approval may be provided to at least one stakeholder.

  • Systems and Methods for Software Evaluation in a Cloud Computing Environment

    System and methods for software evaluation in a cloud computing environment are disclosed. In some implementations, a method includes: at a computer system, maintaining session information for a plurality of remote user sessions between one or more users and the computer system and formatting for display a plurality of graphical representations corresponding to the plurality of remote user sessions. A respective graphical representation in the plurality of graphical representations indicates a current or historical state of a corresponding remote user session, in the plurality of remote user sessions. The method further includes obtaining a user selection of a graphical representation in the plurality of graphical representations. In response to user selection of the graphical representation, a session is established between a client device associated with the user and the computer system and the session is initiated in the state as indicated in the graphical representation.

  • Customizing Code Modules of Software and Programmable Hardware for a Test Instrument

    Customizing a test instrument. A plurality of pairs of code modules may be provided. Each pair of code modules may include a first code module having program instructions for execution by a processor of the test instrument and a second code module for implementation on a programmable hardware element of the test instrument. For each pair of code modules, the first code module and the second code module may collectively implement a function in the test instrument. User input may be received specifying modification of a second code module of at least one of the plurality of pairs of code modules. Accordingly, a hardware description may be generated for the programmable hardware element of the test instrument based on the modified second code module.

  • AIRCRAFT SOFTWARE PART LIBRARY

    A computer implemented method, apparatus, and computer program product for managing aircraft software parts. An aircraft software part is received at a library. The received part is stored in the library with other aircraft software parts. A user interface is provided to manipulate the aircraft software parts. Responsive to receiving a user input from the user interface to uplink a selected aircraft software part to a target aircraft data processing system, a command is created to send the selected part to an aircraft in which the target aircraft data processing system is located. The uplink command is stored in a queue in the storage in the library. The uplink command is distributed to a proxy server application in response to a request for commands. Responsive to receiving a request from the proxy server application processing the stored uplink command, the selected part is sent to the proxy server application.

  • SOFTWARE APPLICATION DISTRIBUTION IN DOCUMENTS

    Concepts and technologies are described herein for distributing web-based software application extensions within documents. In accordance with some of the concepts and technologies disclosed herein, users that own web-based software application extensions or have trial access to web-based software application extensions can add them to documents. The users can then distribute the documents containing the web-based software application extensions to other users, who may or may not be licensed to use the web-based software application extensions. The documents can be distributed in any way that files are distributed. When a user receives a document containing a web-based software application extensions, the user can obtain trial rights to the web-based software application extensions or purchase the web-based software application extensions from without having to visit a virtual marketplace.

  • SOFTWARE APPLICATION DISTRIBUTION IN DOCUMENTS

    Concepts and technologies are described herein for distributing web-based software application extensions within documents. In accordance with some of the concepts and technologies disclosed herein, users that own web-based software application extensions or have trial access to web-based software application extensions can add them to documents. The users can then distribute the documents containing the web-based software application extensions to other users, who may or may not be licensed to use the web-based software application extensions. The documents can be distributed in any way that files are distributed. When a user receives a document containing a web-based software application extensions, the user can obtain trial rights to the web-based software application extensions or purchase the web-based software application extensions from without having to visit a virtual marketplace.

  • Model Elements in Software Tools as Automatons in a Software Customization System and Method

    Presented is a system and method for the integration of existing software development tools into a software customization system, where each software development tool has its own model of its software artifacts. The invention allows models in an external software development tool to become software artifacts within a software customization system, and also allows the model elements of the existing tools to become automatons.

  • SOFTWARE DEFINED NETWORKING PHOTONIC ROUTING SYSTEMS AND METHODS

    A network includes a plurality of interconnected nodes utilizing an all-broadcast architecture for a plurality of wavelengths therebetween; a routing protocol configured to compute a loop-free path through the plurality of interconnected nodes, wherein the loop-free path is computed for at least one wavelength of the plurality of wavelengths using routing constructs adapted to a photonic domain; and at least one blocking element configured to selectively block the at least one wavelength based on the computed loop-free path. A routing method photonic node are also disclosed.

  • Methods And Apparatus For Providing Predictive Analytics For Software Development

    Managing large software projects is a notoriously difficult task. It is very difficult to project how long it will take to design, develop, and test the software thoroughly enough before it can be shipped to customers. To help with the task of software development, an advanced predictive analytics system is introduced. The predictive analytics system extracts metrics on code complexity, code churn, new features, testing, and bug tracking from a software development project. These extracted metrics are then provided to predictive analysis engine. The predictive analysis engine processes the extracted metrics in view of historical software development experience collected in a representative model. The predictive analysis engine outputs useful predictions such as future bug discover rates, customer found defects, and the probability of hitting a schedule ship date with a desired quality level.

  • METHOD AND SYSTEM FOR PROVIDING SOFTWARE UPDATES TO LOCAL MACHINES

    In embodiments of the present invention improved capabilities are described for a updating software in a plurality of devices coupled to one another in a communicating relationship through a local network, the method comprising receiving a descriptor file for a software update at the first device from a remote source outside the local network, the descriptor file including a hash code for each of a plurality of update sub-files and an order for assembling the update sub-files into the software update, downloading the plurality of update sub-files to the first device from a remote source outside the local network until the sub-files identified in the descriptor file are present on the first device, where a presence of the sub-files is evaluated using the hash codes in the descriptor file, and broadcasting every one of the plurality of update sub-files from the first device to the number of other devices.

  • USING SOFTWARE INTERACTION INFORMATION

    Example embodiments of the present disclosure include one or more of a method, computing device, computer-readable medium, and system for using software interaction information. An example embodiment of a method may include providing a domain object using software operating on a computing device; and storing, in an interaction object provided by the software, user interaction information related to a user interaction relating to the domain object. The user interaction information may be analyzed, and feedback may be provided to a user based upon analyzing the user interaction information.

  • Methodology and Preferred Software that, together, Reduce the Effort required to Write and Maintain Operating Procedures for Manufacturing Plants and Oil and Gas Facilities

    A method for generating and maintaining procedures for plant operation the method comprising: a. Decomposing a plant into process units; b. Decomposing each process unit into equipment modules (high-level objects); c. Decomposing equipment modules into equipment units (low-level objects); d. Defining operational states for equipment modules and equipment units; e. Generating a procedures for changing operational states for equipment units; f. Generating a procedures for changing operational states for equipment modules; g. Encapsulating all the equipment units procedures and equipment modules procedures into process unit operations preferably in a computer database; h. Providing feedback for presentation of the operational procedures and state changing operating procedures from the preferred database to an operator upon request; i. Revising single equipment unit or equipment module operating procedure or state changing operating procedure upon request from the operator; wherein, the method allows the operator to receive a detailed description of an operating procedure for change of state of any process unit, equipment unit or equipment module in the plant from any state to any state.

  • EFFICIENT EXTRACTION OF SOFTWARE DEPENDENCIES FROM PROGRAM CODE

    Calls to stop functions are identified in a computer program file. The stop functions are functions that interact with external resources. Parameters of the calls to the stop functions that are references to the external resources are identified. An analysis is performed over the computer program file to find out possible values of the parameters of the calls.

  • NETWORK HARDWARE AND SOFTWARE UPGRADE RECOMMENDER

    Methods, systems and computer readable media for generating hardware and software upgrade recommendations for a managed network of devices are described.

  • PREDICTING SOFTWARE BUILD ERRORS

    Systems and methods for predicting a software build error are described herein. In one example, a method includes detecting a plurality of changes in software. The method also includes identifying a plurality of change lists, wherein a change list is identified for each of the plurality of changes in the software. Additionally, the method includes identifying a characteristic for each change list in the plurality of change lists. Furthermore, the method includes calculating a plurality of probabilities based at least in part on the characteristic of each of the plurality of change lists, wherein each of the probabilities indicates the likelihood of one of the plurality of change lists creating the software build error. The method also includes reporting the plurality of probabilities of the software build error.

  • METHOD, SYSTEM AND SOFTWARE ARRANGEMENT FOR RECONSTRUCTING FORMAL DESCRIPTIVE MODELS OF PROCESSES FROM FUNCTIONAL/MODAL DATA USING SUITABLE ONTOLOGY

    A method, system and software arrangement in accordance with an exemplary embodiment of the present invention are provided to extract descriptive narrative from numerical experimental data augmented with ontological controlled vocabulary. One exemplary application of such system, method and software arrangement is in organizing gene-expression time course data in terms of biological processes that may be activated and deactivated as the biological system responds to its normal or perturbed environment. The present invention may also have biological applications to drug-or-vaccine discovery, understanding behavior of a cell in an altered diseased state (e.g., cancer, neuro-degeneration or auto-immune disease, etc.), genetically modifying a natural wild-type organism, genetic-engineering, etc. Other exemplary applications may include understanding neural behavior, market behavior of a population of users interacting on the Internet, etc.

  • SYSTEM, SOFTWARE AND METHOD FOR SERVICE MANAGEMENT

    A system, software and a method are provided for management of service issues including knowledge articles, service designs, and performance metrics. Components are linked such that incremental real-time root cause analysis and problem solving may be provided. The system, software and method disclosed facilitate forensic analysis and techniques providing corrective re-design efforts to improve the service rather than short-term problem solving of reported service issues.

  • METHOD AND APPARATUS FOR SOFTWARE GPS RECEIVER

    A receiver architecture for processing spread spectrum signals. The receiver has an RF front end to receive and down convert a broadcast signal to an intermediate frequency carrier. The IF signal is digitized and provided to a processor (which may be a software-driven DSP, an ASIC or other embodiment) for processing. A given IF carrier is removed and the signal is low pass filtered. The signal is provided to a number of channels, each, for example, correspond to a unique transmitter. On each channel the sample rate is reduced to a predetermined fixed rate with timing mismatch compensated. The Doppler frequency shift, as estimated for the channel, is removed succeedingly. A locally generated copy of the spreading code used by the transmitter is applied to the carrier and Doppler removed signal at the predetermined fixed sample rate. The de-spread signal is used to provide estimates of the Doppler shift and for subsequent sample selection. Pseudo-range and delta pseudo-range estimates from each channel are used to estimate, for example, the receiver's position.

  • Method and System for Creating Software Defined Ordered Service Patterns in a Communications Network

    A software defined network service (SDNS) node for altering a logical flow of data packets in a network to accommodate predetermined ordered service chains, comprising a receiver configured to receive an encapsulated data packet comprising a tag via a encapsulated tunnel from another SDNS node, wherein the tag identifies an ordered service chain or a next hop in the ordered service chain, a processor coupled to the receiver and configured to decapsulate the encapsulated data packet, and a transmitter coupled to the processor and configured to forward the decapsulated data packet to a service device attached to the SDNS node when the processor determines, based on the tag, that a service on the service device should be applied to the data packet.

  • EXPERT SYSTEM FOR DETECTING SOFTWARE SECURITY THREATS

    An instance of a vulnerability risk management (VRM) module and a vulnerability management expert decision system (VMEDS) module are instantiated in a cloud. The VMEDS module imports scan results from a VRM vulnerability database and saves them as vulnerabilities to be reviewed in a VMEDS database. The VMEDS module converts vulnerabilities into facts. The VMEDS module builds a rule set in the knowledge base to verify whether certain vulnerabilities are false positives. Rules related to a vulnerability are received in plain English from a web-based front-end application. The VMEDS module tests each rule against all of the facts using the Rete algorithm. The VMEDS module executes the action associated with the rule derived from the Rete algorithm. The VMEDS module stores the results associated with the executing of the action in the VMEDS database and forwards the results to the VRM module.

  • Method and system of computer based and software directed educational therapy employing video games to treat the effects of dyslexia and reading disabilities

    A process and method for providing a dyslexic individual with prerequisite skills that must be in place prior to beginning the process of learning to read and general reading skills necessary in order to learn how to read are described herein. The software directed educational therapy of the embodied invention is provided using a computer or other device, in a game format that entertains and builds cognitive, phonological, encoding, decoding and comprehension skills. The embodied invention also directs and controls the users educational therapy by the construction of the games and restricting access to games only to users who have successfully completed earlier games in an area, access to levels to those who have successfully completed all previous games in a lower level providing high degree of likelihood of developing all required prerequisite and reading skills at the highest levels in the least amount of time and the lowest expense.

  • METHODS AND APPARATUS FOR PRESENTATION OF SOFTWARE AS A SERVICE APPLICATIONS

    Methods and apparatus are disclosed for flexible presentation of Software As A Service (SAAS) applications to one or more client devices such as multi-function devices (e.g., MFPs). A management system receives presentation layout information for subscribed SAAS applications from users and administrators, generates a menu of subscribed SAAS applications for presentation to a user on a display of the client device, and transmits the menu to a client device for presentation to the user on a display of the client device. The management system may also provide for user/administrator customization of the menu of applications available to users, and for revocation of applications by an administrator of the management system.

  • Methods and Software for Screening and Diagnosing Skin Lesions and Plant Diseases

    Provided herein are portable imaging systems, for example, a digital processor-implemented system for the identification and/or classification of an object of interest on a body, such as a human or plant body. The systems comprise a hand-held imaging device, such as a smart device, and a library of algorithms or modules that can be implemented thereon to process the imaged object, extract representative features therefrom and classify the object based on the representative features. Also provided are methods for the identifying or classifying an object of interest on a body that utilize the algorithms and an automated portable system configured to implement the same.

  • Verification module apparatus for debugging software and timing of an embedded processor design that exceeds the capacity of a single FPGA

    A plurality of Field Programmable Gate Arrays (FPGA), high performance transceivers, and memory devices provide a verification module for timing and state debugging of electronic circuit designs. Signal value compression circuits and gigabit transceivers embedded in each FPGA increase the fanout of each FPGA. Ethernet communication ports enable remote software debugging of processor instructions.

  • SOFTWARE INITIALIZATION OF USB DEVICES ON A SINGLE BUS

    A method of initializing programmable devices on a shared bus, comprises, on power up, loading control instructions on a processor from an attached tangible, non-transient computer-readable medium, automatically allowing a first programmable device on a common bus to exit its reset state and enter a read-to-program state as the computer system powers up, automatically holding a second programmable device on the common bus in its reset state, querying the common bus by the processor to identify the first programmable device, copying the contents of a program image file by the processor from the computer-readable medium across the common bus to the first programmable device, and once the first programmable device has been programmed with the contents of the program image file, signaling the first programmable device to release the reset hold on the second programmable device.