The present invention, in some embodiments thereof, relates to creation of an updateable and modular analysis model having multiple viewpoints and, more specifically, but not exclusively, to creation of pluggable analysis viewpoints. These viewpoints define templates for analytical representation of system aspects using a framework employing ontological classification of system components by their attributes.
Systems Engineering governs the design process associated with the development of large-scale products through defining systems and subsystems requirements, their architecture, and critical parameters. As systems complexity increases, analysis simplification techniques are required for exploring feasible, safe, reliable and affordable designs.
There are currently several analysis simplification techniques that are most popular in helping handling the complexity: layering a system design process into several levels of abstraction, separation of concerns, and using automated computerized tools for modeling, optimization and analysis.
By layering a system model in multiple levels of abstraction, a design process is defined as a gradual sequential progression via these abstraction layers where only relevant layers are considered at a time, usually two, where the top layer is considered as the requirement layer from which requirements are extracted for its succeeding dependent lower layer which is the corresponding implementation layer. Each such design step includes a modeling phase and an analysis and optimization phase.
Complementary to levels of abstraction break down, separation of concerns is attained by further splitting the various system elements and their corresponding constraints (in each abstraction layer) into different perspectives called viewpoints. Viewpoints are generated according to interests and allow separation of concerns, for example, domains of expertise and stages in lifecycle. Consequently, a system can be thought of as derived composite contribution of all its viewpoints. Viewpoints are created for groups of elements and selected related constraints which are part of the designed system according to a set of interests. Different viewpoints of a system may include functional requirements, physical architecture, safety, geometry, timing, scenarios, etc. Even though partial interdependence may exist between different viewpoints, viewpoints are usually developed independently by different parties of interests involved in the design process and in most cases using different languages and tools. Furthermore, any viewpoint can serve as a contributing viewpoint for another set of generated models, e.g., for analysis of some system's properties. Consequently, we can expect a hierarchy of system viewpoints and corresponding analysis models.
Current modeling approaches for generating viewpoints are usually based on classification by containment, in which classes are first identified as having a set of contained system components as their members. Classes may be further decomposed into subclasses to have a more specific containment of system components. Classification by containment may result in variance in classes across viewpoints due to differences in concerns, constraints, functionality and interaction with other system components, architectural implementation, development languages and tools which may be local to each of the different viewpoints. The system constantly evolves as each development party analyses and optimizes the design using its own developed viewpoint(s) models and introduces changes and modifications to some viewpoints of the system. Every change or modification in a viewpoint may result in additional changes to adjacent viewpoint models, requiring these models to be updated. Moreover the design process is an iterative one, requiring continuous integration and adaptation. The differences in classification between viewpoints presents a major effort in integrating changes and modifications introduced to the system models and in turn another major effort in updating analysis models derived from all viewpoints.
Automated tools usage is essential to increasing productivity and reducing analysis, design, and development time. The variance in system components structure and viewpoints classification present an obstacle for using automated tools for integrating multiple viewpoints into one unified model and integration is mostly performed manually, presenting a major drawback in the design flow.
Despite partial interdependences between the viewpoints, models for each are usually developed independently. Moreover, in many cases viewpoints models are developed by different parties using different tools and languages. However, the essence of Systems Engineering requires an up to date complete system model in order to find meaningful designs and to make good architectural decisions. Maintaining an up to date system models requires repetitive integration of multiple viewpoints which are mapping between consecutive levels of abstractions and Design Space Exploration. This integration effort of the multiple viewpoints into one unified consistent model has becomes a significant challenge.
According to some embodiments of the present invention, there are provided methods, frameworks and computer program products for creation of pluggable analysis viewpoints over an updateable and modular design space model. These analysis viewpoints define templates for analytical representation of different system aspects by using a framework that employs ontological classification of system components by their attributes.
The methods described herein allow for automated and/or controlled maintenance of a unified up to date design space model by adapting changes made by users working with one or more modeling or analysis viewpoint models. As this is an iterative process, once the design space model is updated, the methods described herein allow the propagation of these changes and generation of updated viewpoints as an automatic and/or controlled process.
The present invention, in some embodiments thereof, uses a created updateable design space model prescribed by a plurality of domain perspectives. The proposed framework and method address the challenge of producing analysis templates based on the integrated data from these domain perspectives including the mechanisms required to access it in order to produce correct analysis models. One target usage of the invention relates to industrial Systems Engineering.
The basis for allowing propagation of update of the design space model and generation of updated viewpoints of that system lies within the concept of generalizing system components structure and classification of system components by properties and more specifically ontologically assignment of properties (attributes) to system components.
Generalization through ontological classification of system components by attribute allows separation of system components from their classification in the different viewpoints domains which is heavily dependent on architectural implementation and functionality, thus maintaining uniformity of classification across all domains.
According to some embodiments of the present invention, there is provided a framework for maintaining consistency of system components across all viewpoints models constituting a design space. The framework provides generalization of structuring system components through dedicated ontological attributes assignment, allowing automatic adaptation of changes to the modeling viewpoints, automatic generation of generated analysis models based on analysis viewpoints out of the design space model, and reuse of optimization models.
Using the framework allows automated update of the design space model to adapt changes made to the viewpoints by a user working with one or more of the viewpoint models. Further to that, the framework supports automatic generation of updated analysis models from analysis viewpoints and the updated design space model.
Some embodiments of the invention are herein described, by way of example only, with reference to the accompanying drawings. With specific reference now to the drawings in detail, it is stressed that the particulars shown are by way of example and for purposes of illustrative discussion of embodiments of the invention. In this regard, the description taken with the drawings makes apparent to those skilled in the art how embodiments of the invention may be practiced.
In the drawings:
a is a schematic illustration of an exemplary conceptual architecture of a design space using an ontology based framework, according to some embodiments of the present invention;
b is a schematic illustration of a second exemplary conceptual architecture of a design space using an ontology based framework, according to some embodiments of the present invention;
According to some embodiments of the present invention, there are provided methods, frameworks and computer program products for creation of a plurality of pluggable analysis viewpoints that define templates for analytical representation of different system aspects over an updateable and modular design space model having a plurality of viewpoints by employing generalization and ontological classification of system components by attributes.
The updatable design space model and the automatic generation and update of viewpoints is facilitated through generalization of system components' structure and maintaining uniformity in classification of the system components across the viewpoints. Classification of the generalized system components is done by property and more specifically by dedicated ontological assignment of valued properties (attributes) to system components.
A user analyzes and optimizes the design space model using one or more of analysis viewpoints encapsulating specific concerns. These analysis viewpoints may serve on their own where the analysis is actually executed, or alternatively, contribute to other generated analysis viewpoints. During analysis and optimization the user may introduce changes and modifications to the design. The changes and modifications made by the user need to be integrated back into one or more viewpoints of the system. The viewpoints are updated through addition, removal and/or aggregation of system components and/or through addition, removal and/or aggregation of attributes. Updates and changes to the design space model need to be propagated and adapted across the existing hierarchy of the modeling viewpoints models and the generated analysis viewpoints models. The uniform and generic nature of the design space model and its derived viewpoints enables the use of automated tools for creating and updating the modeling and analysis viewpoints.
Optionally, the design process is an iterative process having multiple iterations of modeling a system followed by analysis and optimization resulting in updated system model that is further optimized and so on.
As aforementioned, popular simplifications techniques for complex system design include layering a system design process into several levels of abstraction, separation of concerns, and using automated computerized tools for modeling, optimization and analysis.
Aspects of the present invention are described below with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention.
Reference is now made to
During development in an abstraction layer, viewpoints are developed to further split the system to different perspectives as seen by different parties involved in the design process. The viewpoint models are processed into a design space model which conforms to a generic component structure, namely, the design space ontology. The structure of the design space model includes a complete set of the attributes and inter-attributes that are originally present in the system viewpoints models. Design space components include intrinsic attributes which are considered to be inherent to a component. Design space components may share mutual attributes with one or more other design space components. These intrinsic and mutual attributes correspond to intrinsic or mutual attributes defined in modeling and/or analysis viewpoints. Classes of components are created based on property sets which were processed and represented in the design space rather than the containment of components which were classified in the system viewpoint models.
Optionally, new components evolve during the design process, as two or more components and/or two or more viewpoints are aggregated during modeling and/or optimization phases. New components are created in the design space model by adding and/or removing attributes in their generic structure representation.
More optionally, system components have mutual attributes which result from aggregating two or more components and/or two or more viewpoints and defines the relationship between two or more system components.
More optionally, a system component may belong to one or more classes in the design space model depending on the viewpoint, but the basic structure of all components remains unchanged. Attributes may be added or removed from components through ontological assignment in the appropriate attribute fields.
The ontological classification separates system components from classes and viewpoint models local considerations. Moreover, ontological classification maintains uniform representation of system components across the entire design space.
Implementation of generalized ontological attributes classification across the design space enables the use of automated tools that may dramatically increase efficiency and productivity.
According to some embodiments of the present invention, there is provided a framework for supporting generalization of system components and classification of system components by property, more specifically by valued property, referred to herein as attribute. The framework provides algebraic representation, API and libraries for defining system components, their inter relations, and corresponding axioms about the desired system design. Using this framework allows maintaining uniformity of system components representation across the different viewpoints supporting a unified design space model and allowing for simple and automated adaption of changes and modifications to the design space model through integration of the various viewpoints as well as automated generation and update of the various viewpoints. In addition to that it is possible to generate new viewpoints using two or more existing viewpoints in order to provide a user the ability to analyze and optimize system aspects according to his needs and interests.
Optionally, the framework includes previously developed analysis viewpoints through reusable pluggable libraries allowing reuse in the design process, further reducing design effort, making it more robust and efficient.
Reference is now made to
Optionally, the viewpoints 201, 202, 203, 204, 230, 231, 232 and/or 233 are aggregated from two or more other viewpoints.
More optionally, combination of viewpoints 201, 202, 203, 204, 230, 230, 231, 232 and/or 233 yield new system components having new mutual attributes. New components having new attributes conform to the generic component structure. Mutual attributes represent for example, routes and cuts in the design space model 200. New attributes are usually the result of mapping between specific viewpoints however the new attributes are added to the design space model 200 and may be propagated back to the modeling viewpoints 230, 231, 232 and/or 233. Adding the new attributes is essential in order to maintain uniformity of the design space model 200 while maintaining separation between the plurality of viewpoints 201, 202, 203, 204, 230, 231, 232 and 233.
More optionally, the modeling viewpoints 230, 231, 232 and/or 233 may be considered as basic viewpoints that are directly used to populate system components in the design space model 200. In addition to the basic-viewpoints models, the design space model 200 may be influenced by extended-viewpoints which may enrich existing system components with additional attributes or introduce new system components resulting from combination of two or more viewpoints 230, 231, 232 and/or 233. One such example of extended-viewpoints is relational viewpoints which may impose relational attributes describing connections between two or more system components.
More optionally, automated tools are used to import requirements from modeling viewpoints 230, 231, 232 and/or 233 to the unified design space model 200, and similarly from the analysis viewpoints 201, 202, 203 and/or 204 to the unified design space model 200.
More optionally, in case there are relations between components in different modeling viewpoints 230, 231, 232 and 233, they are typically expressed as mutual attributes in the design space model 200. Such relationships may exist between components in modeling viewpoints 230, 231, 232 and/or 233, between components in the analysis viewpoints 201, 202, 203 and/or 204 or between components in modeling viewpoints 230, 231, 232 and/or 233 and components in the analysis viewpoint 201, 202, 203 and/or 204.
More optionally, the analysis model 250 is not created within the framework 210. The analysis model 250 created using the analysis viewpoints 201, 202, 203 and/or 203 is created outside the framework 210, however the analysis model 250 is created according to the framework 210. Transformations between the analysis viewpoints 201, 202, 203 and/or 204 having their respective ontology 240, 241, 242 and 243 and the analysis model 250 as well as transformations between the analysis model 250 and the design space model 200 is done using the API 211.
Reference is now made to
Framework 210 provides functions and services through API 211 that includes a set of operators that are required for the inquiry of all data sets and any related information over which all algebraic expressions in the analysis viewpoints 210, 202, 203 and 204 should operate. All extracted data is constructed and stated according to the unified design space ontology 255. This way, the analysis viewpoints 201, 202, 203 and 204 become unaffected by the various specific ontological structures 220, 221, 222, and 223 underlying the modeling viewpoints 230, 231, 232 and 233. For example, the framework 210 enables combination of two or more viewpoints using operators like “Join” and “Filter”, retrieval of property/component/class using operators like “GetAttributeScope”, “GetProperties”, “GetMutualPropertyScope”, etc.
Optionally, the framework 210 provides adaptation services and operators for multiple uses, for example, converting units when units are expressed differently in different viewpoints 201, 202, 203, 204, 230, 231, 232 and/or 233 and/or adaptation components for connecting components libraries between viewpoints 201, 202, 203, 204, 230, 231, 232 and 233 and/or for synchronizing attributes across viewpoints 201, 202, 203, 204, 230, 231, 232 and/or 233.
More optionally, the framework 210 enables the inclusion of previously developed and verified analysis models available in the analysis viewpoints 201, 202, 203 and/or 204 that may be reused to expedite system design and enhance efficiency and robustness in the design process.
More optionally, the operators available through the API 211 include, for example, the following inquiry and manipulation handlers for the following operations:
add/modify/drop-Class({list of defining attributes})
insert/modify/drop-Component({list of intrinsic and mutual attributes })
insert/drop-Attribute(<name, value>)
link/unlink-Components(comp1name, comp2name, mutualAttribute)
getLinkedComponents(mutualAttribute)
getAllComponentsWithAttribute(attribute)
getAllClassComponents(class)
getAllComponentAttributes(component)
getIntrinsicComponentAttributes(component)
More optionally, the API 211 includes a set of model transformation operators to facilitate the required correspondence handling between external tool models, modeling and analysis viewpoints, and the unified design space model, for example:
import/export-Modeling/Analysis Viewpoint(toolModel)
manifestViewPointsIntoUnifiedModel({a set of modeling/analysis viewpoints})
publishUnifiedModeltoViewPoints({a set of modeling/analysis viewpoints})
verifyUnifiedModelVsViewpoints({a set of modeling/analysis viewpoints})
Reference is now made to
Optionally, the attribute base 205 includes mutual attributes 332 which are the result of combining two or more components 310 in one or more viewpoints 300 and represents the relation between two or more of the system components 310.
More optionally, attributes in the attribute base 330 include pre-determined attributes for which value is known and free attributes which are evaluated during the design process.
Reference is now made to
Optionally, design process 400 requires several iterations to explore and identify an optimal design implementation. Following an optimization session as shown in 404, a modification is performed in design space 200 and the design space model is updated accordingly as shown in 406. Updated viewpoints 201, 202, 203, 204, 230, 231, 232, and 233 are revised from the updated design space model as shown in 407. The process may branch back to 404 where the updated viewpoints 201, 202, 203, 204, 230, 231, 232 and/or 233 may be used for another optimization session. This iterative process may proceed until an optimal implementation is reached or some other completion criterion is met.
Reference is now made to
Optionally, multiple iterations required during the design process 400 are utilized by applying additional modifications in system 500 through the modification input module 505.
According to some embodiments of the present invention, there is provided a computer program product for creation of pluggable analysis viewpoints for a design space model 200 that define templates for analytical representation of different system aspects by employing generalization and ontological classification of system components 310 by attributes 330. The computer program follows the design process 400 and conforms to the framework 210 and API 211, thus maintaining the generic and uniform nature of the design space model 200.
Some embodiments of the present invention, are presented herein by means of an example, however the use of this example does not limit the scope of the present invention in any way. The example is a simple use case of a gradually evolving system that presents the advantages of following a unified ontology design space 200 in comparison to traditional classification by containment.
Reference is now made to
In the example, employing the approach of classification by containment, each component type (class) is defined by a different set of attributes. Additional information for the components contained in the classes is available in component libraries referred to as catalogs. Even though different classes may be defined by different sets of attributes, in this example, all classes have cost and weight attributes. Equation 1 below is an algebraic expression extracted from an optimization model viewpoint and describes total system cost:
Equation 1 employs objectives, parameters, sets, variables, and constraints where SensorsType, Sensor, SwitcheType, Switches are sets of system components included in the optimization model viewpoint. SensorType and SwitcheType are known parameters retrieved from catalogs while sensor[i][j] and switch [i][j] are Boolean decision variables identifying the components that are included in the system architectural implementation. The variable totalCost is a continuous decision variable representing the overall system costs and comprises the costs of system components which are included in the system architectural implementation. A mapping constraint is imposed through equation 2 below to ensure every sensing function in the system is mapped to a sensing component.
Where sensing2sensor[l][i][j] is a mapping Boolean decision variable. Components population of elements of all sets and the optimization model in general should reflect the actual data defined in all engineering models and stored catalogs.
As the design evolves modifications may be introduced to the optimization model. The design space model 200 may evolve as a result of changes in one or more of the modeling viewpoints 230, 231, 232, and/or 233, for example different types of sensors 620 may be required, thermal sensors and volume sensors, each sensor 620 having its own attributes and its own catalog of available sensor types. As a result of such changes, Equation 1 above for calculating totalCost is updated to reflect the change as described in Equation 3 below:
The design space model 200 may further evolve as a user introduces another modification to one or more of the viewpoints 230, 231, 232 and/or 233, for example adding a new cable component with corresponding type catalog information. Equation 3 above for calculating totalCost has to be updated again to reflect the new change in costs and weight as described in Equation 4 below. In addition a second consequent may be the geometrical layout of the network specified in a new geometrical viewpoint which may contain two aspects: compartments and links between compartments. Compartments are identified by location coordinates while links are identified with a Length attribute. The architectural implementation as structured using the geometrical viewpoint is taken into account by the optimization model and a new index is added to realize the new geometrical variable. This change implies that at least some existing equations have to be updated to include the new index.
Another change to the optimization model may be inflicted by a safety requirement for redundancy. To meet the redundancy requirements the user may have to include several redundancy channels in the design, further changing the design space model 200. Equation 5 below describes the mapping of redundancy functions to possible implementation options.
Where RedundancyChannels is a set of possible redundancies and RedundancyChannels[l][r] is a Boolean decision variable for finding the optimal redundancy option.
As seen through the use case, a change in one or more of the viewpoints 230, 231, 232 and/or 233 may lead to changes in other viewpoints 230, 231, 232 and/or 233. Furthermore, as there is no consistency between classes and viewpoints, the ability to use automated tools is very limited.
Classification by property allows employment of a unified ontology in the design space 200 by deriving the design space model from the various modeling viewpoints 230, 231, 232, and 233, transforming all viewpoint representations into a unified design space model 200 that is constructed according to the unified design space ontology 355. The use of the ontology based framework 210 enables uniformity across the entire design space model 200 and enables the extraction of data-sets and information that is referred to in the analysis viewpoints 201, 202, 203 and/or 204. Through this uniformity the limitations as presented in the use case may be overcome. Framework 210 provides operators for retrieving components 300 that are present (through their select field) in the unified design space model 200. Equation 6 below presents the calculation of totalCost:
Where isContainedIn(i) is a mutual attribute describing the relation between two or more system components, utilizing the API 211 operator getLinkedComponents(mutualAttribute) where the mutualAttribute is used to denote decomposition Scope is a straightforward utilization of the getAllComponents(attribute) operator available in the API 211 which identifies all system components having the attribute provided by Scope as parameters. The algebraic expression of totalCost is now independent of changes in particular viewpoints' ontology 220, 221, 222, and/or 223 inflicted by the user. Mapping viewpoints may add mutual properties between requirements and system components describing potential mapping of system components to requirements using Boolean decision variables while maintaining resilience to changes to the design space model 200. Equation 7 below describes an exemplary mapping of system components to requirements.
Where isMapped[i][j] (i stands for requirementsElement and j stands for architectureElement) represents the components that potentially fulfill the mapping of architecture components to requirements. Such mapping is designated by a mutual property after being produced utilizing the link-Components(architecture comp, requirement comp, mutualAttribute) operator that is available in the API 211. The equation ensures correct mapping of system components to requirements that is evolving as viewpoints may introduce changes to the design space model 200 without changing the algebraic expressions used to describe mapping.
As aforementioned new viewpoints may be automatically imported into the design space model 200, for example, a Resource viewpoint that is used for checking if an overall number of system components is exceeded in the design space model 200 after granting the requests made by the requirements. Equation 8 below provides an algebraic expression that may be used for making such a check:
As is shown throughout the use case, performing modeling, analysis and optimization using viewpoints 230, 231, 232 and 233 (each having its own ontology 220, 221, 222, and 223 and maintaining uniformity across the design space 200) allows the algebraic expressions to remain resilient to design space model 200 evolution.