WO2013038036A1 - Método de modelado para la gestión de configuraciones en sistemas de información - Google Patents
Método de modelado para la gestión de configuraciones en sistemas de información Download PDFInfo
- Publication number
- WO2013038036A1 WO2013038036A1 PCT/ES2012/000242 ES2012000242W WO2013038036A1 WO 2013038036 A1 WO2013038036 A1 WO 2013038036A1 ES 2012000242 W ES2012000242 W ES 2012000242W WO 2013038036 A1 WO2013038036 A1 WO 2013038036A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- model
- meta
- modeling
- systems
- models
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements analysis; Specification techniques
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
Definitions
- the present invention falls within the technical sector of methods and systems for the management and modeling of configurations in different information systems.
- the management of configurations in information systems consists of obtaining an inventory of the systems to be managed, obtaining their configuration, if this exists, its possible modification, its deployment, and even possible migrations between systems of different manufacturers, but within from the same family.
- a configuration is the set of parameters and rules that defines the behavior of one or more systems.
- a single configuration may govern the behavior of a single system, or several.
- the configuration must take into account the environment where they are deployed, such as physical systems, operating systems, available services, network connections between systems and others.
- several configurations can be combined, related or not related to each other.
- An information system can be both a software (such as an ERP, for example) and a device that runs software (such as a router).
- a family of information systems is a set of systems or products that pursue the same objective and with which similar tasks can be performed, that is, they have similar functionality. Also called product line. Examples of these families are firewalls, switches, routers, database management systems, ERP, etc. Thus, systems within the same family usually offer exactly the same functionality with respect to each other, or a functionality with few differences.
- the configuration management of information systems is very complex.
- many aspects are involved, such as business rules, system complexity, interconnection network, support and information offered by the manufacturer, the skills and training of the people involved in the process, the support software used, etc.
- the complexity of the systems and networks that interconnect them is very high, both in their structure and functionality, and this complexity is expected to increase much more in the coming years.
- the systems that make up the same family there may be great differences in terms of the syntax of the language used to configure them, the number of configuration parameters, the semantics of operations and configuration parameters, the differences in hardware that can cause differences in the management of the system configuration, especially if they are systems offered by different manufacturers, etc.
- a Cisco® manufacturer firewall expert could use his knowledge to manage other firewalls from different manufacturers, although for this he will have to know the specific characteristics of other manufacturers, the language syntax used to configure it, the number of configuration parameters, the semantics of operations and configuration parameters, differences in hardware that may cause differences in configuration management, etc.
- This situation is what produces that, in practice, an expert in a product of a certain manufacturer of a family, can not manage the configuration of other products of the same family (but of other manufacturers) with the knowledge that already has about one of the manufacturers. That is, knowledge reuse is prevented.
- This situation is further aggravated when within the same manufacturer, there are also differences due to the different versions of the products. The most common differences in this regard usually occur in products with different software versions and / or with significant hardware differences.
- a model is defined as an abstract representation of the structure of a system or set of systems, of a functionality, of a behavior or of any combination between them.
- many of its concepts may not be used in most cases by the modeling technician, for example, because they are very specific concepts for a given manufacturer's system and have a frequency of use very low. This situation would complicate the modeling task while not allowing people with a less technical profile to intervene in the process.
- it could happen that some of them did not have a correspondence for a particular system within the family, so the modeled configuration could not be deployed in it, being able to produce inconsistencies between the model and the actual configuration.
- a method is needed that allows people with different profiles (more or less technical) to intervene in the configuration modeling process, so that the concepts offered are adapted to all profiles of people involved in the modeling, which offers concepts that are homogeneous for all systems within a family, which allows diagnosing different types of model failures, that makes portable models between different systems within the same family in order to automate migrations, and that can automatically deploy the models on real systems in different deployment environments In this way, computer applications and devices can be built that further reduce the cost of information system configuration management.
- object of the present invention is based on a bottom-up architecture, which starts from a minimal model, to which concepts are added depending on the different criteria , including the information of the platforms that are in fact, in order to guide the modeling process and thus be able to choose specific concepts for them or not, at the discretion of the modeler, depending on the degree of reuse that you want to obtain from the models.
- the present invention provides a method for managing configurations of any type of information system family, where between the systems within a family there may be differences in terms of the language syntax that is used to configure them, the number of configuration parameters, the semantics of operations and configuration parameters, the differences in hardware that can cause differences in the management of the system configuration, the functionality they offer, etc.
- the present invention facilitates intervention in the configuration process to people with different profiles, from people with business roles, to people with highly specialized technical roles.
- the present invention also facilitates interoperability between systems of the same family as far as their configuration is concerned, so that a configuration model can be transformed into a specific configuration for a family system, and that it can be deployed therein according to the languages, parameters and rules that the system manufacturer establishes.
- an existing configuration already deployed in a system can be modeled with the present invention through an import and, once modeled, can be transformed into a configuration for another system (possibly from a different manufacturer) of the same family with the same behavior, since it has been modeled, thus facilitating the Migration of existing configurations.
- the present invention also allows the diagnosis of the model based on different criteria (consistency, non-redundancy, etc.), so that failures can be detected, identified, characterized and corrected before deploying the configurations in the systems.
- the modeling method for the management of configurations in information systems comprises a stage of behavioral meta-modeling and structural meta-modeling that determine the behavioral and structural concepts that are they can use and continue to build a model; and where through the meta - model of behavior the behavior of the systems is modeled based on their functionality, which is determined by their characteristics, while the structural model derived from the structural meta - model specifies that part of the system configuration or systems that are not part of their behavior; all this in such a way that the combination of both models gives rise to the modeled behavior of a device; and that is characterized because both structural and behavioral modeling are performed based on a sequential refining process that consists of several stages of modeling based on an initial modeling.
- each modeling stage corresponds to a different level of abstraction, this level of abstraction representing the ligature with respect to the real system.
- the initial model is in accordance with its initial meta - model which includes the minimum concepts necessary to model the common behavior of the systems that are part of a family of systems, representing the highest level of abstraction of all stages Modeling
- refinement in the model is achieved through the new concepts offered by the meta - models of the successive stages, so that the concepts of the second meta - model are added to the first meta - model through of inheritance, composition, union, intersection or any other operations determined.
- FIG 1.- This figure illustrates the main elements involved in modeling system configurations of a family.
- FIG 2.- This figure presents a diagram of the modeling stages that are part of the process of multiple refinements. Different types of transformations are included, as well as the corresponding meta-models.
- FIG 3.- This figure represents a possible grouping of the characteristics of any family of systems.
- FIG 4.- This figure illustrates an example of the application of a grouping of characteristics of a family of firewalls consisting of two systems. This grouping follows the same scheme as the generic example in Figure 3.
- FIG 5.- This figure illustrates an example of application of the modeling scheme proposed in the present invention for a characteristic of a family of firewalls that is composed of two systems.
- Fig. 1 In the process of modeling configurations, two main elements are involved (Fig. 1): a behavioral meta-model (104) and a structural meta-model (102).
- a meta-model determines the concepts that can be used and the rules that should be used Continue to build a model. Therefore, a model will always conform to its meta-model.
- the behavior (114) of the systems can be modeled based on their functionality, which is determined by their characteristics. For example, if the systems are f ⁇ rewalls, the rules of access control, address translation, rule registration, etc., will be modeled between the different systems that make up the network.
- models (112) that specify that part of the system configuration or systems that are not part of its behavior, such as the manufacturer, operating system, deployment environment, relationships between them (physical and logical), etc.
- the network topology will be modeled (the connections between network segments, classification of the zone security level, etc.) and the configuration of the operating system of each system (network interfaces, protocol stacks of communications, etc.).
- the combination of these two models produces the specific configurations for the structural model systems, so that the modeled behavior can be fulfilled (122).
- Each modeling stage can be a different level of abstraction or not, the former being usual.
- the level of abstraction represents the ligature with respect to the real system: the more abstract a model is, the more independent it is from the real systems.
- this first model also conforms to its meta-model (262).
- This meta-model usually offers the minimum concepts necessary to model the common behavior of the systems that are part of a family of systems, even at the level of business rules. It represents the highest level of abstraction of all stages of modeling. Thus, this first model could be built by people with a low technical or business profile.
- this first model will be refined.
- the refinement is achieved through the new concepts offered by the meta-models of the successive stages, so that the concepts of the second (264) are added to the first meta-model (262) through operations such as inheritance, composition, union, intersection, or any other.
- the first model (202) is transformed to a second model (204) by model-to-model transformation rules (222).
- This second model can now be refined through the new concepts available in its new meta-model (264).
- the way to move from one model (origin model) to another (destination model) is through transformations.
- Both models must conform to a meta-model, which can be the same or not, depending on whether the level of abstraction of the origin and destination models is the same, or not.
- Transformations are described through transformation languages that must also conform to their own meta-model (they have not been included in Figure 2 to improve their readability). Normally, transformations are defined on meta-models. Therefore, a transformation needs as input (at least) a model, the meta-model to which it conforms, the meta-model of the target model, and the definition of the transformation, returning as output a model or a set of them .
- a transformation is considered model to model (M2M) if it takes as input one or a set of models and produces as output one or a set of models.
- M2M model to model
- M2T model-to-text transformation.
- MDA Model-Driven Architecture
- OMG Object Management Group
- the refinement is repeated while there are levels of refinement modeling.
- the number of refinement modeling levels depends on the modeling that is made of the characteristics of each family of systems, with no fixed number of levels.
- the last refinement model (206) is obtained, according to its meta-model (266), which defines a global behavior independent of the structural model.
- This meta-model (266) will offer a lot of concepts to model compared to the first meta-model (262).
- the structural model (252) is included, which will also be in accordance with its meta-model (254).
- the model structural (252) specifies that part of the system or system configuration that is not part of its behavior, such as the number of systems available for deployment of the configuration, the manufacturers of the systems, types and versions of operating systems , the relationships between systems (physical and logical), availability of each system, software and hardware limitations of each system, etc.
- the structural model can be constructed through a process similar to that described for the behavior model, or by another modeling process, and you must specify at least one system to deploy the behavior model.
- the individual configuration models define the same behavior as the last refinement model (206). These individual behavior models are also conforming to their respective meta-models (268 to 272), and therefore, could also be retained at this level of modeling. Note that at this level of modeling, meta-models may include concepts that are related to totally specific characteristics of a particular family system. Finally, these individual models (208 to 212) are transformed into specific configurations (242 to 246) for a particular system through their respective M2T transformation rules (232 to 236). These configurations implement the individual configuration models, and usually include not only aspects related to the behavior of the system, but also those aspects necessary for the deployment of the configuration (such as configuration of network interfaces, auxiliary services, etc.).
- a configuration model could consist of access control of a firewall, but also the configuration of the operating system and the device where the firewall will run, so that the deployment (not only of the service (firewall)) can be made, but of the whole system, from the model and automatically.
- These transformations can also include optimizations that allow obtaining the configuration in the most optimal way for a given system.
- An optimization could be, for example, using few instructions instead of many to define a certain behavior to reduce the consumption of CPU and system memory.
- the optimizations that can be made will depend on the characteristics of each family system and also of each family itself. Thus, the modeling technician could choose different preferences when making optimizations, such as energy efficiency, lower memory consumption, lower CPU consumption ... and even several of them at the same time.
- M2T transformations can be set, for example, through input parameters to the M2T transformations or through a new model that takes these transformations. Again, this model can be made by a person with a different profile from the rest of the modeling technicians. In any case, the resulting configurations of the M2T transformations (232 to 236) can be interpreted directly by the real systems, according to the languages, parameters and rules that the manufacturer of each system has established.
- an initial meta-model there will be an initial meta-model, zero or more refinement meta-models, at least one M2M transformation between every two consecutive refinement meta-models (1: 1 transformations), one or more meta-configuration models of specific systems, a transformation from the last refinement meta-model to each system configuration meta-model (1: m transformation), and an M2T transformation from each of the configuration meta-models to a real system (transformations 1 :one).
- the structural behavior model becomes independent. The most direct consequence of this fact is that the same behavior model can be deployed in different structural models without therefore changing the behavior models performed, provided that the modeled characteristics are offered in the systems of the structural models where it is going to be perform the deployment.
- the modeling process described although it greatly facilitates the configuration of systems, cannot guarantee the absence of failures in configurations of different kinds, since these failures can be committed in any of the modeling stages.
- validation and diagnosis techniques can be used to identify and correct these faults before deploying configurations and in the most early possible.
- the validation consists of finding out if the model is well constructed or not (for example, its correction) and is usually used for its structure and semantics; while the diagnosis consists in giving an explanation of why a model is not well constructed. Diagnosis is usually a much more complex stage than validation, and usually includes validation.
- the diagnosis can be used to find explanations for different problems, such as inconsistencies and redundancies in the models.
- the validation and diagnosis stages can be executed at each modeling stage, and as models are created (online) or once they have been created (offline). Early fault diagnosis improves the quality of the resulting configurations, reduces the time spent testing and therefore the cost of the development cycle. These stages have not been included in Figure 2 in order to improve their readability.
- the process proposed in Figure 2 can be modified, for example, by adding or modifying modeling levels, introducing new models as input to the transformations, changing the order of the stages, and reducing or increasing the number of stages of validation and / or diagnosis or changing its place.
- concepts of some of the refinement levels are not needed.
- each meta-model in each of the levels of abstraction or modeling usually depend on the characteristics of the systems of a given family, since the characteristics are reflections of the functionalities of real systems.
- a set of systems is part of the same family because the systems usually offer exactly the same characteristics of each other, or similar characteristics with small differences.
- the major differences usually come in terms of how to configure them: languages used, interfaces, syntax and semantics of their operations, etc., even when all the family systems offer identical functionalities.
- Figure 4 shows an example where the characteristics for a family of firewalls have been grouped together, and where there are only two systems in it: IPTables and Cisco PIX in any versions.
- IPTables IPTables
- Cisco PIX IPTables
- Each level of modeling can offer the concepts necessary to model a complete characteristic, fragments of characteristics (of one or several), a set of characteristics, or any other variant.
- Characteristics modeled within the same level of abstraction may or may not be related to each other, just as those modeled at various levels of abstraction may or may not be related.
- the concepts used will model different characteristics or fragments of them.
- the purpose of the refinement models of the present invention (204 to 206) is precisely to allow these operations easily. Thus, by means of multiple refinements, different partial models of a characteristic can be combined until the desired behavior model is obtained.
- the decision of what concepts are offered at each level of abstraction can be determined based on several criteria (one or the combination of several), as was the case with the grouping by characteristics. Examples of these criteria may be whether a certain complete characteristic is shared by all systems within the family or not (exclusivity), the complexity of a characteristic (it may be necessary to use several concepts to model it), the frequency of use of a characteristic, the variability of the characteristics, the relationships that may exist between several characteristics, etc. In fact, it is also possible to use the grouping of features already made to build the meta-models in this way. An example for a family of firewalls is shown in Figure 5. On this occasion a single feature (“packet filtering”) has been represented for two different firewalls (502,504).
- This feature has, in turn, been divided into several subcharacters using a tree representation, although any other would be possible.
- the subcharacteristics are represented generically with a symbol (a letter plus a number), the main feature being "packet filtering" the root of the tree. If the same sub-feature exists in both firewalls, the same symbol is used to identify it. In order to improve the understanding of the example, it has been used a criterion based on the level of abstraction to decide which concepts will be associated with each characteristic.
- the structural model can assist the modeling technician as to what concepts he can use depending on the degree of reuse of the behavioral models he wants to have. If the technician needs the modeling to be deployable regardless of what systems exist in the structural model and therefore in reality, he can only use concepts that are shared among all the systems in the same family. However, if you know what systems you will have available, you can model behavior that corresponds to characteristics that are unique to these systems.
- the meta-models are, in turn, made in a modular way, where each module can contain the meta-model of a characteristic or a set of them. Therefore, the concepts available at a modeling level could be determined not only by a meta-model, but by a set of meta-models. Again, the criteria for carrying out this modularization can be very varied, and those described for grouping by characteristics or for assigning concepts to the meta-models mentioned above can be taken as examples. In this way, the modeling technician can not only choose what levels of abstraction he will use during modeling, but what concepts are needed at an abstraction level.
- the meta-models (and therefore the available concepts) of each level of abstraction can be created differently and dynamically during modeling, adjusting the complexity of the modeling process to the needs of the modeling technician.
- some concepts of Lower modeling levels may depend on others for higher levels, so that there is a dependency relationship between them. What to do with these dependency relationships is a process design problem that is solved differently for each family of systems. For example, only those concepts that do not have dependencies on others can be left as optional, or the use of concepts at lower levels that depend on others at higher levels can be prevented if they have not been used.
- the transformations can also be done in a modular way, assigning an M2M transformation to each module or to each modeled characteristic, since each module will have its own associated meta-model M2T transformations can also be performed in a modular way.
- each characteristic can be assigned an M2T transformation for each family system, so that the monolithic M2T transformation would be equivalent to the composition of the partial M2T transformations. Thus a greater degree of reuse in the transformations is obtained.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Economics (AREA)
- Human Resources & Organizations (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Game Theory and Decision Science (AREA)
- Software Systems (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Método de modelado para la gestión de configuraciones en sistemas de información que comprende una etapa de meta-modelado de comportamiento (104) y de meta- modelado estructural (102) que determinan los conceptos de comportamiento y estructurales que se pueden usar y seguir para construir un modelo; y donde a través del meta - modelo de comportamiento (104) se modela el comportamiento (114) de los sistemas en base a su funcionalidad, que viene determinada por sus características, mientras que el modelo estructural (112) derivado del meta - modelo estructural (102) especifica aquella parte de la configuración del sistema o sistemas que no forman parte de su comportamiento; todo ello de tal forma que la combinación de ambos modelos (112,114) da lugar al comportamiento modelado (122) de uno o varios dispositivos; y que se caracteriza porque tanto el modelado estructural (112) como el de comportamiento (114) se realizan en base a un proceso de refinado secuencial que se compone de varias etapas de modelado partiendo de un modelo inicial (202).
Description
MÉTODO DE MODELADO PARA LA GESTIÓN DE CONFIGURACIONES EN
SISTEMAS DE INFORMACIÓN
La presente invención se encuadra en el sector técnico de los métodos y sistemas para la gestión y modelado de las configuraciones en distintos sistemas de información.
ESTADO DE LA TÉCNICA ANTERIOR
La gestión de configuraciones en sistemas de información consiste en la obtención de un inventario de los sistemas a gestionar, la obtención de su configuración, si ésta existe, su posible modificación, su desplegado, e incluso posibles migraciones entre sistemas de distintos fabricantes, pero dentro de una misma familia.
Una configuración es el conjunto de parámetros y reglas que define el comportamiento de uno o varios sistemas. Por ejemplo, una única configuración puede regir el comportamiento de un único sistema, o de varios. En muchas ocasiones, en la configuración hay que tener en cuenta el entorno donde éstas se despliegan, como sistemas físicos, sistemas operativos, servicios disponibles, conexiones de red entre sistemas y otros. De cara a definir el comportamiento global de un conjunto de sistemas, se pueden combinar varias configuraciones, relacionadas o no entre sí.
Un sistema de información puede ser tanto un software (como un ERP, por ejemplo) como un dispositivo que ejecuta un software (como un router). Por otro lado, una familia de sistemas de información es un conjunto de sistemas o productos que persiguen el mismo objetivo y con los que se pueden realizar tareas similares, es decir, que tienen una funcionalidad similar. También se suele denominar línea de productos. Ejemplos de estas familias son los firewalls, switches, routers, sistemas de gestión de bases de datos, ERP, etc. Así pues, los sistemas dentro de una misma familia suelen ofrecer exactamente la misma funcionalidad unos respecto de otros, o bien una funcionalidad con escasas diferencias.
Finalmente, en la presente memoria descriptiva se entenderá por característica, el reflejo de una o varias funcionalidades que puede ofrecer uno o varios sistemas de una misma familia de sistemas.
En general, la gestión de la configuración de los sistemas de información es muy compleja. Durante el proceso de configuración intervienen muchos aspectos, tales
como las reglas de negocio, la complejidad del sistema, la red de interconexión, el soporte y la información que ofrece el fabricante, la habilidad y formación de las personas que intervienen en el proceso, el software de apoyo que se utiliza, etc. Hoy en día, la complejidad de los sistemas y redes que los interconectan es muy elevada, tanto en su estructura como su funcionalidad, y se prevé que durante los próximos años esta complejidad aumente mucho más. Entre los sistemas que forman una misma familia pueden existir grandes diferencias en cuanto a la sintaxis del lenguaje que se utiliza para configurarlos, el número de parámetros de configuración, la semántica de las operaciones y de los parámetros de configuración, las diferencias en hardware que pueden provocar diferencias en la gestión de la configuración del sistema, especialmente si son sistemas ofrecidos por distintos fabricantes, etc. Dentro de un mismo fabricante, los cambios suelen ser de menor calado para sistemas de la misma familia, aunque las diferencias suelen ser más acusadas entre sistemas de gamas diferentes, o entre sistemas más antiguos respecto de los más modernos. Hoy en día, además, suelen coexistir diferentes familias de sistemas, donde dentro de cada familia existirán sistemas de diferentes fabricantes, y donde para cada fabricante pueden existir diferentes versiones de sistemas o productos.
A consecuencia de esta situación tan compleja, los técnicos que se encargan de la gestión de sistemas suelen estar especializados en la gestión de determinadas familias de sistemas, siendo habitual que sean expertos en gestión de productos de determinados fabricantes. Por ejemplo, en una empresa suelen existir técnicos para gestionar bases de datos, para gestionar ERP, para gestionar firewalls y otros dispositivos de red similares como routers y switches. Estos técnicos suelen ser personas diferentes y su conocimiento tecnológico de la familia de sistemas no es transferible a otras familias diferentes, debido a las grandes diferencias de funcionalidad existentes entre ellas. Sin embargo, la experiencia y conocimiento en la gestión de un sistema o producto dentro de una determinada familia sí que podría ser útil para otros sistemas dentro de la misma familia.
Por ejemplo, un experto en firewalls del fabricante Cisco® podría utilizar sus conocimientos para gestionar otros firewalls de otros fabricantes diferentes, aunque para ello tendrá que conocer las características específicas de los otros fabricantes, la sintaxis del lenguaje que se utiliza para configurarlo, el número de parámetros de configuración, la semántica de las operaciones y de los parámetros de configuración, las diferencias en hardware que pueden provocar diferencias en la gestión de la configuración, etc. Esta situación es la que produce que, en la práctica, un experto en
un producto de un determinado fabricante de una familia, no pueda gestionar la configuración de otros productos de la misma familia (pero de otros fabricantes) con los conocimientos que ya posee sobre uno de los fabricantes. Es decir, se impide la reutilización de conocimientos. Esta situación se agrava aún más cuando dentro de un mismo fabricante, existen también diferencias debidas a las diferentes versiones de los productos. Las diferencias más habituales en este sentido suelen darse en productos con diferentes versiones de software y/o con diferencias de hardware significativas.
A estas dificultades hay que sumarle el hecho de que estas configuraciones suelen realizarse en base a determinados requisitos funcionales, no funcionales y de información. Estos requisitos, en muchos casos no vienen especificados por escrito, pueden darse ambigüedades, redundancias y contradicciones fácilmente, y suelen tener mucha variabilidad a lo largo del tiempo. La transformación desde estos requisitos a una configuración determinada no es un proceso sencillo, ya que suelen venir descritos a través de reglas de negocio (es decir, en un lenguaje no técnico) y deben trasladarse por un técnico a un sistema o un conjunto de sistemas que implementarán dichos requisitos. Es frecuente también que unos requisitos interactúen con otros, y que la modificación de uno de ellos implique la de otros. Así, las ambigüedades que podrían tener estas reglas de negocio serían transferidas directamente a las configuraciones. Por otra parte, durante la configuración de los sistemas, podrían darse nuevas ambigüedades, redundancias y contradicciones, que se sumarían a las anteriores. Como consecuencia de este proceso desligado, largo, complejo y costoso, las configuraciones de sistemas suelen contener fallos que podrían provocar diferentes tipos de errores, como por ejemplo de funcionamiento o de seguridad.
Si bien existen métodos que permiten gestionar sistemas de información dentro de una misma familia de forma genérica, especialmente en el ámbito de la gestión de configuración para dispositivos de interconexión de redes, estos métodos suelen tener como punto de partida un modelo muy complejo que ofrece todos los conceptos necesarios para modelar configuraciones de cualquier sistema de la familia, e incluso de varias familias similares, como por ejemplo routers y firewalls conjuntamente. Esto se define como un modelo maximal.
Un modelo se define como una representación abstracta de la estructura de un sistema o conjunto de sistemas, de una funcionalidad, de un comportamiento o de cualquier combinación entre ellos.
Sin embargo, al ofrecerse un modelo tan complejo, muchos de sus conceptos podrían no usarse en la mayoría de las ocasiones por el técnico modelador, por ejemplo, porque sean conceptos muy específicos para un sistema de un fabricante determinado y que tienen una frecuencia de uso muy baja. Esta situación complicaría la tarea de modelado a la vez que no permitiría la intervención en el proceso a personas con un perfil menos técnico. Además, al ofrecer todos los conceptos en una única etapa de modelado, podría ocurrir el caso de que alguno de ellos no tuviera una correspondencia para un sistema determinado dentro de la familia, por lo que la configuración modelada no podría desplegarse en él, pudiendo producir inconsistencias entre el modelo y la configuración real. La solución más habitual para este caso suele ser modelar por separado los diferentes sistemas dentro de una familia y todas sus versiones, para poder ofrecer al técnico modelador la posibilidad de elegir el sistema a modelar al inicio del proceso de modelado de entre los modelos existentes en un repositorio. Aunque esta solución alivia bastante la complejidad del proceso de configuración, suele producir como efecto lateral que las configuraciones sean poco portables entre sistemas dentro de la misma familia, a la vez que el técnico modelador aún necesite tener conocimiento del sistema concreto (fabricante, versión del producto, etc.) para el que va a modelar la configuración.
Se localizan ejemplos de métodos como los indicados en los documentos US2010/0146095, US6349306 y WO2011/047733. En estos documentos, básicamente, se propone una arquitectura top-down donde en el primer nivel de abstracción existe un modelo maximal, presentando el inconveniente de que hay conceptos en el modelado que no se comparten entre sistemas y, por tanto, no se define qué hacer con ellas a la hora de generar las configuraciones. Por esta misma razón es complicado realizar migraciones entre sistemas diferentes.
Por otro lado, en US2010/0146095 además se propone el modelado de sistemas incluyendo modelos de lenguajes. Por tanto, es necesario tener repositorios de estos modelos, aumentándose el número de modelos necesarios y las transformaciones entre ellos.
Por estas razones, se necesita un método que permita intervenir en el proceso de modelado de configuración a personas con diferentes perfiles (más o menos técnicos), que los conceptos ofrecidos estén adaptados a todos los perfiles de personas que intervengan en el modelado, que ofrezca unos conceptos que sean homogéneos para
todos los sistemas dentro de una familia, que permita diagnosticar diferentes tipos de fallos en los modelos, que haga los modelos portables entre diferentes sistemas dentro de una misma familia de cara a automatizar migraciones, y que pueda desplegar los modelos automáticamente sobre sistemas reales en diferentes entornos de desplegado. De esta manera, se pueden construir aplicaciones informáticas y dispositivos que reduzcan más el coste de gestión de configuración de sistemas de información.
EXPLICACIÓN DE LA INVENCIÓN
En el método de modelado para la gestión de configuraciones en sistemas de información, objeto de la presente invención, se parte de una arquitectura bottom - up, donde se parte de un modelo minimal, al que se van añadiendo conceptos en función de los distintos criterios, incluyendo la información de las plataformas que hay en realidad, de cara a guiar el proceso de modelado y así poder elegir conceptos específicos para ellas o no, a discreción del modelador, en función del grado de reutilización que quiera obtener de los modelos.
Así pues, a diferencia del estado de la técnica conocido, la presente invención proporciona un método para gestionar configuraciones de cualquier tipo de familia de sistema de información, donde entre los sistemas dentro una familia pueden existir diferencias en cuanto a la sintaxis del lenguaje que se utiliza para configurarlos, el número de parámetros de configuración, la semántica de las operaciones y de los parámetros de configuración, las diferencias en hardware que pueden provocar diferencias en la gestión de la configuración del sistema, la funcionalidad que ofrecen, etc.
Entre otras cosas, la presente invención facilita la intervención en el proceso de configuración a personas con diferentes perfiles, desde personas con roles de negocios, hasta personas con roles técnicos muy especializados.
La presente invención también facilita la interoperabilidad entre sistemas de la misma familia en cuanto a su a configuración se refiere, de manera que un modelo de configuración pueda transformarse en una configuración específica para un sistema de la familia, y que ésta pueda desplegarse en él de acuerdo a los lenguajes, parámetros y reglas que el fabricante del sistema establezca.
Así mismo, una configuración existente y ya desplegada en un sistema puede ser
modelada con la presente invención a través de una importación y, una vez modelada, puede ser transformada en una configuración para otro sistema (posiblemente de un fabricante diferente) de la misma familia con idéntico comportamiento, ya que éste ha sido modelado, facilitando así la migración de configuraciones existentes. La presente invención también permite el diagnóstico del modelo en base a diferentes criterios (consistencia, no redundancia, etc.), de manera que se puedan detectar, identificar, caracterizar y corregir fallos antes del despliegue de las configuraciones en los sistemas.
Para ello, y en un primer aspecto de la invención, el método de modelado para la gestión de configuraciones en sistemas de información comprende una etapa de meta- modelado de comportamiento y de meta-modelado estructural que determinan los conceptos de comportamiento y estructurales que se pueden usar y seguir para construir un modelo; y donde a través del meta - modelo de comportamiento se modela el comportamiento de los sistemas en base a su funcionalidad, que viene determinada por sus características, mientras que el modelo estructural derivado del meta - modelo estructural especifica aquella parte de la configuración del sistema o sistemas que no forman parte de su comportamiento; todo ello de tal forma que la combinación de ambos modelos da lugar al comportamiento modelado de un dispositivo; y que se caracteriza porque tanto el modelado estructural como el de comportamiento se realizan en base a un proceso de refinado secuencial que se compone de varias etapas de modelado partiendo de un modelado inicial.
Se ha de tener en cuenta que cada etapa de modelado se corresponde con un nivel de abstracción diferente, representando este nivel de abstracción la ligadura respecto del sistema real. Por otro lado, el modelo inicial es conforme a su meta - modelo inicial el cual comprende los conceptos mínimos necesarios para modelar el comportamiento común de los sistemas que forman parte de una familia de sistemas, representando el nivel de abstracción más alto de todas las etapas de modelado.
Cabe indicar, además, que el refinamiento en el modelo se consigue a través de los nuevos conceptos que ofrecen los meta - modelos de las etapas sucesivas, de manera que al primer meta - modelo se le añaden los conceptos del segundo meta - modelo a través de operaciones de herencia, composición, unión, intersección o cualesquiera otra que se determine.
A lo largo de la descripción y las reivindicaciones la palabra "comprende" y sus
variantes no pretenden excluir otras características técnicas, aditivos, componentes o pasos. Para los expertos en la materia, otros objetos, ventajas y características de la invención se desprenderán en parte de la descripción y en parte de la práctica de la invención. Los siguientes ejemplos y dibujos se proporcionan a modo de ilustración, y no se pretende que sean limitativos de la presente invención. Además, la presente invención cubre todas las posibles combinaciones de realizaciones particulares y preferidas aquí indicadas.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
FIG 1.- Esta figura ilustra los elementos principales que intervienen en el modelado de configuraciones de sistemas de una familia.
FIG 2.- En esta figura se presenta un esquema de las etapas de modelado que forman parte del proceso de múltiples refinamientos. Se incluyen diferentes tipos de transformaciones, así como los meta-modelos correspondientes .
FIG 3.- Esta figura representa una posible agrupación de las características de una familia de sistemas cualquiera.
FIG 4.- En esta figura se ilustra un ejemplo de aplicación de una agrupación de características de una familia de firewalls que consiste en dos sistemas. Esta agrupación sigue el mismo esquema del ejemplo genérico de la Figura 3.
FIG 5.- Esta figura ilustra un ejemplo de aplicación del esquema de modelado propuesto en la presente invención para una característica de una familia de firewalls que se compone de dos sistemas.
EXPOSICIÓN DETALLADA DE UN MODO DE REALIZACIÓN Y EJEMPLOS
En el proceso de modelado de configuraciones intervienen dos elementos principales (Fig.l): un meta-modelo de comportamiento (104) y un meta-modelo estructural (102).
Un meta-modelo determina los conceptos que se pueden usar y las reglas que se deben
seguir para construir un modelo. Por tanto, un modelo siempre será conforme a su meta-modelo. A través del meta-modelo de comportamiento (104) se puede modelar el comportamiento (114) de los sistemas en base a su funcionalidad, que viene determinada por sus características. Por ejemplo, si los sistemas son fírewalls, se modelarán las reglas de control de acceso, de traslación de direcciones, registro de reglas, etc., entre los diferentes sistemas que forman la red.
Con el meta-modelo estructural (102) se pueden construir modelos (112) que especifiquen aquella parte de la configuración del sistema o sistemas que no formen parte de su comportamiento, como el fabricante, sistema operativo, el entorno de desplegado, las relaciones entre ellos (físicas y lógicas), etc. Volviendo al ejemplo de los fírewalls, se modelará la topología de la red (las conexiones entre segmentos de red, clasificación del nivel de seguridad de zonas, etc.) y la configuración del sistema operativo de cada sistema (interfaces de red, pilas de protocolos de comunicaciones, etc.). La combinación de estos dos modelos produce las configuraciones específicas para los sistemas del modelo estructural, de manera que se pueda cumplir con el comportamiento modelado (122).
Tanto el modelado estructural como de comportamiento se realizan en base a un proceso de refinamiento secuencial que se compone de varias etapas de modelado (FIG.2) partiendo de un modelo inicial (202).
Cada etapa de modelado puede ser un nivel de abstracción diferente o no, siendo habitual lo primero. El nivel de abstracción representa la ligadura respecto al sistema real: mientras más abstracto es un modelo, más independiente es de los sistemas reales. Como todos los modelos, este primer modelo también es conforme a su meta- modelo (262). Este meta-modelo suele ofrecer los conceptos mínimos necesarios para modelar el comportamiento común de los sistemas que forman parte de una familia de sistemas, incluso a nivel de reglas de negocio. Representa el mayor nivel de abstracción de todas las etapas de modelado. Así, este primer modelo podría ser construido por personas con perfil poco técnico o de negocio.
En función de las necesidades de modelado (funcionalidad que se desea modelar) y del conocimiento del entorno tecnológico del técnico modelador, este primer modelo se irá refinando. El refinamiento se consigue a través de los nuevos conceptos que ofrecen los meta-modelos de las etapas sucesivas, de manera que al primer meta- modelo (262) se le añaden los conceptos del segundo (264) a través de operaciones
como pueden ser la herencia, composición, la unión, la intersección, o cualquier otra.
A continuación, el primer modelo (202) se transforma a un segundo modelo (204) mediante reglas de transformación modelo a modelo (222). Este segundo modelo ya se puede refinar a través de los nuevos conceptos disponibles en su nuevo meta- modelo (264). La manera de pasar de un modelo (modelo origen) hasta otro (modelo destino) es a través de transformaciones. Ambos modelos deben ser conformes a un meta-modelo, que puede ser el mismo o no, dependiendo de si el nivel de abstracción de los modelos origen y destino es el mismo, o no.
Las transformaciones se describen a través de lenguajes de transformación que también deben ser conformes a su propio meta-modelo (no se han incluido en la figura 2 para mejorar su legibilidad). Normalmente, las transformaciones se definen sobre meta-modelos. Por ello, una transformación necesita como entrada (al menos) un modelo, el meta-modelo al que es conforme, el meta-modelo del modelo de destino, y la definición de la transformación, devolviendo como salida un modelo o un conjunto de ellos.
Una transformación se considera modelo a modelo (M2M) si toma como entrada uno o un conjunto de modelos y produce como salida uno o un conjunto de modelos. Sin embargo, si el resultado es un conjunto de artefactos textuales o una implementación, se denomina transformación modelo a texto (M2T). De esta forma es como, por ejemplo, se realizan las transformaciones en la metodología Model-Driven Architecture (MDA) del Object Management Group (OMG), que puede utilizarse para una implementación de la presente invención, existiendo otras metodologías igualmente válidas.
De manera secuencial, el refinamiento se repite mientras queden niveles de modelado de refinamiento. El número de niveles de modelado de refinamiento depende del modelado que se haga de las características de cada familia de sistemas, no existiendo un número fijo de niveles. Así, a través de una de las últimas transformaciones M2M (224) se obtiene el último modelo de refinamiento (206), conforme a su meta-modelo (266), y que define un comportamiento global e independiente del modelo estructural.
Este meta-modelo (266) ofrecerá una gran cantidad de conceptos para modelar en comparación con el primer meta-modelo (262). En este punto, se incluye el modelo estructural (252) que también será conforme a su meta-modelo (254). En el modelo
estructural (252) se especifica aquella parte de la configuración del sistema o sistemas que no forma parte de su comportamiento, como por ejemplo el número de sistemas disponibles para el desplegado de la configuración, los fabricantes de los sistemas, tipos y versiones de sistemas operativos, las relaciones entre los sistemas (físicas y lógicas), disponibilidad de cada sistema, limitaciones software y hardware de cada sistema, etc. También en él se pueden especificar aquellos parámetros que puedan guiar las transformaciones (226 a 230) hacia los modelos de configuración individuales (208 a 212), como por ejemplo preferencias para elegir ciertos sistemas de entre todos los disponibles, reglas para la asignación de configuraciones, etc. El modelo estructural se puede construir a través de un proceso similar al descrito para el modelo de comportamiento, o por otro proceso de modelado, y debe especificar al menos un sistema donde desplegar el modelo de comportamiento.
Al incluirse el modelo estructural (252) durante estas últimas transformaciones M2M (226 a 230), se pueden generar diferentes modelos de configuración individuales y específicos para los sistemas especificados en el modelo estructural (208 a 212). En la figura 2 se han incluido sólo tres, pero deberán existir tantas transformaciones como sistemas existan en la familia y, en un ejemplo de aplicación, se usarán tantas transformaciones como sistemas diferentes se usen del modelo estructural.
En su conjunto, los modelos de configuraciones individuales definen el mismo comportamiento que el último modelo de refinamiento (206). Estos modelos de comportamiento individuales también son conformes a sus respectivos meta-modelos (268 a 272), y por tanto, podrían retinarse también en este nivel de modelado. Nótese que en este nivel de modelado, los meta-modelos pueden incluir conceptos que estén relacionados con características totalmente específicas de un sistema concreto de la familia. Finalmente, estos modelos individuales (208 a 212), se transforman en configuraciones específicas (242 a 246) para un sistema concreto a través de sus respectivas reglas de transformación M2T (232 a 236). Estas configuraciones implementan los modelos de configuración individuales, y suelen incluir no sólo aspectos relacionados con el comportamiento del sistema, sino también aquellos aspectos necesarios para el desplegado de la configuración (tales como configuración de interfaces de red, de servicios auxiliares, etc.). Por ejemplo, un modelo de configuración podría consistir en las de control de acceso de un firewall, pero también en la configuración del sistema operativo y del dispositivo donde el firewall correrá, de manera que pueda hacerse el despliegue no sólo del servicio (firewall), sino de todo el sistema, a partir del modelo y de manera automática.
Estas transformaciones también pueden incluir optimizaciones que permitan obtener la configuración de la forma más óptima para un sistema determinado. Una optimización podría ser por ejemplo, utilizar pocas instrucciones en vez de muchas para definir un comportamiento determinado para reducir el consumo de CPU y de memoria del sistema. Las optimizaciones que puedan realizarse dependerán de las características de cada sistema de la familia y también de cada familia en sí misma. Así, el técnico modelador podría elegir diferentes preferencias a la hora de realizar optimizaciones, como eficiencia energética, menor consumo de memoria, menor consumo de CPU... e incluso varias de ellas a la vez. Estas preferencias se pueden establecer, por ejemplo, a través de parámetros de entrada a las transformaciones M2T o a través de un nuevo modelo que tomen estas transformaciones. De nuevo, este modelo puede hacerse por una persona con un perfil diferente del resto de los técnicos modeladores. En cualquier caso, las configuraciones resultantes de las transformaciones M2T (232 a 236) pueden ser interpretadas directamente por los sistemas reales, de acuerdo a los lenguajes, parámetros y reglas que el fabricante de cada sistema haya establecido.
Según este proceso, existirá un meta-modelo inicial, cero o más meta-modelos de refinamiento, al menos una transformación M2M entre cada dos meta-modelos de refinamiento consecutivos (transformaciones 1 :1), uno o más meta-modelos de configuración de sistemas específicos, una transformación desde el último meta- modelo de refinamiento a cada meta-modelo de configuración de sistema (transformación 1 :m), y una transformación M2T desde cada uno de los meta-modelos de configuración a un sistema real (transformaciones 1 :1). Nótese que a través de este proceso de modelado se independiza el modelo de comportamiento del estructural. La consecuencia más directa de este hecho es que un mismo modelo de comportamiento puede desplegarse en modelos estructurales diferentes sin que por ello deban cambiar los modelos de comportamiento realizados, siempre que las características modeladas se ofrezcan en los sistemas de los modelos estructurales donde se vaya a realizar el desplegado.
El proceso de modelado descrito, aunque facilita mucho la configuración de sistemas, no puede garantizar la ausencia de fallos en las configuraciones de diferente índole, ya que estos fallos se pueden cometer en cualquiera de las etapas de modelado. Sin embargo, se pueden usar técnicas de validación y diagnosis de cara a identificar y corregir estos fallos antes del desplegado de configuraciones y de la forma más
temprana posible. La validación consiste en averiguar si el modelo está bien construido o no (por ejemplo, su corrección) y suele utilizarse para su estructura y semántica; mientras que la diagnosis consiste en dar una explicación de por qué un modelo no está bien construido. La diagnosis suele ser una etapa mucho más compleja que la validación, y suele incluir a la validación. Al igual que la validación, la diagnosis se puede utilizar para buscar explicaciones a diferentes problemas, como por ejemplo inconsistencias y redundancias en los modelos. Las etapas de validación y diagnosis se pueden ejecutar en cada etapa de modelado, y a medida que se crean los modelos (online) o una vez se han creado (offline). El diagnóstico temprano de fallos mejora la calidad de las configuraciones resultantes, reduce el tiempo dedicado al testado y por tanto el coste del ciclo de desarrollo. Estas etapas no se han incluido en la figura 2 de cara a mejorar su legibilidad.
Téngase en cuenta que el proceso propuesto en la figura 2 puede ser modificado, por ejemplo, añadiendo o modificando niveles de modelado, introduciendo nuevos modelos como entrada a las transformaciones, cambiando el orden de las etapas, y reduciendo o aumentando el número de etapas de validación y/o diagnosis o cambiando su lugar. Por ejemplo, es posible que durante el proceso de modelado no se necesiten conceptos de algunos de los niveles de refinamiento. De hecho, también sería posible que, de todos los conceptos que ofrece un meta-modelo, no se usen todos para especificar comportamiento. En estos casos, aunque las transformaciones se ejecuten, el técnico modelador puede decidir no especificar nada nuevo en los modelos. De esta forma, es posible evitar todos o algunos de los niveles de modelado. También sería posible volver a niveles de modelado anteriores si fuera necesario. Por otra parte, es posible que sea necesaria la incorporación del modelo estructural en las transformaciones M2M de entre cualesquiera dos modelos, para por ejemplo, limitar los conceptos que se pueden usar de entre los que ofrecen los meta-modelos, en función de las características que ofrecen los sistemas disponibles, su forma de conexión, y en general en función de cualquier concepto que forme parte del modelo estructural.
Los conceptos ofrecidos por cada meta-modelo en cada uno de los niveles de abstracción o modelado suelen depender de las características de los sistemas de una determinada familia, ya que las características son reflejos de las funcionalidades de sistemas reales. A mayor número de características en un sistema, más comportamiento se podrá modelar y por tanto más ricos serán los meta-modelos.
Un conjunto de sistemas forma parte de la misma familia porque los sistemas suelen ofrecer exactamente las mismas características de unos respecto de otros, o bien características similares con pequeñas diferencias. Las diferencias mayores suelen venir en cuanto a la forma de configurarlos: lenguajes que se utilizan, interfaces, sintaxis y semántica de sus operaciones, etcétera, aun cuando todos los sistemas de la familia ofrezcan funcionalidades idénticas. Así, si la funcionalidad de un sistema se divide en características (figura 3), lo habitual es que éste tenga un conjunto mayoritario de características (302) que se comparte con otros sistemas de la misma familia, un segundo conjunto de características que se diferencian minoritariamente de las de otros sistemas (304), e incluyan un tercer conjunto de características que es exclusivo para un determinado sistema de la familia (306), aunque pueden existir muchas más variantes.
Todas estas características resumen la funcionalidad total que el sistema puede ofrecer. Así, dada una familia de sistemas, se puede modelar mediante características la funcionalidad que ofrecen todos sus sistemas. En la figura 4 se muestra un ejemplo donde se han agrupado las características para una familia de firewalls, y donde existen sólo dos sistemas en ella: IPTables y Cisco PIX en cualesquiera versiones. En este ejemplo, existe un conjunto donde se recogen las características comunes a los dos sistemas (402), otro donde hay características con pequeñas diferencias (404), y dos conjuntos más (406,408) donde se recogen las características que son específicas para IPTables y Cisco PIX respectivamente.
En la figura 4 existen algunas características que están en diferentes grupos al mismo tiempo. Esto es frecuente en aquellas características que tienen una parte que cumple el criterio que se ha establecido para la agrupación, y otra parte que no lo cumple. En este caso, la característica "filtrado de paquetes" tiene una parte común a los dos sistemas (402), pero otra parte que es específica para cada uno de los sistemas (406,408).
Si este ejemplo se extrapola a una gran familia con muchos sistemas de muy diversos fabricantes, y muchas versiones entre sistemas, la abstracción necesaria para poder llegar a una agrupación por características de este tipo requiere un gran esfuerzo. Nótese que, en el ejemplo, la agrupación se ha regido por un criterio de exclusividad, pero existen otros criterios que se pueden utilizar para agrupar las características de los sistemas, tales como por ejemplo la frecuencia de uso de las características, la similitud entre ellas, complejidad relativa, etc. e incluso varios criterios a la vez.
Una vez se tiene la agrupación de características de la familia, hay que decidir qué conceptos o primitivas se ofrecerán en cada nivel de modelado o abstracción de los disponibles en la presente invención (figura 2) de cara a modelar estas características. Cada nivel de modelado puede ofrecer los conceptos necesarios para modelar una característica completa, fragmentos de características (de una o de varias), un conjunto de características, o cualquier otra variante. Las características modeladas dentro de un mismo nivel de abstracción pueden estar relacionadas entre sí o no estarlo, al igual que las que se modelan en varios niveles de abstracción pueden estar relacionadas o no. De esta forma, para modelar un comportamiento determinado, puede ser necesaria la utilización de conceptos en diferentes niveles de abstracción. Los conceptos utilizados modelarán diferentes características o fragmentos de ellas. El objetivo de los modelos de refinamiento de la presente invención (204 a 206) es precisamente permitir fácilmente estas operaciones. Así, mediante múltiples refinamientos se pueden combinar diferentes modelos parciales de una característica hasta obtener el modelo del comportamiento deseado.
La decisión de qué conceptos se ofrecen en cada nivel de abstracción puede venir determinada en base a varios criterios (uno o la combinación de varios), como ocurría con la agrupación por características. Ejemplos de estos criterios pueden ser si una determinada característica completa se comparte por todos los sistemas dentro de la familia o no (exclusividad), la complejidad de una característica (puede ser necesario el uso de varios conceptos para modelarla), la frecuencia de uso de una característica, la variabilidad de las características, las relaciones que puedan existir entre varias características, etc. De hecho, también es posible utilizar la agrupación de características ya realizada para construir los meta-modelos de esta forma. En la figura 5 se muestra un ejemplo para una familia de firewalls. En esta ocasión se ha representado una sola característica ("filtrado de paquetes") para dos firewalls diferentes (502,504). Esta característica se ha dividido, a su vez, en varias subcaracterísticas utilizando una representación en árbol, aunque cualquier otra sería posible. De cara a facilitar la comprensión del ejemplo, se han obviado el resto de características que pueden existir en esta familia. Por la misma razón, no se han considerado en el ejemplo relaciones entre características que pudieran existir. Las subcaracterísticas están representadas de forma genérica con un símbolo (una letra más un número), siendo la característica principal "filtrado de paquetes" la raíz del árbol. Si una misma subcaracterística existe en los dos firewalls, se utiliza el mismo símbolo para identificarla. De cara a mejorar la comprensión del ejemplo, se ha
utilizado un criterio basado en el nivel de abstracción para decidir qué conceptos se asociarán a cada característica. De esta forma, en los niveles de modelado superiores se ofrecerán aquellos conceptos que modelen las características más abstractas (más desligadas del sistema, las que están más cerca de la raíz). Junto a cada uno de los meta-modelos de cada nivel de abstracción (512 a 522) se han incluido los símbolos correspondientes a las características que se pueden modelar para este ejemplo. De esta forma, a medida que se avanza en el proceso de modelado, los conceptos disponibles en los meta-modelos cada vez son más específicos de cada firewall cuya configuración se está modelando, hasta llegar a conceptos que sólo están disponibles en alguno de los dos firewalls (520,522).
Como no todos los sistemas de la familia ofrecen las mismas características, y dado que los conceptos que se ofrecen en los niveles de modelado estarán ligados, en algún momento, a una característica exclusiva de un sistema concreto o de un reducido conjunto de sistemas, se hace necesario especificar qué sistemas son los que están disponibles en el entorno de desplegado durante el modelado. Esta necesidad se suple con el modelo estructural que contiene, entre otras cosas, esta información. El modelo estructural puede asistir al técnico modelador en cuanto a qué conceptos puede utilizar en función del grado de reutilización de los modelos de comportamiento que quiera tener. Si el técnico necesita que el modelado sea desplegable independientemente de qué sistemas existan en el modelo estructural y por ende en la realidad, sólo podrá usar conceptos que se compartan entre todos los sistemas de la misma familia. Sin embargo, si sabe qué sistemas tendrá disponibles, podrá modelar comportamiento que se corresponda con características que son exclusivas de estos sistemas. Parece por tanto bastante natural que los meta-modelos estén, a su vez, realizados de forma modular, donde cada módulo puede contener el meta-modelo de una característica o un conjunto de ellas. Por tanto, los conceptos disponibles en un nivel de modelado podrían venir determinados no sólo por un meta-modelo, sino por un conjunto de meta-modelos. De nuevo, el criterio para realizar esta modularización puede ser muy variado, y se pueden tomar como ejemplos los descritos para la agrupación por características o para asignación de conceptos a los meta-modelos citados anteriormente. De esta forma el técnico modelador no sólo puede elegir qué niveles de abstracción usará durante el modelado, sino qué conceptos le son necesarios en un nivel de abstracción. Así, los meta-modelos (y por tanto los conceptos disponibles) de cada nivel de abstracción se pueden crear de forma diferente y dinámica durante el modelado, ajustándose la complejidad del proceso de modelado a las necesidades del técnico modelador. Sin embargo, hay que tener presente que algunos conceptos de
niveles de modelado inferiores pueden depender de otros de niveles superiores, de manera que exista una relación de dependencia entre ellos. Qué hacer con estas relaciones de dependencia es un problema de diseño del proceso que se resuelve de manera diferente para cada familia de sistemas. Por ejemplo, se pueden dejar como opcionales sólo aquellos conceptos que no tengan dependencias con otros, o bien impedir el uso de conceptos en niveles inferiores que dependan de otros de niveles superiores si éstos no se han usado.
Así, dado que a través de uno o varios módulos de un meta-modelo se pueden modelar comportamientos, las transformaciones también pueden hacerse de manera modular, asignando una transformación M2M a cada módulo o a cada característica modelada, ya que cada módulo tendrá asociado su propio meta-modelo. Las transformaciones M2T también pueden realizarse de forma modular. En vez de realizar una transformación M2T de forma monolítica al final del proceso propuesto en la invención, a cada característica se le puede asignar una transformación M2T por cada sistema de la familia, de manera que la transformación M2T monolítica sería equivalente a la composición de las transformaciones M2T parciales. Así se obtiene un mayor grado de reutilización en las transformaciones. Sin embargo, debe tenerse en cuenta el caso de que la combinación de modelos pueda dar lugar a un comportamiento que sea diferente que el de la suma de los dos comportamientos individuales, y que por tanto tendrán una transformación M2T diferente en conjunto que por separado. Por todo ello, puede ser necesario guardar la relación existente entre un concepto de un meta-modelo, la característica o características a la que está asociado, la plataforma que posee esa característica, y en su caso la transformación M2T para ella por cada sistema de la familia. Esta relación se puede guardar en cualquier formato, como por ejemplo un fichero o una base de datos.
Claims
1. - Método de modelado para la gestión de configuraciones en sistemas de información que comprende una etapa de meta-modelado de comportamiento (104) y de meta-modelado estructural (102) que determinan los conceptos de comportamiento y estructurales que se pueden usar y seguir para construir un modelo; y donde a través del meta - modelo de comportamiento (104) se modela el comportamiento (114) de los sistemas en base a su funcionalidad, que viene determinada por sus características, mientras que el modelo estructural (112) derivado del meta - modelo estructural (102) especifica aquella parte de la configuración del sistema o sistemas que no forman parte de su comportamiento; todo ello de tal forma que la combinación de ambos modelos (112,114) da lugar al comportamiento modelado (122) de uno o varios dispositivos; y que se caracteriza porque tanto el modelado estructural (112) como el de comportamiento (114) se realizan en base a un proceso de refinado secuencial que se compone de varias etapas de modelado partiendo de un modelo inicial (202).
2. - Método de modelado de acuerdo con la reivindicación 1 en donde cada etapa de modelado se corresponde con un nivel de abstracción diferente, representando este nivel de abstracción la ligadura respecto del sistema real.
3. - Método de modelado de acuerdo con la reivindicación 1 a 2 en donde el modelo inicial (202) es conforme a su meta - modelo (262) el cual comprende los conceptos mínimos necesarios para modelar el comportamiento común de los sistemas que forman parte de una familia de sistemas, representando el nivel de abstracción más alto de todas las etapas de modelado.
4. - Método de modelado de acuerdo con las reivindicaciones 1 a 3 en donde el refinamiento en el modelo se consigue a través de los nuevos conceptos que ofrecen los meta - modelos de las etapas sucesivas, de manera que a un primer meta - modelo (262) se le añaden los conceptos de otro meta - modelo (264) a través de operaciones de herencia, composición, unión, intersección o cualesquiera otra que se determine, todo ello en una o varias etapas de refinamiento.
5. - Método de modelado de acuerdo con las reivindicaciones 1 a 4 en donde el primer modelo (202) se transforma en un segundo modelo (204) mediante reglas de transformación modelo a modelo (222), refinándose a través de los nuevos conceptos disponibles en su nuevo meta - modelo (264); y en donde la manera de pasar del modelo de origen al de destino es mediante transformaciones.
6. - Método de modelado de acuerdo con las reivindicaciones 1 a 5 en donde una transformación necesita como entrada, al menos, un modelo, el meta - modelo al que es conforme, el meta - modelo del modelo de destino y la definición de la transformación, devolviendo como salida un modelo o un conjunto de ellos.
7. - Método de modelado de acuerdo con las reivindicaciones 1 a 6 en donde el número de niveles de modelado de refinamiento depende del modelado que se haga de las características de cada familia de sistemas, de tal forma que a través de una última transformación (224) se obtiene el último modelo de refinamiento (206) conforme a su meta - modelo (266).
8. - Método de modelado de acuerdo con las reivindicaciones 1 a 7 en donde en las últimas transformaciones (226 a 230) se incluye un modelo estructural (252) conforme a su meta - modelo (254), pudiéndose especificar aquellos parámetros que puedan guiar las transformaciones (226 a 230) hacia los modelos de configuración individuales (208 a 212).
9. - Método de modelado de acuerdo con las reivindicaciones 1 a 8 en donde el modelo estructural especifica al menos un sistema donde desplegar el modelo de comportamiento.
10. - Método de modelado de acuerdo con las reivindicaciones 1 a 9 en donde al incluir el modelo estructural (252) durante las últimas transformaciones (226 a 230) se pueden generar diferentes modelos de configuración individuales y específicos para los sistemas especificados en el modelo estructural (208 a 212).
11. - Método de modelado de acuerdo con las reivindicaciones 1 a 10 en donde en su conjunto los modelos de configuraciones individuales definen el mismo comportamiento que el último modelo de refinamiento (206) y son conformes a sus respectivos meta - modelos (268 a 272); y donde estos modelos individuales (208 a 212) se transforman en configuraciones específicas (242 a 246) para sistemas concretos a través de sus respectivas reglas de transformación modelo a texto (232 a 236).
12. - Método de acuerdo con las reivindicaciones 1 a 11 en donde las transformaciones modelo a texto (232 a 236) incluyen optimizaciones para un sistema determinado, mientras que las configuraciones resultantes de dichas transformaciones (242 a 246) pueden ser interpretadas directamente por los sistemas reales, de acuerdo a los lenguajes, parámetros y reglas que el fabricante de cada sistema haya establecido.
13. - Método de acuerdo con las reivindicaciones 1 a 12 en donde en el proceso de refinado existirá un meta-modelo inicial, cero o más meta-modelos de refinamiento, al menos una transformación modelo a modelo entre cada dos meta-modelos de refinamiento consecutivos (transformaciones 1:1), uno o más meta-modelos de configuración de sistemas específicos, una transformación desde el último meta- modelo de refinamiento a cada meta-modelo de configuración de sistema (transformación l:m), y una transformación modelo a texto desde cada uno de los meta-modelos de configuración a un sistema real (transformaciones 1:1).
14. - Método de acuerdo con las reivindicaciones 1 a 13 que comprende al menos una etapa de validación en alguna de las etapas de modelado. La validación se puede realizar a medida que se crean los modelos o una vez han sido creados.
15. - Método de acuerdo con las reivindicaciones 1 a 14 que comprende, al menos, una etapa de diagnosis en alguna de las etapas de modelado. La diagnosis se puede realizar a medida que se crean dichos modelos o una vez han sido creados.
16. - Sistema de modelado para la gestión de configuraciones en sistemas de información que comprende medios para ejecutar el método de las reivindicaciones 1 a 15.
17. - Un producto de software que comprende las instrucciones para ejecutar el método de las reivindicaciones 1 a 15.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| ES201101010 | 2011-09-13 | ||
| ESP201101010 | 2011-09-13 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2013038036A1 true WO2013038036A1 (es) | 2013-03-21 |
Family
ID=47882665
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/ES2012/000242 Ceased WO2013038036A1 (es) | 2011-09-13 | 2012-09-13 | Método de modelado para la gestión de configuraciones en sistemas de información |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2013038036A1 (es) |
-
2012
- 2012-09-13 WO PCT/ES2012/000242 patent/WO2013038036A1/es not_active Ceased
Non-Patent Citations (2)
| Title |
|---|
| POZO, S. ET AL.: "CONFIDDENT: A model-driven consistent and non-redundant layer-3 firewall ACL design, development and maintenance framework", JOURNAL OF SYSTEMS AND SOFTWARE, vol. 85, no. 2, February 2012 (2012-02-01), pages 425 - 457, XP028344956, ISSN: 0164-1212, Retrieved from the Internet <URL:http://www.sciencedirect.com/science/article/pii/50164121211002354> [retrieved on 20110910], DOI: doi:10.1016/j.jss.2011.09.008 * |
| VICENTE-CHICOTE, C. ET AL.: "APPLYING MDE TO THE DEVELOPMENT OF FLEXIBLE AND REUSABLE WIRELESS SENSOR NETWORKS", 2007. INTERNATIONAL JOURNAL OF COOPERATIVE INFORMATION SYSTEMS., vol. 16, no. 3/4, pages 393 - 412., Retrieved from the Internet <URL:http://www.worldscientific.com/doi/abs/10.1142/5021884300700172X> * |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN112631210B (zh) | 用于开发工业控制程序的系统、编程方法及计算机介质 | |
| US10664243B2 (en) | System and method for iterative generating and testing of application code | |
| CN106227605B (zh) | 一种多语言云编译的动态微服务扩容方法及装置 | |
| US9858046B2 (en) | System and method for implementing application code from application requirements | |
| US11848818B2 (en) | System and method for building idempotent configuration management modules for a cloud infrastructure service | |
| US8578329B1 (en) | System and method of application development using easier to redesign replaceable components | |
| US9977655B2 (en) | System and method for automatic extraction of software design from requirements | |
| JP7502283B2 (ja) | 人工知能/機械学習を用いたicsフローのオートコンプリートのためのシステムおよび方法 | |
| US20080109780A1 (en) | Method of and apparatus for optimal placement and validation of i/o blocks within an asic | |
| US11847443B2 (en) | Constraints-based refactoring of monolith applications through attributed graph embeddings | |
| US10949171B1 (en) | Tools, mechanisms, and processes for transforming modules for an application into pluggable modules | |
| WO2004095268A2 (en) | System and method for integrating object-oriented model profiles and object-oriented programming languages | |
| US10394756B2 (en) | System and method for customizing archive of a device driver generator tool for a user | |
| JP2017199359A (ja) | モデル駆動開発を使用するモバイルベースアプリケーションを開発するシステムおよび方法 | |
| CN109635028A (zh) | 数据查询方法及装置、服务器及计算机可读存储介质 | |
| CN104317559A (zh) | 基于gmf的可视化建模平台 | |
| US8196093B2 (en) | Apparatus and method for componentizing legacy system | |
| Johannes et al. | Abstracting complex languages through transformation and composition | |
| JP2007122135A (ja) | 開発支援装置、開発支援方法、および、開発支援プログラム | |
| WO2013038036A1 (es) | Método de modelado para la gestión de configuraciones en sistemas de información | |
| US20210272023A1 (en) | Information processing system and information processing method | |
| US11876681B2 (en) | Topology recommendation platform for application architecture | |
| CN102508648A (zh) | 一种图形引擎实现方法 | |
| CN110865803A (zh) | 面向未成年人的手机操作系统及其架构和生态发展方法 | |
| CN108572838A (zh) | 工业软件的升级方法、装置及系统 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 12831706 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 12831706 Country of ref document: EP Kind code of ref document: A1 |