Software asset packaging and consumption
First Claim
1. A computer system, including a non-transitory storage device and an enhanced implementation of a Reusable Asset Specification 2.2, for packaging an asset, comprising:
- an obtaining module for obtaining, from an asset repository, using an ArtifactType class of the enhanced implementation including attributes of name, suffix, and a description, wherein the suffix is used for identifying an artifact type of the artifacts coming from the asset repository, artifacts of the asset to be packaged into an asset package, and activities associated with an asset type of the asset or an artifact type of the artifacts, and wherein the activities comprise execution code for executing asset consumption operations and related attribute definitions to be packaged into the asset package;
a packaging engine in response to (i) selecting an activity from the activities associated with the asset type or the artifact type using an association between the ArtifactType class and an Activity class of the enhanced implementation and (ii) specifying at least one variable point value for a variable point instance bound to a selected activity and associated with the asset type or the artifact type, wherein a VariabilityPointType class of the enhanced implementation describes a type of variability point instance, including attributes of an ID, a name, an identifier, a description, and a richTextdescription, and wherein the identifier is a name of an identifier class of a respective variability point type, for finding all values of a particular variability point instance belonging to a specific variability point type from an associated artifact or associated asset, and wherein a binding between the Activity class and the VariabilityPointType class, uses a VariabilityPointBindingRule class, of the enhanced implementation including attributes of a ruleName, a variabilityPointTypeID, and a description for packaging the selected activity and the artifacts into the asset package;
wherein the packaging engine generates and stores in the non-transitory storage device the asset package, and wherein the asset package further comprises (i) meta information on the artifacts and the selected activity, including information on consumption operations and attributes and associations of the artifacts, activities, and variability point instances and (ii) an association between the asset type or the artifact type and the selected activity; and
wherein the obtaining module and the packaging engine are components of the enhanced implementation of the Reusable Asset Specification 2.2, and wherein the activities in the asset package perform different operations in response to different values provided for parameters of a respective activity by a user or different consumption contexts, to increase a scope of reusability of the asset.
1 Assignment
0 Petitions
Accused Products
Abstract
A reusable asset packaging and consumption method and system that support consumption activities and variability point instances associated with asset types or artifact types. Generic consumption activities and variability point types for different asset types or artifact types and developed and stored in a repository. When an asset packager packages an asset, a needed activity is selected from the activities associated with the type of the asset. The activity, a variability point instance bound with the activity, and the context constraints, together with the artifacts is packaged into the asset package, where the asset package is then stored in a repository. During consumption, the asset consumer obtains the asset package, verifies the context, and executes the activity packaged in the asset, while specifying variability point values for the bound variability instance.
-
Citations
21 Claims
-
1. A computer system, including a non-transitory storage device and an enhanced implementation of a Reusable Asset Specification 2.2, for packaging an asset, comprising:
-
an obtaining module for obtaining, from an asset repository, using an ArtifactType class of the enhanced implementation including attributes of name, suffix, and a description, wherein the suffix is used for identifying an artifact type of the artifacts coming from the asset repository, artifacts of the asset to be packaged into an asset package, and activities associated with an asset type of the asset or an artifact type of the artifacts, and wherein the activities comprise execution code for executing asset consumption operations and related attribute definitions to be packaged into the asset package; a packaging engine in response to (i) selecting an activity from the activities associated with the asset type or the artifact type using an association between the ArtifactType class and an Activity class of the enhanced implementation and (ii) specifying at least one variable point value for a variable point instance bound to a selected activity and associated with the asset type or the artifact type, wherein a VariabilityPointType class of the enhanced implementation describes a type of variability point instance, including attributes of an ID, a name, an identifier, a description, and a richTextdescription, and wherein the identifier is a name of an identifier class of a respective variability point type, for finding all values of a particular variability point instance belonging to a specific variability point type from an associated artifact or associated asset, and wherein a binding between the Activity class and the VariabilityPointType class, uses a VariabilityPointBindingRule class, of the enhanced implementation including attributes of a ruleName, a variabilityPointTypeID, and a description for packaging the selected activity and the artifacts into the asset package; wherein the packaging engine generates and stores in the non-transitory storage device the asset package, and wherein the asset package further comprises (i) meta information on the artifacts and the selected activity, including information on consumption operations and attributes and associations of the artifacts, activities, and variability point instances and (ii) an association between the asset type or the artifact type and the selected activity; and wherein the obtaining module and the packaging engine are components of the enhanced implementation of the Reusable Asset Specification 2.2, and wherein the activities in the asset package perform different operations in response to different values provided for parameters of a respective activity by a user or different consumption contexts, to increase a scope of reusability of the asset. - View Dependent Claims (2, 3, 4, 5, 19, 20, 21)
-
-
6. A computer system including a storage memory device and an enhanced implementation of a Reusable Asset Specification 2.2, for consuming an asset, comprising:
-
an obtaining module for obtaining an asset package and meta information of the asset package, wherein the asset package uses an ArtifactType class of the enhanced implementation including attributes of name, suffix, and a description, and wherein the suffix is used for identifying an artifact type of the artifacts coming from an asset repository, and wherein the asset package contains artifacts and an activity associated with an artifact of the artifacts, the meta information of the asset package includes meta information on the artifacts and the activity in the asset package and an association between an associated artifact and the activity, and wherein the activity comprises execution code for executing asset consumption operations on the associated artifact and related attribute definitions packaged into the asset package; and a consumption engine for automatically executing the activity in the asset package on the associated artifact in the asset package to consume the asset through reading from the storage memory device and interpreting the meta information; wherein a plurality of the activities associated with an asset type of the asset or an artifact type of the artifacts are packaged into the asset package using an association between the ArtifactType class and an Activity class of the enhanced implementation, and wherein the asset package defines consumption steps of the asset, including a dependency and execution order between the plurality of the activities packaged into the asset package, wherein; the asset package further comprises a variability point instance bound with the activity in the plurality of the activities of the asset package and associated with an artifact, wherein a VariabilityPointType class of the enhanced implementation describes a type of variability point instance, including attributes of an ID, a name, an identifier, a description, and a richTextdescription, and wherein the identifier is a name of an identifier class of a respective variability point type, for finding all values of a particular variability point instance belonging to a specific variability point type from an associated artifact or associated asset and wherein a binding between the Activity class and the VariabilityPointType class, uses a VariabilityPointBindingRule class, of the enhanced implementation including attributes of a ruleName, a variabilityPointTypeID, and a description, and wherein the variability point instance comprises an identifier code, when executed by the computer system, for identifying variability point values in the associated artifact and is created when a variability point binding rule of the associated artifact is defined; the meta information of the asset package further includes meta information on the variability point instance and a respective binding with the activity, including information on consumption operations and attributes and associations of the artifacts, activities, and variability point instances; and the consumption engine further obtains the variability point values in the associated artifact, through executing the identifier code of the variability point instance bound on the associated artifact, during executing the activity in the asset package, and provides a selected variability point value to the activity to customize the activity, wherein the activity of the asset package performs different operations in response to different values provided for parameters of the activity by a user or different consumption contexts, thus increasing a scope of reusability of the asset, and wherein the obtaining module and the consumption engine are components of the enhanced implementation of the Reusable Asset Specification 2.2. - View Dependent Claims (8)
-
-
7. A computer system including a storage memory device and an enhanced implementation of a Reusable Asset Specification 2.2, for consuming an asset, comprising:
-
an obtaining module for obtaining an asset package and meta information of the asset package, wherein the asset package uses an ArtifactType class of the enhanced implementation including attributes of name, suffix and a description, and wherein the suffix is used for identifying an artifact type of the artifacts coming from an asset repository, and contains artifacts and an activity associated with an artifact of the artifacts, the meta information of the asset package includes meta information on the artifacts and the activity in the asset package and an association between an associated artifact and the activity, and wherein the activity comprises execution code for executing asset consumption operations on the associated artifact and related attribute definitions packaged into the asset package; and a consumption engine for automatically executing the activity in the asset package on the associated artifact in the asset package to consume the asset through reading from the storage memory device and interpreting the meta information; wherein a plurality of the activities associated with an asset type of the asset or an artifact type of the artifacts are packaged into the asset package using an association between the ArtifactType class and an Activity class of the enhanced implementation, and wherein the asset package defines consumption steps of the asset, including a dependency and execution order between the plurality of the activities packaged into the asset package, wherein; the asset package further comprises variability point values of a variability point instance bound with the activity in the asset package and associated with the associated artifact, created when a variability point binding rule of the associated artifact is defined, wherein a VariabilityPointType class of the enhanced implementation describes a type of variability point instance, including attributes of an ID, a name, an identifier, a description, and a richTextdescription, and wherein the identifier is a name of an identifier class of a respective variability point type, for finding all values of a particular variability point instance belonging to a specific variability point type from an associated artifact or associated asset, and wherein a binding between the Activity class and the VariabilityPointType class, uses a VariabilityPointBindingRule class, of the enhanced implementation including attributes of a ruleName, a variabilityPointTypeID, and a description, and wherein the variability point values are located by applying on the associated artifact an identifier code of the variability point instance for identifying the variability point values in the associated artifact; the meta information of the asset package further includes the meta information on the variability point instance and respective binding with the activity, including information on consumption operations and attributes and associations of the artifacts, activities, and variability point instances; and the consumption engine further provides a variability point value selected from the variability point values to the activity in the asset package to customize the activity during executing the activity, wherein the activity of the asset package performs different operations in response to different values provided for parameters of the activity by a user or different consumption contexts, thus increasing a scope of reusability of the asset, and wherein the obtaining module and the consumption engine are components of the enhanced implementation of the Reusable Asset Specification 2.2.
-
-
9. A computer implemented method for packaging an asset in an enhanced implementation of a Reusable Asset Specification 2.2, comprising:
-
obtaining artifacts, from an asset repository using an ArtifactType class of the enhanced implementation including attributes of name, suffix and a description, wherein the suffix is used for identifying an artifact type of the artifacts coming from the asset repository, of an asset to be packaged into an asset package, and activities associated with an asset type of the asset or an artifact type of the artifacts, wherein the activities comprise execution code for executing asset consumption operations and related attribute definitions to be packaged into the asset package; and in response to (i) selecting an activity from the activities associated with the asset type or the artifact type using an association between the ArtifactType class and an Activity class of the enhanced implementation and (ii) specifying at least one variable point value for a variable point instance bound to a selected activity and associated with the asset type or the artifact type, wherein a VariabilityPointType class of the enhanced implementation describes a type of variability point instance, including attributes of an ID, a name, an identifier, a description, and a richTextdescription, and wherein the identifier is a name of an identifier class of a respective variability point type, for finding all values of a particular variability point instance belonging to a specific variability point type from an associated artifact or associated asset, and wherein a binding between the Activity class and the VariabilityPointType class, uses a VariabilityPointBindingRule class, of the enhanced implementation including attributes of a ruleName, a variabilityPointTypeID, and a description packaging the selected activity and the artifacts into the asset package; wherein during a packaging process, meta information on the artifacts and the selected activity, including information on consumption operations and attributes and associations of the artifacts, activities, and variability point instances and an association between the asset type or the artifact type and the selected activity, are generated and stored in the asset package; and wherein the obtaining and the packaging operations performed by components of the enhanced implementation of the Reusable Asset Specification 2.2 increase a scope of reusability of the asset. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A computer implemented method for consuming an asset in an enhanced implementation of a Reusable Asset Specification 2.2, comprising:
-
obtaining an asset package and meta information of the asset package, wherein the asset package uses an ArtifactType class of the enhanced implementation including attributes of name, suffix, and a description, and wherein the suffix is used for identifying an artifact type of the artifacts coming from an asset repository, and contains artifacts and an activity associated with an artifact of the artifacts, the meta information of the asset package includes meta information on the artifacts and the activity in the asset package and an association between an associated artifact and the activity, and wherein the activity comprises execution code for executing asset consumption operations on the associated artifact and related attribute definitions packaged into the asset package; and responsive to obtaining the asset package, automatically executing the activity in the asset package on the associated artifact in the asset package to consume the asset through reading and interpreting the meta information; wherein a plurality of the activities associated with an asset type of the asset or the artifact type of the artifacts are packaged into the asset package using an association between the ArtifactType class and an Activity class of the enhanced implementation, and wherein the asset package defines consumption steps of the asset, including a dependency and execution order between the plurality of the activities packaged into the asset package, wherein; the asset package further comprises a variability point instance bound with the activity in the asset package and associated with an artifact, wherein a VariabilityPointType class of the enhanced implementation describes a type of variability point instance, including attributes of an ID, a name, an identifier, a description, and a richTextdescription, and wherein the identifier is a name of an identifier class of a respective variability point type, for finding all values of a particular variability point instance belonging to a specific variability point type from an associated artifact or associated asset and wherein a binding between the Activity class and the VariabilityPointType class, uses a VariabilityPointBindingRule class, of the enhanced implementation including attributes of a ruleName, a variabilityPointTypeID, and a description, and wherein the variability point instance contains an identifier code, when executed, for identifying variability point values in the associated artifact created when a variability point binding rule of the associated artifact is defined; the meta information of the asset package further includes meta information on the variability point instance and a respective binding with the activity, including information on consumption operations and attributes and associations of the artifacts, activities, and variability point instances; and the method further comprising; obtaining the variability point values in the associated artifact through executing the identifier code of the variability point instance bound on the associated artifact during executing the activity in the asset package, and providing a selected variability point value to the activity to customize the activity wherein the activity of the asset package performs a different operation in response to different values provided for parameters of the activity by a user or different consumption contexts, thus increasing a scope of reusability of the asset, and wherein the obtaining and the executing operations are performed by components of the enhanced implementation of the Reusable Asset Specification 2.2. - View Dependent Claims (17, 18)
-
-
16. A computer implemented method for consuming an asset in an enhanced implementation of a Reusable Asset Specification 2.2, comprising:
-
obtaining an asset package and meta information of the asset package, wherein the asset package uses an ArtifactType class of the enhanced implementation including attributes of name, suffix, and a description, and wherein the suffix is used for identifying an artifact type of the artifacts coming from an asset repository, and contains artifacts and an activity associated with an artifact of the artifacts, the meta information of the asset package includes meta information on the artifacts and the activity in the asset package and an association between an associated artifact and the activity, and wherein the activity comprises execution code for executing asset consumption operations on the associated artifact and related attribute definitions packaged into the asset package; responsive to obtaining the asset package, automatically executing the activity in the asset package on an associated artifact in the asset package to consume the asset through reading and interpreting the meta information; wherein a plurality of the activities associated with an asset type of the asset or the artifact type of the artifacts are packaged into the asset package using an association between the ArtifactType class and an Activity class of the enhanced implementation, and wherein the asset package defines consumption steps of the asset, including a dependency and execution order between the plurality of the activities packaged into the asset package, wherein; the asset package further comprises variability point values of a variability point instance bound with the activity in the asset package and associated with the associated artifact, wherein a VariabilityPointType class of the enhanced implementation describes a type of variability point instance, including attributes of an ID, a name, an identifier, a description, and a richTextdescription, and wherein the identifier is a name of an identifier class of a respective variability point type, for finding all values of a particular variability point instance belonging to a specific variability point type from an associated artifact or associated asset, and wherein a binding between the Activity class and the VariabilityPointType class, uses a VariabilityPointBindingRule class, of the enhanced implementation including attributes of a ruleName, a variabilityPointTypeID, and a description, and wherein the variability point values are generated by applying on the associated artifact an identifier code of the variability point instance for identifying variability point values in the associated artifact created when a variability point binding rule of the associated artifact is defined; the meta information of the asset package further includes the meta information on the variability point instance and a respective binding with the activity; and the method further comprising; providing a variability point value selected from variability point values to the activity in the asset package to customize the activity during executing the activity, wherein the activity of the asset package performs a different operation in response to different values provided for parameters of the activity by a user or different consumption contexts, thus increasing a scope of reusability of the asset, and wherein the obtaining and the executing operations are performed by components of the enhanced implementation of the Reusable Asset Specification 2.2.
-
Specification