US20120216174A1 - Mechanism to support orphaned and partially configured objects - Google Patents

Mechanism to support orphaned and partially configured objects Download PDF

Info

Publication number
US20120216174A1
US20120216174A1 US13/459,936 US201213459936A US2012216174A1 US 20120216174 A1 US20120216174 A1 US 20120216174A1 US 201213459936 A US201213459936 A US 201213459936A US 2012216174 A1 US2012216174 A1 US 2012216174A1
Authority
US
United States
Prior art keywords
project
processor
version
user
orphaned
Prior art date
Legal status (The legal status 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 status listed.)
Abandoned
Application number
US13/459,936
Inventor
Lee Edward Lowry
Rajesh Vasudevan
Brent Thurgood
Ryan Cox
Zack Grossbart
William Street
Volker Gunnar Scheuber-Heinz
Stephen R. Carter
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple 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 Apple Inc filed Critical Apple Inc
Priority to US13/459,936 priority Critical patent/US20120216174A1/en
Publication of US20120216174A1 publication Critical patent/US20120216174A1/en
Assigned to CPTN HOLDINGS LLC reassignment CPTN HOLDINGS LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: NOVELL, INC.
Assigned to APPLE INC. reassignment APPLE INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CPTN HOLDINGS LLC
Abandoned legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06Q10/10Office automation; Time management
    • 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
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling

