Disclosure of Invention
In order to solve the problems, the invention takes practicability and usability as basic principles, and aims at implementation difficulties and problems, and the process asset platform is invented by virtue of abundant practical experience and deep insight into industry pain points.
The invention provides an AI-based financial-domain-oriented process platform, which comprises an architecture management module, a business modeling module and a technical modeling module;
the architecture management module is used for providing guidance for the business modeling module and the technical modeling module, and comprises a business architecture unit and a technical architecture unit, wherein the business architecture unit comprises four model elements of a product line, a business field, business capability and a business object;
The business modeling module is used for realizing business modeling of various types in different business fields and comprises a flow modeling unit, a product modeling unit and a solid model unit;
the technical modeling module is used for establishing an API or service interaction mode and format contract between the IT systems, and further designing specific processing logic for realizing the contract inside the IT systems.
Optionally, the flow modeling unit includes three model elements of activity, task and business rules;
the activity is triggered by an internal event or an external event, so as to meet the purpose of specific business or to cope with the requirements of the dry system people;
The task is that in a certain activity, a set of containers with definite business rules for business purpose continuously and continuously occur in time;
the business rule is a business language which is clear from the business angle, has definite semanteme and is structured by natural language to express business logic.
Optionally, the product modeling unit includes a product group, a base product, a product component, and a product condition;
the product groups are classified under the product line according to the product functions or characteristics, and the products are generally grouped according to the system application;
the basic product is an abstract product for supporting innovation, and is formed by clustering a group of saleable products with similar functions and business processing rules;
the saleable product is a product which is independently sold and managed by enterprises;
The product condition is to determine the business rules and restrictions of different products, is a restriction, restriction and restriction, and has perfect value which can be used for describing the characteristics of the products;
A product component is a product or service package made up of a set of product conditions that cannot be sold individually, must be included in a marketable product, and is offered for sale by an enterprise to customers;
The entity model relates to service entities and key attributes thereof, and the service entities are entities in the service for abstraction to form units which can exist independently and can be reused.
Optionally, the technical modeling module includes a contract determination unit and a processing logic unit;
the contract determining unit comprises two model elements of an interface and a data entity, wherein the type of the interface comprises an online interface which occurs in real time and needs to be immediately processed to require the system to respond in a short time and a batch interface which intensively processes data according to specific triggering conditions in a specific time period.
Optionally, the interface of the technical modeling module, the data entity, the activity of the service modeling module and the service entity have a certain adapting relation, and meanwhile, the interface inside the technical modeling module has an implementation relation with online transactions and batch transactions;
The process platform has a one-key generation function, generates a corresponding interface based on the active one-key, converts a business entity into a data entity by one-key, generates online transactions by one-key of an online interface, generates batch transactions by one-key of a batch interface, and can automatically establish association relations among assets.
Optionally, the process platform is provided with a rapid import mechanism for completing process modeling nano tubes of a set of stock system in a set event, wherein the rapid import mechanism comprises business model import and technical model import;
The service model import takes a demand document of the stock system as a data basis, a mapping relation is constructed by deeply analyzing a document structure and model elements of the service model, and the technology of importing offline Word documents into a Web server is used for realizing the efficient bottoming of the process platform service model asset;
The technical model is imported to directly aim at a source code package of the stock system, a code structure and model elements of the technical model are analyzed to form a mapping relation, xml and Java files in the source code package are polled and analyzed, and finally the Xml and Java files are accurately stored in the technical modeling module according to the mapping relation.
Optionally, the process platform package has a user interaction page;
The user interaction page provides a workbench, process flow guidance, space configuration and a shortcut entry;
The user interaction page also provides service architecture presetting, technical architecture presetting and information standard inputting, flow model definition, product model definition and entity model definition, contract design, realization design and design of docking with development;
The user interaction page also has the functions of statistics report, demand bill, quick importing asset, authority management and version management.
Optionally, the iterative requirement of the model asset is input through the user interaction page, and a dedicated requirement list AI Agent is generated for each version of model asset by combining the model asset of the architecture management module, the business modeling module and the technology modeling module.
Optionally, the technical modeling module and the source code engineering file have a mapping relation, and the source code of the system frame is automatically generated based on the design asset of the technical modeling module;
The design assets include online transactions, batch transactions, application service classes, basic service classes, data entities, data objects, custom SQL, error codes, data dictionaries.
Optionally, the process platform is provided with a consistency verification mechanism for consistency verification of the design asset and the source code engineering file, and when the design asset is inconsistent with the source code of the system, specific inconsistent information is positioned and displayed.
The process platform facing to the financial field based on the AI can combine the code interpretation large model, and the function change in the source code is interpreted and abstracted through the AI Agent based on the code interpretation large model and reversely synchronized to the architecture asset of the process platform. Thus, the problem that the architecture asset is out of sync with the code along with the development of the software engineering work is avoided.
The process platform accurately grabs key assets from the process and simplifies the deducing process, builds clear and concise asset relations, only retains the definition of core key elements necessary for business fields, activities, tasks, business entities and the like in the enterprise architecture process, removes a large number of intermediate over-program deducing processes, reduces the number of concept nouns in the process modeling, and therefore reduces the difficulty of the hands, and achieves flexibility and expandability of asset management through decoupling association of required assets and IT assets.
The process platform can conduct efficient nano-tubes on mature target software product assets, convert traditional demand documents and source codes into structural assets of business models and technical models, pave a set of process modeling assets within 30 minutes, greatly reduce the implementation period of landing and reduce resource investment.
The object of process platform process modeling is at a single domain level, rather than the traditional implementation of the enterprise-level all software domain. The method can be firstly used for testing a single system and then popularized to all systems of an enterprise, so that the acceptability of the enterprise is improved.
The technical modeling of the process platform can be communicated with the development platform. The development source codes can be automatically generated through the design asset, the design asset can be reversely generated through the source codes and the large model is read by means of codes, the bidirectional evolution generation of the design asset and the development source codes is realized, the continuous optimization and upgrading of the process model are ensured, and the floor implementation of the process modeling is facilitated.
The process platform facing the financial field based on AI is based on new cognition and new floor practice, takes practicality and good use as principles, and aims at implementation difficulties and problems to develop comprehensive optimization and simplification. The asset digitization for software demand and analysis design is modeled and managed, is a platform for one-stop operation for carrying out business modeling in the demand stage and carrying out technical modeling in the analysis design stage, and can realize the bidirectional evolution generation of design and source codes by docking with a development platform, thereby improving the efficiency of the asset nano tube.
The above, as well as additional objectives, advantages, and features of the present invention will become apparent to those skilled in the art from the following detailed description of a specific embodiment of the present invention when read in conjunction with the accompanying drawings.
Detailed Description
The following description of the embodiments of the invention, taken in conjunction with the accompanying drawings, is given by way of illustration and not limitation.
Through a great deal of industry investigation and example flow deduction, the embodiment of the invention provides a financial field oriented process platform based on AI, which comprises three modules, namely an architecture management module, a service modeling module and a technical modeling module, wherein the architecture management module is used for providing guidance for the service modeling module and the technical modeling module, the service modeling module is used for realizing various types of service modeling in different service fields, the technical modeling module is used for establishing API or service interaction modes and format contracts between IT systems, and further, specific processing logic for realizing the contracts inside the IT systems is designed, and the specific processing logic is shown in figure 2. The AI-based financial-domain-oriented process platform of the embodiment defines the connection relation between the technical modeling module and the development side, not only defines the model elements and the attributes thereof of each module, but also accurately describes the relation among the model elements, and provides a firm theoretical basis and a guiding framework for construction and implementation of the process platform. The respective modules are described in detail below.
1. Framework treatment module
The aim of the architecture governance module is to provide clear guidance for business modeling and technical modeling, and two sub-modules, namely a business architecture unit and a technical architecture unit, are carefully constructed in the architecture governance module.
The business architecture unit covers four model elements of a product line, a business field, a business capability and a business object. In a business architecture element, a product line is a division of a large class of products, such as a deposit product line and a loan product line of a bank, independent of an organization, customer segment, or a particular channel, which clearly define the product category of the bank. The business field is the process of dividing and reflecting the whole value creation of the enterprise from the dual view of the client and the enterprise, such as the personal deposit business field and the unit deposit business field of the bank, which accurately reflect the service range of the bank. The business capability is a group of capability with definite business meaning and delivery value for realizing the business field, such as inventory management and pricing management of banks, which jointly ensure the efficient operation of the business. The business objects are the structural manifestation of enterprise business core resources, such as personal living accounts and saleable products of banks, which form the basis of bank operation.
The technical architecture element focuses on the precise definition of the application components. An application component is a collection of services with business associations and dependencies, such as a deposit application component and a public application component of a bank, that provide a solid technical support for business. Through the architecture design, architecture management can more systematically and finely promote the deep fusion of business and technology, and a solid foundation is laid for the sustainable development and innovation of enterprises.
2. Service modeling module
The business modeling module is subdivided into three sub-modules, namely a flow modeling unit, a product modeling unit and a solid model unit.
Three model elements of activity, task and business rules are covered in the flow modeling unit. The activity is triggered by an internal event or an external event, in order to meet the specific business purpose or to cope with the flows of the dry line people's appeal. The task is that in a certain activity, a set of business rules with explicit business purposes occur continuously and continuously over time. The business rule is a business language which is clear from the business angle, has definite semanteme and is structured by natural language to express business logic.
The product modeling unit includes a product group, a base product, a product component, and a product condition. Product groups are categorized by product function or feature under the product line, typically grouping products by system application. The basic product is an abstract product for supporting innovation, and is clustered by a group of saleable products with similar functions and business processing rules. The marketable product is one that the enterprise independently sells and operates. The product condition is to determine the business rules and restrictions of different products, is a restriction, restriction and restriction, and has perfect value which can be used for describing the characteristics of the products. A product component is a product or service package made up of a set of product conditions that cannot be sold individually, must be included in a marketable product for sale by an enterprise to a customer.
The entity model unit relates to service entity and key attribute thereof, the service entity is entity abstract in service to form unit which can exist independently and can be reused. The key attribute refers to an important entity attribute of the service entity, and the key attribute can be changed into the service entity and the entity attribute.
The three sub-modules of the business modeling module realize close internal association through a well-designed interaction mechanism. Specifically, activities in the flow modeling unit refer to basic products in the product modeling unit, so that accurate embedding of product information in the flow is ensured; meanwhile, tasks in the flow modeling unit refer to business entities in the entity model unit, so that seamless butt joint of business logic and entity data is ensured. In addition, each activity is definitely defined in the service field of the architecture governance module, and each task is precisely positioned in the service capacity of the architecture governance module, so that the architecture governance module can accurately guide the service modeling module.
3. Technical modeling module
The technical modeling module adopts the design concept of contract priority, and carries out technical modeling from two parts of contract and realization. Firstly, establishing the API or service interaction mode and format contract between the IT systems, and then designing specific processing logic for realizing the contract inside the IT systems. The design concept emphasizes the guiding property of the interaction protocol, ensures the standardization and consistency of the communication between systems and provides a clear guiding framework for the subsequent internal logic development.
That is, the technical modeling module includes a contract determination unit and a processing logic unit. In combination with years of implementation experience within the industry, the contract determination unit designs two model elements, namely an interface and a data entity. Interfaces are further divided into online interfaces that occur in real time and require immediate processing requiring the system to respond in a short time period and batch interfaces that centrally process data in specific trigger conditions for specific time periods. The data entity is defined for the interaction mode of directly reading the database table between IT systems, for example, the bank data warehouse system directly reads the background database table of the bank core business system to realize the drawing number.
The processing logic of the technology modeling module involves four model elements of online transactions, application service classes, basic service classes, and batch transactions. The online transaction is an independent service for realizing an online interface in a contract part, and comprises basic information definition such as transaction codes, transaction names and the like, input and output parameter definition and call arrangement of application service classes. The application service class is a Java class which achieves a specific purpose and is repeatedly called by online transactions and batch transactions. The basic service class is a processing unit with minimum service rule, is also a Java class, and can be repeatedly called by the application service class. The batch transaction is a batch processing service for realizing batch interfaces in the contract part, and comprises batch transaction codes, batch transaction names, batch transaction types, descriptions, input parameter definitions, batch job pre-processing logic, normal processing logic, batch job post-processing logic and exception processing logic, and the file batch transaction also comprises definition of file formats.
The whole technology modeling module establishes an association relation between the model element of the application component range and the activity and the business entity of the business modeling to realize the technology integration, and successfully realizes the decoupling with the business modeling and the expansibility of the module through optional weak association. All model elements of the technical modeling and elements of the development platform can be mapped one to one, and a foundation is laid for butt joint of the technical modeling and development sides. Application component scope refers to the scope of business modeling that a certain application component needs to implement.
The process platform facing the financial field based on AI of the embodiment of the invention also has a plurality of functional mechanisms, and is described in detail below.
[ Rapid import mechanism of Process platform ]
The most invested part of the whole implementation period of process modeling is mainly the first bottoming work of the modeling assets, which requires a large amount of manual adaptation conversion and mechanical entry. Therefore, the process platform of the embodiment particularly designs a set of rapid import mechanism, and aims to complete process modeling of a set of stock system in 30 minutes, thereby remarkably improving efficiency and reducing labor cost. In practical applications, the completion of process modeling will form a set of modeling assets. Assuming that model elements are compared to the database table structure, the modeled assets are table data.
Optionally, the fast importing mechanism of the process platform facing the financial field based on AI in this embodiment may be divided into two links, i.e. business model importing and technical model importing.
The service model import uses the demand document of the stock system as the data basis, the mapping relation is constructed by deeply analyzing the document structure and the model elements of the service model, and the efficient bottoming of the process platform service model asset is realized by means of the general technology of importing offline Word documents into a Web server, as shown in figure 3.
The technical model is imported by directly analyzing the code structure and model elements of the technical model of the source code package of the stock system to form a mapping relation, then utilizing the analysis capability of the rear end of the process platform to poll and analyze the Xml and Java files in the source code package, and finally accurately storing the Xml and Java files in the technical modeling module according to the mapping relation, thereby realizing the rapid and accurate importing of the technical model. As shown in fig. 4.
[ Process platform demand Single AI Agent ]
As the software system is successfully switched on-line, its model assets for process modeling also enter a new iteration cycle. The process platform can not only effectively manage the iteration process through the function of a single AI Agent, but also record the original requirement of each iteration in more detail and deeply analyze the potential influence of the iteration process. The technical modeling part of the process platform can be understood as the outline design and the detailed design of the software system, and the on-line switching refers to the switching of the production environment into the operation and maintenance to the iteration period on the software system. The model asset of the process modeling is the model data formed after the process modeling is completed.
A user inputs iteration demands through a process platform Web page (see pages in two menus of [ demand ] and [ iteration ] in fig. 6), and the platform immediately combines model assets of three modules of architecture management, business modeling and technology modeling to generate a dedicated demand sheet AI Agent for each version of model asset. After the AI Agent obtains the original demand, the demand purpose can be intelligently identified, key influence points on the model asset are automatically analyzed, and a plurality of iteration schemes are presented for selection. The user can manually confirm and adjust the scheme, realize the collaborative operation with the requirement list AI Agent, and jointly promote the efficient and accurate iteration of the process platform model asset. As shown in fig. 5.
For example, the deposit business model V1.0 and the loan business model V2.0 are model properties of two versions of different business models, two AI agents are correspondingly generated, and purpose identification is performed aiming at the input iteration new requirements.
[ Multi-space and Multi-version design of Process platform ]
To ensure smooth development, testing, and production of software systems during development, multiple sets of operating environments are typically prepared to address the needs of the different stages. For the case that multiple iteration demands are distributed in different stages of development, each stage needs to release a corresponding demand version and source code version. Aiming at the research and development rule, the process platform designs and realizes the functions of multiple spaces and multiple versions.
In the process platform, the storage of model assets clearly marks the space and version number to which the model assets belong. The space refers to the fact that the platform has tenant capacity, one tenant is one space, and data among the spaces are mutually isolated. The front-end query is presented with screening options for space and version numbers, thereby ensuring mutual isolation of the spatial model asset data viewed by the user. The user can conveniently check the model assets of the corresponding version through switching of different versions, so that the flexibility and convenience of version management and asset check work are greatly improved.
Design of one-key generation type conversion of process platform model elements
The interface of the technical modeling module of the process platform, the data entity, the activity of the service modeling module and the service entity have a certain bearing relation, and meanwhile, the interface inside the technical modeling module has an implementation relation with online transactions and batch transactions. Based on the design, the process platform of the embodiment realizes an efficient one-key generation function, wherein corresponding interfaces can be generated by one key based on activities, business entities can be converted into data entities by one key, online class interfaces can generate online transactions by one key, batch interfaces can generate batch transactions by one key, and the association relation among the assets can be automatically established.
The specific conversion rule is that basic information such as an activity name, a description and the like is accurately converted into a name and a description of an interface, input and output of the interface are synchronously mapped into corresponding parameters of the interface, the name, the description and the attribute of a business entity are finely converted into the name, the description and the field of a data entity, meanwhile, interface codes, the names, the description and the input and output of an online interface are skillfully converted into transaction codes, the names, the description and the input and output of online transactions, smooth connection of transaction flows is realized, and related information of batch interfaces including interface codes, the names, the description, input and file templates are also accurately converted into corresponding elements of batch transactions including transaction codes, names, description, input and file formats, so that high efficiency and specification of batch transactions are ensured.
The system can automatically perform one-key generation conversion on the closely related model elements according to the set model element conversion rules, namely, corresponding interfaces can be generated by one key based on activities, business entities can be converted into data entities by one key, online class interfaces can generate online transactions by one key, batch interfaces can generate batch transactions by one key, and the association relation among the assets can be automatically established. And then, the user performs proper merging and splitting and content supplementing and perfecting work on the generated model elements, so that new model assets are quickly created, and the mechanical input workload is greatly reduced.
[ Design of Process platform interface ]
The process platform is used as a tool for carrying and implementing the process, and is based on each functional module in the process platform, and the functions are definitely divided, which can be shown by the interface design of the process platform.
The process platform of the embodiment provides a user interaction interface for realizing user interaction from three dimensions of user interaction experience, process service and asset management, and carefully designs the interfaces of the modules, as shown in fig. 6.
In terms of user interaction experience, the platform provides capabilities of a workbench, flow guidance, space configuration, shortcut entrance and the like, and aims to create an intuitive and convenient operation environment for a user.
The process service serves as a core for realizing the process meta-model and covers a plurality of important links. The architecture management comprises business architecture presetting, technical architecture presetting and information standard inputting, as shown in fig. 7, business modeling comprises flow model definition, product model definition and entity model definition, as shown in fig. 8, and technical modeling comprises contract design, implementation design and design of docking with development, so that comprehensiveness and accuracy of process service are ensured, as shown in fig. 9.
The asset management has the functions of statistics report, demand bill, fast importing asset, authority management, version management and the like, and provides powerful support for effective management and utilization of the asset.
Design asset automatic generation system frame source code based on process platform technology modeling
The model elements of the technology modeling module and the elements of the development platform (downstream of the process platform, specifically, IDE integrated with the dockable process platform plugin) can be mapped one by one, and the model elements of the technology modeling module and the elements of the development platform can be mapped one by one, so that the source code of the system framework can be automatically generated based on the design assets of the process platform technology modeling module, and the source code of the system framework can be automatically generated based on the model assets of the process platform technology modeling module.
The design assets formed by the model elements of the technical modeling module mainly comprise online transactions, batch transactions, application service classes, basic service classes and data entities, the configurable assets mainly comprise data objects, custom SQL (structured query language) and error codes, and the two parts and a data dictionary required to be referenced by the design assets are combined, so that the system jointly generates corresponding system frame source codes. The specific file mapping is shown in Table 1 below, which is a table of asset and system source code file mappings.
Table 1 design asset and System Source code File mapping Table
[ System Source code reverse Generation of design assets modeled by Process platform technology with AI capabilities ]
Based on the mapping relation between the design asset of the technical modeling module and the system frame source code, the process platform can access gitlab the system engineering source code and sequentially analyze ten types of the system engineering source code according to online transaction, common batch transaction, file batch transaction, application service type, basic service type, data entity, data object, custom SQL, error code and data dictionary. In the analysis process, the platform deeply mines file structures and service definitions, converts the file structures and service definitions into natural language and refines the natural language by means of AI Agent intelligent code interpretation logic based on a code interpretation large model, and finally builds a complete technical modeling design asset. The system frame source code refers to a frame of a source code engineering file. For example, only java class files, names and input and output declarations are provided, no specific code of the class is provided for realizing the business logic, and the source code engineering file is the source code which can only run and execute the business logic.
The platform analyzes the transaction code, flowtrans, xml file, extracts the name, description, input and output of the online transaction and the scheduling and calling of the application service class, and decodes the transaction code, java file through the AI Agent to describe the scheduling and calling method coding logic in natural language. Similarly, a batch transaction code, a batch transaction name, a batch transaction type, a description and an input parameter definition of common batch transaction are generated by analyzing the batch transaction code, batch_tran.xml file, and natural language expressions of batch job preprocessing logic, normal processing logic, batch job post-processing logic and exception processing logic are generated by reading the batch transaction code data processor by means of code interpretation AI Agent. And similarly, analyzing the file_batch_tran.xml file to generate a batch transaction code, a batch transaction name, a batch transaction type, description, input parameter definition and file format definition of file batch transaction, and reading the file of the file batch generated by reading the file of the file batch code reader.java by means of code interpretation AI Agent, and generating natural language expressions of the file batch operation preprocessing logic, normal processing logic, batch operation post-processing logic and exception processing logic. In addition, the platform analyzes the XML and Java files related to the application service class and the basic service class by means of the interpretation of the AI Agent, and generates class codes, names, realization class names, descriptions, method lists and processing logic in natural language forms of the application service class and the basic service. At the data level, the platform analyzes the table names, tables, xml and the data object codes, c_schema, xml files, and generates information such as codes, names, attribute lists and the like of the data entities and the data objects respectively. Meanwhile, analyzing the XML files related to the custom SQL codes, nsql.xml, error codes, error.xml and the data dictionary, and comprehensively generating detailed asset information of the custom SQL, error codes and the data dictionary.
Consistency checking mechanism for modeling assets and system source codes by technology of process platform
The system source code development of the development platform strictly follows design assets formed by technological modeling of the process platform, and in order to ensure the rigor of the receiving process, the embodiment of the invention provides a precise docking mechanism, namely a consistency checking mechanism. The consistency check mechanism can quickly locate a specific inconsistency point when the technical modeling asset is inconsistent with the system source code. And a clear and visual view is provided for a user through a display interface (such as a user interaction page) with extremely strong interactivity, so that inconsistent positions can be easily and accurately identified and positioned, and the smoothness and high efficiency of the development process are ensured.
The current design assets include ten asset types, including online transactions, common batch transactions, file batch transactions, application service classes, basic service classes, data entities, data objects, custom SQL, error codes, and data dictionaries. And according to the ten types, the consistency check interface respectively carries out careful check comparison on the design asset and the system source code, and highlights and displays the difference points. In the consistency checking process, if the system source code exists and the designed asset is missing, the corresponding asset is marked as 'to be newly added' to prompt the need of supplement, otherwise, if the designed asset exists and the system source code is missing, the system source code is marked as 'to be deleted' to prompt the need of removal. For the case where both exist but the detailed information such as code, name, etc. are inconsistent, it will be marked as "to be modified", prompting the need for update. The user can quickly filter according to the asset types and the difference types (to be added, to be deleted and to be modified) through the multidimensional screening function of the consistency check interface, so that the user can conveniently and intensively check the differences of a certain category, and the asset management is efficiently performed.
In addition, the consistency check system supports the direct uploading of the source code package for analysis, can directly access the source code on GitLab for reading, and provides a flexible source code access mode. Meanwhile, by utilizing the capability of timing tasks, the triggering mode of consistency comparison realizes three modes of manual instant triggering, designated time point triggering and periodic triggering at time intervals, so as to meet the checking requirements in different scenes and further improve the intelligent and automatic level of asset management. As shown in fig. 10.
[ Process platform technology modeling asset and System Source code consistency mechanism ]
By means of the consistency check interface, the preservation mechanism of the process platform can rapidly ensure the high consistency of the technical modeling asset and the system source code. Aiming at the design assets marked as 'to be newly added', 'to be deleted' and 'to be modified' on the interface, the platform intelligently reads the system source codes, accurately acquires related data, automatically executes the 'new addition', 'deletion' and 'modification' operations of the design assets, and ensures that the technical modeling assets and the system source codes are consistent all the time. In addition, the platform also supports the batch selection of the difference files by the user, and the consistency update of the files is rapidly completed through a one-key synchronization function, so that the convenience and the accuracy of asset management are further improved.
The above description is only a preferred embodiment of the present invention, and the protection scope of the present invention is not limited to the above examples, and all technical solutions belonging to the concept of the present invention belong to the protection scope of the present invention. It should be noted that modifications and adaptations to the present invention may occur to one skilled in the art without departing from the principles of the present invention and are intended to be within the scope of the present invention.