Definitions

  • a technical user may actually know the details for his/her module but for whatever reason may not want to provide the full details for that module. For example, the user may be in a rush or may have unresolved security issues that are legitimate concerns and therefore the user needs to hold off on fully defining the module within the modeling system.
  • mechanisms to support orphaned and partially configured objects are provided. More specifically, and in an embodiment, a method is provided for managing an orphaned object within a project environment.
  • a definition is received for an object; the definition permits configuration details of the object to be delayed and defined at a subsequent point in time.
  • the object is integrated into a project to which the object is associated when the configuration details are still undefined for the object. Also, other objects of the project are permitted to reference the object and process with dependencies to the object even when the configuration details remain undefined when these other objects process within the project.
  • FIG. 1 is a diagram of a method for managing an orphaned object within a project environment, according to an example embodiment.
  • FIG. 2 is a diagram of another method for managing an orphaned object within a project environment, according to an example embodiment.
  • FIG. 3 is a diagram of an orphaned object project management system, according to an example embodiment.
  • FIG. 4 is a diagram of another orphaned object project management system, according to an example embodiment.
  • a “resource” may include a user, content, a processing device, a node, a service, an application, a system, a schema definition, a directory, an operating system (OS), a file system, a data store, a database, a policy definition, a configuration definition, a file, a World-Wide Web (WWW) service, a WWW page, groups of users, combinations of these things, etc.
  • the terms “service,” “application,” and “system” may be used interchangeably herein and refer to a type of software resource that includes instructions, which when executed by a machine performs operations that change the state of the machine and that may produce output.
  • a “software module” is a particular type of resource that processes as instructions on a machine, such as a computer.
  • the phrase “software module” and the term “object” may be used interchangeably herein and below.
  • an object is a set of instructions implemented on a computer-readable storage medium that processes on a computer.
  • a “project” refers to the activity associated with an enterprise or government producing a good (product) or personal service (e.g., financial advice, etc.) for consumption in the marketplace.
  • the activity for the project is defined in various stages of the project's lifecycle, such as by way of example only project definition, project development, project testing, project release, etc.
  • a “project” is represented and electronically defined as a series of stages associated with the project's lifecycle. Each stage includes its own processing environment having its own or shared resources. So, a stage is represented and electronically defined as one or more resources and their relationships with other resources of the same stage or a different stage.
  • a project may also be viewed as a type of resource.
  • a “processing environment” refers to one or more physical processing devices organized within a local network. For example, several computers connected via a local area network (LAN) may collectively be viewed as a processing environment.
  • the processing environment also refers to software configurations of the physical processing devices, such as but not limited to operating system, file system, directory service, etc.
  • a single processing environment may be logically defined, such that it spans multiple different networks (e.g., multiple different LAN's, a LAN and a wide-area network (WAN), etc.).
  • a “project processing environment” is a processing environment in which any portion (resource) of a project processes within. So, some portions of a project may process within the project processing environment whereas other potions of the project use different processing environments.
  • Objects are shared, versioned, and managed via various projects and various processing environments within an enterprise. As will be described more completely herein and below, each object can be integrated and installed for use within a project processing environment even when that object is not fully defined and fully configured. Moreover, this can occur even when there are dependencies on objects that are not fully defined and configured.
  • FIG. 1 is a diagram of a method 100 for managing an orphaned object within a project environment, according to an example embodiment.
  • the method 100 (hereinafter “orphaned object project service”) is implemented as instructions in a machine-accessible and readable medium.
  • the instructions when executed by a machine (processor and memory enabled device, such as a computer, etc.) perform the processing depicted in the FIG. 1 .
  • the orphaned object project service is also operational over and processes within a network.
  • the network may be wired, wireless, or a combination of wired and wireless.
  • the orphaned object project service permits a software module represented as an object to be defined, partially and not completely configured, edited, and instantiated on a machine and processed within the context of a project.
  • the orphaned object project service also allows other project objects to process within the project even while the orphaned object continues to lack a complete description or configuration.
  • the orphaned object project service receives a definition for an orphaned object.
  • the definition alerts the orphaned object project service to the fact that the object supplied is to be designated an orphaned object because it lacks configuration details.
  • the configuration details are permitted to be received at a subsequent point in time during the lifecycle of a project to which the orphaned object is associated.
  • the definition is a stub or meta container definition for the orphaned object.
  • the orphaned object project service may generate instructions for the stub or meta container that sets environmental values or context.
  • methods of the orphaned object may be defined as null pointers, so they exist but have no information.
  • the orphaned object may be viewed as a top level of a building where the underlying floors are provided via the definition of the orphaned container definition. This permits high-level simulation within the project modeling environment without pre-defining lower level objects or floors of the building.
  • the orphaned object project service iteratively interacts with a user to receive the definition for the orphaned object, which lacks the configuration details. So, a user can determine how much detail to provide with the orphaned object but at least some details are left out; thus, making the definition associated with an object designated as an orphaned object because not all of its configuration details are supplied, at least initially, by the user.
  • the orphaned object project service can ask a series of initial questions such as who is the parent of the orphaned object being defined, what library contains the definition for the orphaned object, what container includes the definition for the orphaned object, etc. In response, the designer can simply check a box that indicates the designer is unsure or does not know.
  • the orphaned object project service receives the definition by identifying a prefix or suffix identifier for a file that defines the orphaned object.
  • the prefix or suffix tell the orphaned object project service that the object is to be loaded within the project without the configuration details using the stub or meta container definition. So, the orphaned object project service can iteratively receive the definition for the orphaned object as discussed at 111 or the orphaned object project service can receive the definition during a project load by identifying it as a special type of file to be loaded having a particular predefined prefix or suffix.
  • the orphaned object project service identifies a plurality of different processing contexts provided for the object with the received definition.
  • Some of the contexts include selective configuration details for fully deploying different instances of the orphaned object as a deployed instance. This is done by selectively using some configuration details supplied with the definition or subsequently supplied during the lifecycle of the project.
  • the definition for the orphaned object can include linkages to specific contexts.
  • Some of the contexts can be entirely undefined whereas others contexts include details to deploy the orphaned object.
  • a single generic orphaned object can be plugged in at run time and during the lifecycle of the project to multiple different contexts.
  • the orphaned object project service presents the orphaned object to a first user within a first one of the processing contexts as a high-level object lacking the configuration details and yet at the same time the same orphaned object is presented to a second user within a second processing context as a fully deployed object having the necessary configuration details for that second processing context.
  • the orphaned object can appear as orphaned in one processing context and at the same time appear as fully deployed or deployable in another context.
  • the orphaned object project service identifies a security limitation provided for the orphaned object within the definition.
  • the security limitation when satisfied during the lifecycle of the project permits the orphaned object project service to supply selective configuration details for deploying the orphaned object.
  • the orphaned object project service recognizes the security limitation as an identity for a request resource, such as user or automated service, etc.
  • the requesting resource makes a request to access the orphaned object during the lifecycle of the object.
  • the orphaned object project service integrates the orphaned object into the project to which it is associated via the definition. This occurs when the configuration details are still undefined for the orphaned object. In some cases as discussed above there may be some configuration details for some contexts supplied but the full configuration details are not supplied (undefined) when the orphaned object is loaded within the project.
  • the orphaned object project service permits other objects of the project to reference the object and process with dependencies to the orphaned object even when the configuration details remain undefined when these other objects process within the project. So, other objects that depend or reference the orphaned object can load and process with the stub or container definition of the orphaned object even when the configuration details remain undefined.
  • the orphaned object project service provides a mechanism for orphaned objects to be utilized even when they remain only partially or completely undefined. So, orphaned project objects don't have to have their parentage predefined within the project module.
  • the orphaned object can be created and operated upon during the lifecycle of the project. In some cases, dependent objects that depend from or make a reference to the orphaned object may not even realize that the orphaned object lacks detail or is just a stub or container.
  • the user can do so and in a manner that remains transparent to all other referring objects. This keeps things very clean in a team-enabled and version-controlled project environment because all updates that point to the orphaned object do not get affected or updated in any way and there is no risk of model integrity problems or additional performance problems for having to check in a sleuth of dependent files to reflect a web of relationships.
  • FIG. 2 is a diagram of another method 200 for managing an orphaned object within a project environment, according to an example embodiment.
  • the method 200 (hereinafter “project management service”) is implemented as instructions in a machine-accessible and readable medium. The instructions when executed by a machine perform the processing depicted in the FIG. 2 .
  • the project management service is also operational over and processes within a network.
  • the network may be wired, wireless, or a combination of wired and wireless.
  • the project management service represents another processing perspective to the orphaned object project service represented by the method 100 discussed above with the FIG. 1 .
  • the project management service loads first objects within a project processing environment for a project. These first objects are fully defined and deployable objects.
  • the project management service identifies at least one first object having an annotation to a second object (discussed below at 220 ).
  • the second object once it eventually acquires the complete definition provides details for migrating the first object to a different version (perhaps enhanced version) of that first object, for migrating the first object to a different processing environment, and/or for migrating the first object to a different project.
  • the second object is used to annotate features of the first object once those features are available or become known.
  • the project management service permits a second object to load for the project within the project processing environment.
  • the second object lacks a complete definition.
  • some of the first objects include a dependency to or reference the second object. So, the project management service loads a second object as an orphaned object that lacks all its configuration details and permits this to occur even when the first objects rely on or reference that second object.
  • the project management service allows a first version of the second object to be subsequently defined during the lifecycle of the project with a first version of the complete definition. This is done by a first user.
  • the project management service also allows a second version of the second object to be subsequently defined during the lifecycle of the project via a second version of the complete definition. This is done via a second user.
  • the first user can then use the first version of the now deployed second object to simulate actions of the second user, and the second user can use the second version of the second object to simulate actions of the first user.
  • Each user (such as a developer) can continue doing his/her work for the project using the first objects and use his/her own version of the second object simulate actions to which they depend upon from the other user (developer).
  • the project management service iteratively, during the lifecycle of the project, receives the complete definition for the second object in a piecemeal fashion as details are provided by resources (users, automated applications, other objects, etc.). This occurs while the project develops and as stated during the lifecycle of the project.
  • the project management service subsequently receives the complete details for the second object.
  • the complete details provide alternative configurations for the second object so as to permit the second object to simulate different aspects of the project and/or different aspects of the second object within an entirely different project.
  • the project management service processes the first objects within the project processing environment for the project while the second object lacks the complete definition. So, as described in detail above the second object is an orphaned object, within at least some project contexts.
  • the project management service allows a third object to load for the project within the project processing environment.
  • the third object may be referred to as an annotation object in that it includes annotations to the first object or the second object.
  • the annotations define details for moving the first objects or the second object to an entirely different processing environment.
  • the project management service identifies within the annotations details for moving the first objects or the second object to an entirely different project.
  • an annotation object can include instructions (details) that migrate the first objects or the second object to different processing environments for a same project or to different projects entirely.
  • the annotation object can provide interoperability for intra and inter project and processing environment capabilities.
  • FIG. 3 is a diagram of an orphaned object project management system 300 , according to an example embodiment.
  • the orphaned object project management system 300 is implemented as instructions on or within a computer-readable storage medium and a machine-accessible and readable medium. The instructions when executed by a machine (computer, etc.) perform various aspects of the processing depicted with respect to the method 100 of the FIG. 1 and the method 200 of the FIG. 2 .
  • the orphaned object project management system 300 is also operational over a network and the network may be wired, wireless, or a combination of wired and wireless.
  • the orphaned object project management system 300 includes an orphaned object 301 and a project manager 302 . Each of these components and their interactions with one another will now be discussed in turn.
  • the orphaned object 301 is implemented in a machine-accessible and a computer-readable storage readable medium and is to process on a machine within of the network. Some example aspects of the orphaned object 301 were presented above with reference to the methods 100 and 200 of the FIGS. 1 and 2 , respectively.
  • the orphaned object 301 includes a stub definition that just partially defines the orphaned object and that lacks complete configuration details for the orphaned object 301 .
  • the stub definition includes some complete configuration details for specific processing contexts that become known during the processing of the project (project lifecycle).
  • the project manager 302 is implemented in a machine-accessible and computer-readable storage medium and is to process on the same machine as the orphaned object 301 or an entirely different machine of the network. Example processing associated with the project manager 302 was presented in detail above with reference to the methods 100 and 200 of the FIGS. 1 and 2 , respectively.
  • the project manager 302 permits the orphaned object 301 to process within a project. That project has second objects that reference or include a dependency to the orphaned object 301 . So, the second objects can process within the project even when they reference or depend in some aspects on the orphaned object 301 .
  • the stub definition is an annotation to one of the second objects.
  • the annotation once the complete configuration details are subsequently supplied provide instructions for migrating that second object to a different version of the second object, for migrating that second object to a different processing environment, and/or for migrating that second object to a different project. This scenario was discussed in detail above with reference to the method 200 of the FIG. 2 .
  • a user or an automated application subsequently supplies the complete configuration details for the orphaned object 301 to replace the stub definition unbeknownst to the second objects and during the lifecycle of the project.
  • the second objects are not aware that the orphaned object 301 lack configuration details and when those details become available they can be defined and immediately used by the second objects.
  • the second objects can be completely unaware of the lack of complete configuration details possessed by the orphaned object 301 while those second objects continue to process within the project.
  • the second objects use the orphaned object 301 via the stub definition to define their place within a hierarchy of dependencies for the project.
  • the second objects process within the project even without the complete configuration details being known for the hierarchy.
  • FIG. 4 is a diagram of another orphaned object project management system 400 , according to an example embodiment.
  • the orphaned object project management system 400 is implemented as instructions on or within a machine-accessible and computer-readable storage medium.
  • the instructions when executed by a machine (such as a computer) perform various aspects of the processing depicted with respect to the methods 100 and 200 of the FIGS. 1 and 2 , respectively, and processing associated with the system 300 of the FIG. 3 .
  • the orphaned object project management system 400 is also operational over a network and the network may be wired, wireless, or a combination of wired and wireless.
  • the orphaned object project management system 400 includes an orphaned object interface 401 and a project loader 402 . Each of these components and their interactions with one another will now be discussed in turn.
  • the orphaned object interface 401 is implemented in a machine-accessible and computer-readable storage medium and is to process on a machine within the network.
  • the orphaned object interface 401 is used to interactively acquire an orphaned object from a user.
  • the orphaned object lacks a complete configuration and the orphaned object interface 401 associates the orphaned object with a project. So, the user defines a placeholder object missing configuration details via the orphaned object interface 401 . This is useful for non-technical staff, such as designers, architects, etc.
  • the orphaned object interface 401 acquires the orphaned object as a container object that provides a context within the project for other object of the project when those other objects process within the project.
  • the orphaned object interface 401 permits the user to provide multiple contexts for the orphaned object and alternative configurations for each context. Examples of this were provided in detail above with reference to the method 200 of the FIG. 2 .
  • the orphaned object interface 401 permits the user to supply the orphaned object as an annotation.
  • the annotation is instructions for migrating one or more of the other project resources to different versions, different processing environments, and/or different projects. Again, example details associated with this scenario was provided in detail above with reference to the method 200 of the FIG. 2 .
  • the project loader 402 is implemented in a machine-accessible and computer-readable storage medium and is to process on the same machine as the orphaned object interface 401 or an entirely different machine of the network. Example processing associated with the project loader was described in various aspects above with reference to the methods 100 and 200 of the FIGS. 1 and 2 , respectively, and with respect to the system 300 of the FIG. 3 .
  • the project loader 402 acquires the orphaned object along with other objects for the project and loads them for processing even when the other objects reference or include a dependency to the orphaned object.
  • the project loader 402 detects via an event raised from the orphaned object interface 401 when the user has subsequently supplied the complete configuration for the orphaned object. Further, the project loader 402 dynamically configures the orphaned object within the project while the other objects continue to process.

Abstract

Mechanisms to support orphaned and partially configured objects are provided. A project includes a variety of objects. At least one object is designated as an orphaned object. The orphaned object lacks complete configuration details. Other objects of the project depend on the orphaned object and yet the other objects can load and process within the project as if the orphaned object was fully configured and available.

Description

    RELATED APPLICATIONS
  • The present application is a continuation of, claims priority to, and is co-pending with U.S. application Ser. No. 12/123,035 entitled: “Mechanism to Support Orphaned and Partially Configured Objects,” filed on May 19, 2008, which presently stands allowed and the disclosure of which is incorporated by reference herein in its entirety.
  • BACKGROUND
  • Collaborative environments are becoming pervasive in the industry. One area of collaboration that is critical to an enterprise is that which is associated with new software development. During software development a variety of different developers can be working on the same or dependent modules at the same time and in entirely different processing environments. A variety of different project life-cycle and version control systems attempt to coordinate project activities in scenarios such as this.
  • One issue with traditional software modeling and software development environments is that these techniques force the user to define modules before the modules can be used or manipulated. At first blush, these approaches would seem obvious, but it is a limitation that excludes many valuable non-technical staff (e.g., designers, architects, etc.) from effectively participating in project development projects via automated processes.
  • In other words, traditional project modeling systems have not been supportive of high-level conceptual work. These systems basically force users to fill in all the details for modules before the modules can be used or even placed in these systems. The end result is that the users of these systems tend to be limited to very technical staff (e.g., developers, administrators, etc.) of enterprises. The module details are usually not known or even a concern of non-technical staff so these systems tend to exclude any effective participation of the non-technical staff in the automated project development.
  • Essentially, with traditional modeling systems work can be stymied until modules for a project are fully defined within the modeling environment. This also effects technical staff because one developer may be waiting on another developer for a module to be defined before the waiting developer can complete his/her piece of the project.
  • In still another situation, a technical user may actually know the details for his/her module but for whatever reason may not want to provide the full details for that module. For example, the user may be in a rush or may have unresolved security issues that are legitimate concerns and therefore the user needs to hold off on fully defining the module within the modeling system.
  • Thus, improved mechanisms are needed for managing modules within a project-based environment.
  • SUMMARY
  • In various embodiments, mechanisms to support orphaned and partially configured objects are provided. More specifically, and in an embodiment, a method is provided for managing an orphaned object within a project environment. A definition is received for an object; the definition permits configuration details of the object to be delayed and defined at a subsequent point in time. The object is integrated into a project to which the object is associated when the configuration details are still undefined for the object. Also, other objects of the project are permitted to reference the object and process with dependencies to the object even when the configuration details remain undefined when these other objects process within the project.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a diagram of a method for managing an orphaned object within a project environment, according to an example embodiment.
  • FIG. 2 is a diagram of another method for managing an orphaned object within a project environment, according to an example embodiment.
  • FIG. 3 is a diagram of an orphaned object project management system, according to an example embodiment.
  • FIG. 4 is a diagram of another orphaned object project management system, according to an example embodiment.
  • DETAILED DESCRIPTION
  • A “resource” may include a user, content, a processing device, a node, a service, an application, a system, a schema definition, a directory, an operating system (OS), a file system, a data store, a database, a policy definition, a configuration definition, a file, a World-Wide Web (WWW) service, a WWW page, groups of users, combinations of these things, etc. The terms “service,” “application,” and “system” may be used interchangeably herein and refer to a type of software resource that includes instructions, which when executed by a machine performs operations that change the state of the machine and that may produce output.
  • A “software module” is a particular type of resource that processes as instructions on a machine, such as a computer. The phrase “software module” and the term “object” may be used interchangeably herein and below. Thus, an object is a set of instructions implemented on a computer-readable storage medium that processes on a computer.
  • A “project” refers to the activity associated with an enterprise or government producing a good (product) or personal service (e.g., financial advice, etc.) for consumption in the marketplace. The activity for the project is defined in various stages of the project's lifecycle, such as by way of example only project definition, project development, project testing, project release, etc. Thus, a “project” is represented and electronically defined as a series of stages associated with the project's lifecycle. Each stage includes its own processing environment having its own or shared resources. So, a stage is represented and electronically defined as one or more resources and their relationships with other resources of the same stage or a different stage. A project may also be viewed as a type of resource.
  • A “processing environment” refers to one or more physical processing devices organized within a local network. For example, several computers connected via a local area network (LAN) may collectively be viewed as a processing environment. The processing environment also refers to software configurations of the physical processing devices, such as but not limited to operating system, file system, directory service, etc. A single processing environment may be logically defined, such that it spans multiple different networks (e.g., multiple different LAN's, a LAN and a wide-area network (WAN), etc.).
  • A “project processing environment” is a processing environment in which any portion (resource) of a project processes within. So, some portions of a project may process within the project processing environment whereas other potions of the project use different processing environments.
  • Objects are shared, versioned, and managed via various projects and various processing environments within an enterprise. As will be described more completely herein and below, each object can be integrated and installed for use within a project processing environment even when that object is not fully defined and fully configured. Moreover, this can occur even when there are dependencies on objects that are not fully defined and configured.
  • Various embodiments of this invention can be implemented in existing network architectures, security systems, data centers, and/or communication devices. Any particular architectural layout or implementation presented herein is provided for purposes of illustration and comprehension only and is not intended to limit aspects or embodiments of the invention.
  • It is within this context, that various embodiments of the invention are now presented with reference to the FIGS. 1-4.
  • FIG. 1 is a diagram of a method 100 for managing an orphaned object within a project environment, according to an example embodiment. The method 100 (hereinafter “orphaned object project service”) is implemented as instructions in a machine-accessible and readable medium. The instructions when executed by a machine (processor and memory enabled device, such as a computer, etc.) perform the processing depicted in the FIG. 1. The orphaned object project service is also operational over and processes within a network. The network may be wired, wireless, or a combination of wired and wireless.
  • As will be more fully described herein and below, the orphaned object project service permits a software module represented as an object to be defined, partially and not completely configured, edited, and instantiated on a machine and processed within the context of a project. The orphaned object project service also allows other project objects to process within the project even while the orphaned object continues to lack a complete description or configuration.
  • At 110, the orphaned object project service receives a definition for an orphaned object. The definition alerts the orphaned object project service to the fact that the object supplied is to be designated an orphaned object because it lacks configuration details. The configuration details are permitted to be received at a subsequent point in time during the lifecycle of a project to which the orphaned object is associated.
  • Essentially, the definition is a stub or meta container definition for the orphaned object. The orphaned object project service may generate instructions for the stub or meta container that sets environmental values or context. In some cases, methods of the orphaned object may be defined as null pointers, so they exist but have no information.
  • Conceptually, the orphaned object may be viewed as a top level of a building where the underlying floors are provided via the definition of the orphaned container definition. This permits high-level simulation within the project modeling environment without pre-defining lower level objects or floors of the building.
  • According to an embodiment, at 111, the orphaned object project service iteratively interacts with a user to receive the definition for the orphaned object, which lacks the configuration details. So, a user can determine how much detail to provide with the orphaned object but at least some details are left out; thus, making the definition associated with an object designated as an orphaned object because not all of its configuration details are supplied, at least initially, by the user. As an example, consider a designer interacting with the orphaned object project service, the orphaned object project service can ask a series of initial questions such as who is the parent of the orphaned object being defined, what library contains the definition for the orphaned object, what container includes the definition for the orphaned object, etc. In response, the designer can simply check a box that indicates the designer is unsure or does not know.
  • In an embodiment, at 112, the orphaned object project service receives the definition by identifying a prefix or suffix identifier for a file that defines the orphaned object. The prefix or suffix tell the orphaned object project service that the object is to be loaded within the project without the configuration details using the stub or meta container definition. So, the orphaned object project service can iteratively receive the definition for the orphaned object as discussed at 111 or the orphaned object project service can receive the definition during a project load by identifying it as a special type of file to be loaded having a particular predefined prefix or suffix.
  • In some circumstances, at 113, the orphaned object project service identifies a plurality of different processing contexts provided for the object with the received definition. Some of the contexts include selective configuration details for fully deploying different instances of the orphaned object as a deployed instance. This is done by selectively using some configuration details supplied with the definition or subsequently supplied during the lifecycle of the project. Essentially, the definition for the orphaned object can include linkages to specific contexts. Some of the contexts can be entirely undefined whereas others contexts include details to deploy the orphaned object. Thus, a single generic orphaned object can be plugged in at run time and during the lifecycle of the project to multiple different contexts.
  • Continuing with the embodiment at 113 and at 114, the orphaned object project service presents the orphaned object to a first user within a first one of the processing contexts as a high-level object lacking the configuration details and yet at the same time the same orphaned object is presented to a second user within a second processing context as a fully deployed object having the necessary configuration details for that second processing context. Thus, the orphaned object can appear as orphaned in one processing context and at the same time appear as fully deployed or deployable in another context.
  • In an embodiment, at 115, the orphaned object project service identifies a security limitation provided for the orphaned object within the definition. The security limitation when satisfied during the lifecycle of the project permits the orphaned object project service to supply selective configuration details for deploying the orphaned object.
  • In a variation on the embodiment at 115 and at 116, the orphaned object project service recognizes the security limitation as an identity for a request resource, such as user or automated service, etc. The requesting resource makes a request to access the orphaned object during the lifecycle of the object.
  • At 120, the orphaned object project service integrates the orphaned object into the project to which it is associated via the definition. This occurs when the configuration details are still undefined for the orphaned object. In some cases as discussed above there may be some configuration details for some contexts supplied but the full configuration details are not supplied (undefined) when the orphaned object is loaded within the project.
  • At 130, the orphaned object project service permits other objects of the project to reference the object and process with dependencies to the orphaned object even when the configuration details remain undefined when these other objects process within the project. So, other objects that depend or reference the orphaned object can load and process with the stub or container definition of the orphaned object even when the configuration details remain undefined.
  • The orphaned object project service provides a mechanism for orphaned objects to be utilized even when they remain only partially or completely undefined. So, orphaned project objects don't have to have their parentage predefined within the project module. The orphaned object can be created and operated upon during the lifecycle of the project. In some cases, dependent objects that depend from or make a reference to the orphaned object may not even realize that the orphaned object lacks detail or is just a stub or container.
  • At any point in time during the lifecycle of the project and when the user is ready to define the proper parentage for an object, the user can do so and in a manner that remains transparent to all other referring objects. This keeps things very clean in a team-enabled and version-controlled project environment because all updates that point to the orphaned object do not get affected or updated in any way and there is no risk of model integrity problems or additional performance problems for having to check in a sleuth of dependent files to reflect a web of relationships.
  • FIG. 2 is a diagram of another method 200 for managing an orphaned object within a project environment, according to an example embodiment. The method 200 (hereinafter “project management service”) is implemented as instructions in a machine-accessible and readable medium. The instructions when executed by a machine perform the processing depicted in the FIG. 2. The project management service is also operational over and processes within a network. The network may be wired, wireless, or a combination of wired and wireless.
  • The project management service represents another processing perspective to the orphaned object project service represented by the method 100 discussed above with the FIG. 1.
  • At 210, the project management service loads first objects within a project processing environment for a project. These first objects are fully defined and deployable objects.
  • In an embodiment, at 211, the project management service identifies at least one first object having an annotation to a second object (discussed below at 220). The second object once it eventually acquires the complete definition provides details for migrating the first object to a different version (perhaps enhanced version) of that first object, for migrating the first object to a different processing environment, and/or for migrating the first object to a different project. Thus, the second object is used to annotate features of the first object once those features are available or become known.
  • At 220, the project management service permits a second object to load for the project within the project processing environment. The second object lacks a complete definition. Moreover, some of the first objects include a dependency to or reference the second object. So, the project management service loads a second object as an orphaned object that lacks all its configuration details and permits this to occur even when the first objects rely on or reference that second object.
  • According to an embodiment, at 221, the project management service allows a first version of the second object to be subsequently defined during the lifecycle of the project with a first version of the complete definition. This is done by a first user. The project management service also allows a second version of the second object to be subsequently defined during the lifecycle of the project via a second version of the complete definition. This is done via a second user. The first user can then use the first version of the now deployed second object to simulate actions of the second user, and the second user can use the second version of the second object to simulate actions of the first user. Each user (such as a developer) can continue doing his/her work for the project using the first objects and use his/her own version of the second object simulate actions to which they depend upon from the other user (developer).
  • In an embodiment, at 222, the project management service iteratively, during the lifecycle of the project, receives the complete definition for the second object in a piecemeal fashion as details are provided by resources (users, automated applications, other objects, etc.). This occurs while the project develops and as stated during the lifecycle of the project.
  • In another situation, at 223, the project management service subsequently receives the complete details for the second object. The complete details provide alternative configurations for the second object so as to permit the second object to simulate different aspects of the project and/or different aspects of the second object within an entirely different project.
  • At 230, the project management service processes the first objects within the project processing environment for the project while the second object lacks the complete definition. So, as described in detail above the second object is an orphaned object, within at least some project contexts.
  • According to an embodiment, at 240, the project management service allows a third object to load for the project within the project processing environment. The third object may be referred to as an annotation object in that it includes annotations to the first object or the second object. The annotations define details for moving the first objects or the second object to an entirely different processing environment.
  • Continuing with the embodiment at 240 and at 241, the project management service identifies within the annotations details for moving the first objects or the second object to an entirely different project.
  • So, the embodiments at 240 and 241 demonstrate that an annotation object can include instructions (details) that migrate the first objects or the second object to different processing environments for a same project or to different projects entirely. Thus, the annotation object can provide interoperability for intra and inter project and processing environment capabilities.
  • FIG. 3 is a diagram of an orphaned object project management system 300, according to an example embodiment. The orphaned object project management system 300 is implemented as instructions on or within a computer-readable storage medium and a machine-accessible and readable medium. The instructions when executed by a machine (computer, etc.) perform various aspects of the processing depicted with respect to the method 100 of the FIG. 1 and the method 200 of the FIG. 2. The orphaned object project management system 300 is also operational over a network and the network may be wired, wireless, or a combination of wired and wireless.
  • The orphaned object project management system 300 includes an orphaned object 301 and a project manager 302. Each of these components and their interactions with one another will now be discussed in turn.
  • The orphaned object 301 is implemented in a machine-accessible and a computer-readable storage readable medium and is to process on a machine within of the network. Some example aspects of the orphaned object 301 were presented above with reference to the methods 100 and 200 of the FIGS. 1 and 2, respectively.
  • The orphaned object 301 includes a stub definition that just partially defines the orphaned object and that lacks complete configuration details for the orphaned object 301.
  • In an embodiment, the stub definition includes some complete configuration details for specific processing contexts that become known during the processing of the project (project lifecycle).
  • The project manager 302 is implemented in a machine-accessible and computer-readable storage medium and is to process on the same machine as the orphaned object 301 or an entirely different machine of the network. Example processing associated with the project manager 302 was presented in detail above with reference to the methods 100 and 200 of the FIGS. 1 and 2, respectively.
  • The project manager 302 permits the orphaned object 301 to process within a project. That project has second objects that reference or include a dependency to the orphaned object 301. So, the second objects can process within the project even when they reference or depend in some aspects on the orphaned object 301.
  • In some cases, the stub definition is an annotation to one of the second objects. The annotation once the complete configuration details are subsequently supplied provide instructions for migrating that second object to a different version of the second object, for migrating that second object to a different processing environment, and/or for migrating that second object to a different project. This scenario was discussed in detail above with reference to the method 200 of the FIG. 2.
  • According to an embodiment, a user or an automated application subsequently supplies the complete configuration details for the orphaned object 301 to replace the stub definition unbeknownst to the second objects and during the lifecycle of the project. Thus, the second objects are not aware that the orphaned object 301 lack configuration details and when those details become available they can be defined and immediately used by the second objects. In fact, the second objects can be completely unaware of the lack of complete configuration details possessed by the orphaned object 301 while those second objects continue to process within the project.
  • In another case, the second objects use the orphaned object 301 via the stub definition to define their place within a hierarchy of dependencies for the project. The second objects process within the project even without the complete configuration details being known for the hierarchy.
  • FIG. 4 is a diagram of another orphaned object project management system 400, according to an example embodiment. The orphaned object project management system 400 is implemented as instructions on or within a machine-accessible and computer-readable storage medium. The instructions when executed by a machine (such as a computer) perform various aspects of the processing depicted with respect to the methods 100 and 200 of the FIGS. 1 and 2, respectively, and processing associated with the system 300 of the FIG. 3. The orphaned object project management system 400 is also operational over a network and the network may be wired, wireless, or a combination of wired and wireless.
  • The orphaned object project management system 400 includes an orphaned object interface 401 and a project loader 402. Each of these components and their interactions with one another will now be discussed in turn.
  • The orphaned object interface 401 is implemented in a machine-accessible and computer-readable storage medium and is to process on a machine within the network.
  • The orphaned object interface 401 is used to interactively acquire an orphaned object from a user. The orphaned object lacks a complete configuration and the orphaned object interface 401 associates the orphaned object with a project. So, the user defines a placeholder object missing configuration details via the orphaned object interface 401. This is useful for non-technical staff, such as designers, architects, etc.
  • According to an embodiment, the orphaned object interface 401 acquires the orphaned object as a container object that provides a context within the project for other object of the project when those other objects process within the project.
  • In another situation, the orphaned object interface 401 permits the user to provide multiple contexts for the orphaned object and alternative configurations for each context. Examples of this were provided in detail above with reference to the method 200 of the FIG. 2.
  • In still another case, the orphaned object interface 401 permits the user to supply the orphaned object as an annotation. The annotation is instructions for migrating one or more of the other project resources to different versions, different processing environments, and/or different projects. Again, example details associated with this scenario was provided in detail above with reference to the method 200 of the FIG. 2.
  • The project loader 402 is implemented in a machine-accessible and computer-readable storage medium and is to process on the same machine as the orphaned object interface 401 or an entirely different machine of the network. Example processing associated with the project loader was described in various aspects above with reference to the methods 100 and 200 of the FIGS. 1 and 2, respectively, and with respect to the system 300 of the FIG. 3.
  • The project loader 402 acquires the orphaned object along with other objects for the project and loads them for processing even when the other objects reference or include a dependency to the orphaned object.
  • According to an embodiment, the project loader 402 detects via an event raised from the orphaned object interface 401 when the user has subsequently supplied the complete configuration for the orphaned object. Further, the project loader 402 dynamically configures the orphaned object within the project while the other objects continue to process.
  • The above description is illustrative, and not restrictive. Many other embodiments will be apparent to those of skill in the art upon reviewing the above description. The scope of embodiments should therefore be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.
  • The Abstract is provided to comply with 37 C.F.R. §1.72(b) and will allow the reader to quickly ascertain the nature and gist of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims.
  • In the foregoing description of the embodiments, various features are grouped together in a single embodiment for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting that the claimed embodiments have more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus the following claims are hereby incorporated into the Description of the Embodiments, with each claim standing on its own as a separate exemplary embodiment.

Claims (20)

1. A machine implemented method residing as executable instructions in a non-transitory computer-readable storage medium for execution on a processor, comprising:
deploying, by the processor, an object to a project where the object includes configuration details that are delayed and defined at a later point in time;
presenting, by the processor the object to a first user in a first processing context and showing that first user the object lacking the configuration details; and
simultaneously presenting, by the processor, the object to a second user in a second processing context as a fully developed object with the configuration details configured in the object.
2. The method of claim 1 further comprising, interacting, by the processor, with a third user to apply selective aspects of the configuration details to a third processing context.
3. The method of claim 1 further comprising, allowing, by the processor, additional objects within the project to reference the object even in processing contexts where the object remains undefined with unapplied configuration details.
4. The method of claim 1, wherein deploying further includes interactively receiving the configuration details from a third user.
5. The method of claim 1, wherein deploying further includes integrating the object in an undefined state into the project.
6. The method of claim 1, wherein permitting further includes presenting the object to the first user as a high-level object that is not activated.
7. The method of claim 1 further comprising, annotating, by the processor, the object to include specific details for deploying the object to the first processing context and the second processing context.
8. A machine implemented method residing as executable instructions in a non-transitory computer-readable storage medium for execution on a processor, comprising:
loading, by the processor, a first object within a project processing environment, the first object lacks a complete definition and the project processing environment includes a second object having a complete definition that references the first object;
configuring, by the processor, within the project processing environment a first version of the first object based on a first complete definition supplied by a first user;
configuring, by the processor, within the project processing environment a second version of the first object based on a second complete definition supplied by a second user; and
using, by the processor, within the project processing environment the first version of the first object to simulate first actions by the second user on the second object and using within the project processing environment the second version of the first object to simulate second actions by the first user on the second object.
9. The method of claim 8 further comprising, annotating, by the processor, a third object that defines details for moving the second object to a different processing environment.
10. The method of claim 9, wherein annotating further includes using the details for moving the first version of the first object, the second version of the first object, and the second object to a different project.
11. The method of claim 8 further comprising, acquiring, by the processor, annotations for the second object that provides details for migrating the first object along with the first version and the second version of the first object to a different processing environment.
12. The method of claim 8 further comprising, receiving, by the processor, details for the first version and the second version of the first object in an interactive and piecemeal fashion from the first user and the second user.
13. The method of claim 8 further comprising, receiving, by the processor, the complete definition having alternative configurations for second object.
14. The method of claim 13, wherein receiving further includes obtaining the complete definition over a lifecycle for a project associated with the project processing environment.
15. A machine implemented method residing as executable instructions in a non-transitory computer-readable storage medium for execution on a processor, comprising:
loading, by the processor, a first object to a project processing environment of a project that lacks configuration details and is deactivated, wherein a second object is active and includes a reference to the first object;
subsequently permitting, by the processor different versions of the first object to be dynamically instantiated within the project; and
simultaneously presenting, by the processor, the different versions of the first object to different users, wherein at least one version lacks the configuration details and is deactivated.
16. The system of claim 15 further comprising, acquiring, by the processor, a first version of the configuration details for a first version of the first object via annotations associated with the second object when the reference is attempted to be activated from the second object.
17. The system of claim 15 further comprising, acquiring, by the processor, at least one version of the configuration details by interacting with a particular user.
18. The system of claim 15 further comprising, processing, by the processor, the different versions of the first object to simulate different aspects of the second object.
19. The system of claim 15 further comprising, permitting, via the processor, the second object to execute in the project processing environment and acquire different versions of the configuration details for the first object in a piecemeal fashion and over a lifecycle of the project.
20. The system of claim 15 further comprising, acquiring, by the processor, annotations from the second object the annotations defining how to migrate the second object and the different versions of the first object to different projects and different project processing environments.
US13/459,936 2008-05-19 2012-04-30 Mechanism to support orphaned and partially configured objects Abandoned US20120216174A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/459,936 US20120216174A1 (en) 2008-05-19 2012-04-30 Mechanism to support orphaned and partially configured objects

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/123,035 US8191036B2 (en) 2008-05-19 2008-05-19 Mechanism to support orphaned and partially configured objects
US13/459,936 US20120216174A1 (en) 2008-05-19 2012-04-30 Mechanism to support orphaned and partially configured objects

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US12/123,035 Continuation US8191036B2 (en) 2008-05-19 2008-05-19 Mechanism to support orphaned and partially configured objects

Publications (1)

Publication Number Publication Date
US20120216174A1 true US20120216174A1 (en) 2012-08-23

Family

ID=41317356

Family Applications (2)

Application Number Title Priority Date Filing Date
US12/123,035 Expired - Fee Related US8191036B2 (en) 2008-05-19 2008-05-19 Mechanism to support orphaned and partially configured objects
US13/459,936 Abandoned US20120216174A1 (en) 2008-05-19 2012-04-30 Mechanism to support orphaned and partially configured objects

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US12/123,035 Expired - Fee Related US8191036B2 (en) 2008-05-19 2008-05-19 Mechanism to support orphaned and partially configured objects

Country Status (1)

Country Link
US (2) US8191036B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9235390B1 (en) * 2008-03-31 2016-01-12 Symantec Corporation Application optimization for use based on feature popularity
US20120278366A1 (en) * 2011-04-29 2012-11-01 Siemens Product Lifecycle Management Software Inc. Creation and use of orphan objects

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020069399A1 (en) * 1999-08-16 2002-06-06 Z-Force Corporation System of reusable software parts and methods of use
US20020188595A1 (en) * 2001-03-23 2002-12-12 Mark Underseth System and method for automatically generating code templates for communication via a predefined communication interface
US20030056195A1 (en) * 2001-07-19 2003-03-20 Hunt Joseph R. Code generator
US20030093551A1 (en) * 2001-10-17 2003-05-15 Graham Taylor Adaptive software interface
US20040064825A1 (en) * 2002-09-30 2004-04-01 Timothy Lim Method and system for object system interoperability
US20040103393A1 (en) * 2001-07-17 2004-05-27 Reddy Sreedhar Sannareddy Method and apparatus for versioning and configuration management of object models
US20040148586A1 (en) * 2002-11-14 2004-07-29 Sap Ag Modeling system for graphic user interface
US20040205090A1 (en) * 1994-03-15 2004-10-14 Kabushiki Kaisha Toshiba File editing system and shared file editing system with file content secrecy, file version management, and asynchronous editing
US20050086384A1 (en) * 2003-09-04 2005-04-21 Johannes Ernst System and method for replicating, integrating and synchronizing distributed information
US20050203969A1 (en) * 2004-03-15 2005-09-15 Oki Electric Industry Co., Ltd. Version management system and version management method for content delivery and management
US20080263503A1 (en) * 2007-04-20 2008-10-23 Sap Ag System, method, and software for facilitating business object development testing
US20120166574A1 (en) * 2010-12-27 2012-06-28 Limelight Networks, Inc. Partial object caching
US20120203585A1 (en) * 2011-02-03 2012-08-09 Ibm Corporation Systems and methods for generating missing rules matching a minimal set of objects

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69230452T2 (en) * 1991-08-19 2000-08-24 Sun Microsystems Inc Change control method and apparatus in multiple development environments
US5873097A (en) * 1993-05-12 1999-02-16 Apple Computer, Inc. Update mechanism for computer storage container manager
US5778227A (en) * 1995-08-01 1998-07-07 Intergraph Corporation System for adding attributes to an object at run time in an object oriented computer environment
US6275976B1 (en) * 1996-03-15 2001-08-14 Joseph M. Scandura Automated method for building and maintaining software including methods for verifying that systems are internally consistent and correct relative to their specifications
US6742175B1 (en) * 1998-10-13 2004-05-25 Codagen Technologies Corp. Component-based source code generator
US6298481B1 (en) * 1998-10-30 2001-10-02 Segasoft, Inc. System for modifying the functionality of compiled computer code at run-time
US6256676B1 (en) * 1998-11-18 2001-07-03 Saga Software, Inc. Agent-adapter architecture for use in enterprise application integration systems
WO2000070417A1 (en) * 1999-05-17 2000-11-23 The Foxboro Company Process control configuration system with parameterized objects
US7272815B1 (en) * 1999-05-17 2007-09-18 Invensys Systems, Inc. Methods and apparatus for control configuration with versioning, security, composite blocks, edit selection, object swapping, formulaic values and other aspects
US6529948B1 (en) * 1999-08-31 2003-03-04 Accenture Llp Multi-object fetch component
US6735772B1 (en) * 2000-04-13 2004-05-11 International Business Machines Corporation System and method for handling orphaned cause and effect objects
US6871344B2 (en) * 2000-04-24 2005-03-22 Microsoft Corporation Configurations for binding software assemblies to application programs
US6658642B1 (en) * 2000-06-21 2003-12-02 International Business Machines Corporation System, method and program product for software development
EP2317432A1 (en) * 2000-10-26 2011-05-04 Microsoft Development Center Copenhagen ApS A system and method supporting configurable object definitions
US7058943B2 (en) * 2001-05-24 2006-06-06 International Business Machines Corporation Object oriented apparatus and method for allocating objects on an invocation stack in a partial compilation environment
US7086009B2 (en) * 2001-06-22 2006-08-01 Invensys Systems, Inc. Customizable system for creating supervisory process control and manufacturing information applications
US7293070B2 (en) * 2001-09-17 2007-11-06 Vignette Corporation Method and system for deploying web components between portals in a portal framework
US7240114B2 (en) * 2001-09-25 2007-07-03 Hewlett-Packard Development Company, L.P. Namespace management in a distributed file system
JP3961258B2 (en) * 2001-10-10 2007-08-22 株式会社ミツトヨ Touch sensor and probe for fine shape measuring device
US7440902B2 (en) * 2002-04-12 2008-10-21 International Business Machines Corporation Service development tool and capabilities for facilitating management of service elements
US20040117760A1 (en) * 2002-12-11 2004-06-17 Microsoft Corporation Reality-based optimization
US7069537B2 (en) * 2003-08-19 2006-06-27 Oracle International Corporation Techniques for partial loading of a configuration associated with a configuration model
US7685563B2 (en) * 2004-03-01 2010-03-23 Microsoft Corporation Reusable customized project system
US7376935B2 (en) * 2004-10-25 2008-05-20 Microsoft Corporation Design-time system and method to enable programming assistance across languages and compilation boundaries
GB2428834A (en) * 2005-08-04 2007-02-07 Ibm Linking objects with graphical user interface items
US7779389B2 (en) * 2005-12-30 2010-08-17 Sap Ag System and method for dynamic VM settings
US8156467B2 (en) * 2007-08-27 2012-04-10 Adobe Systems Incorporated Reusing components in a running application
US8176466B2 (en) * 2007-10-01 2012-05-08 Adobe Systems Incorporated System and method for generating an application fragment

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040205340A1 (en) * 1994-03-15 2004-10-14 Kabushiki Kaisha Toshiba File editing system and shared file editing system with file content secrecy, file version management, and asynchronous editing
US20040205090A1 (en) * 1994-03-15 2004-10-14 Kabushiki Kaisha Toshiba File editing system and shared file editing system with file content secrecy, file version management, and asynchronous editing
US20020069399A1 (en) * 1999-08-16 2002-06-06 Z-Force Corporation System of reusable software parts and methods of use
US20020120924A1 (en) * 1999-08-16 2002-08-29 Z-Force Corporation System of reusable software parts for distributing event flows and methods of use
US20020188595A1 (en) * 2001-03-23 2002-12-12 Mark Underseth System and method for automatically generating code templates for communication via a predefined communication interface
US20040103393A1 (en) * 2001-07-17 2004-05-27 Reddy Sreedhar Sannareddy Method and apparatus for versioning and configuration management of object models
US20030056195A1 (en) * 2001-07-19 2003-03-20 Hunt Joseph R. Code generator
US20030093551A1 (en) * 2001-10-17 2003-05-15 Graham Taylor Adaptive software interface
US20040064825A1 (en) * 2002-09-30 2004-04-01 Timothy Lim Method and system for object system interoperability
US20040148586A1 (en) * 2002-11-14 2004-07-29 Sap Ag Modeling system for graphic user interface
US20050086384A1 (en) * 2003-09-04 2005-04-21 Johannes Ernst System and method for replicating, integrating and synchronizing distributed information
US20050203969A1 (en) * 2004-03-15 2005-09-15 Oki Electric Industry Co., Ltd. Version management system and version management method for content delivery and management
US20080263503A1 (en) * 2007-04-20 2008-10-23 Sap Ag System, method, and software for facilitating business object development testing
US20120166574A1 (en) * 2010-12-27 2012-06-28 Limelight Networks, Inc. Partial object caching
US20120203585A1 (en) * 2011-02-03 2012-08-09 Ibm Corporation Systems and methods for generating missing rules matching a minimal set of objects

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Cleidson Souza et al. , "How a Good Software Practice Thwarts Collaboration - The multiple roles of APIs in Software Development" , ACM , 2004 , , pages 1-10 *
Steve Holzner , "Eclipse" O'Reilly Media Inc, April 2004 , pages 1-331 *

Also Published As

Publication number Publication date
US20090288062A1 (en) 2009-11-19
US8191036B2 (en) 2012-05-29

Similar Documents

Publication Publication Date Title
US10565095B2 (en) Hybrid testing automation engine
US7406483B2 (en) Provisioning of software components via workflow management systems
US7684964B2 (en) Model and system state synchronization
US10089103B2 (en) Systems and methods for transformation of reporting schema
US8291378B2 (en) Simplified deployment modeling
US9830135B2 (en) Declarative and pluggable business logic for systems management
US9449298B2 (en) Managing complex dependencies in a file-based team environment
US8229778B2 (en) Constructing change plans from component interactions
TWI713846B (en) Domain module computation unit, system containing a model of an enterprise, single board computational unit, grid of computational units, method to provide propagation traceability, and non-transitory computer program product
US10656971B2 (en) Agile framework for vertical application development and delivery
US20040205179A1 (en) Integrating design, deployment, and management phases for systems
US20070169103A1 (en) Method and apparatus to support continuous availability by allowing the use of multiple concurrent versions of shared artifact libraries, with proper bind-drain semantics, for long-lived process application consumers
CN102576354A (en) Extensible framework to support different deployment architectures
CN103336705A (en) Automatic transcoding and semantic adaptation between scripting and workflow systems
US20060259386A1 (en) Building digital assets for use with software applications
US11783254B2 (en) Method and system for implementing an adaptive data governance system
US20120060141A1 (en) Integrated environment for software design and implementation
US9626251B2 (en) Undo configuration transactional compensation
US7539687B2 (en) Priority binding
US8191036B2 (en) Mechanism to support orphaned and partially configured objects
CN103677842A (en) Software tool configuration type integrated expansion calling method and system
Delicheh et al. A Preliminary Study of GitHub Actions Dependencies
US20190244151A1 (en) Just in time compilation (jit) for business process execution
US8589358B2 (en) Mechanisms to share attributes between objects
Bendoukha et al. Building cloud-based scientific workflows made easy: A remote sensing application

Legal Events

Date Code Title Description
AS Assignment

Owner name: CPTN HOLDINGS LLC, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:NOVELL, INC.;REEL/FRAME:028841/0047

Effective date: 20110427

AS Assignment

Owner name: APPLE INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CPTN HOLDINGS LLC;REEL/FRAME:028856/0230

Effective date: 20120614

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION