COMPUTATIONAL INTELLIGENCE APPLIED TO

8 downloads 0 Views 2MB Size Report
to evolutionary search at the physical architecture level. Section 7 concludes the ..... nologies to maximize competing technical performance measures.
December 21, 2009 20:1 WSPC/SRF-261

00010

Systems Research Forum Vol. 3, No. 2 (2009) 101–119 c World Scientific Publishing Company 

SMART SYSTEMS ARCHITECTING: COMPUTATIONAL INTELLIGENCE APPLIED TO TRADE SPACE EXPLORATION AND SYSTEM DESIGN

CIHAN H. DAGLI∗ Department of Engineering Management and Systems Engineering Missouri University of Science and Technology 1870 Miner Circle, Rolla, MO-65409, USA [email protected] ATMIKA SINGH† , JASON P. DAUBY‡ and RENZHONG WANG§ Smart Engineering Systems Laboratory Missouri University of Science and Technology 1870 Miner Circle, Rolla, MO-65409, USA †asff[email protected][email protected] §[email protected]

The design trade space of a complex system is vast, and overlooking potential architecture alternatives can have an adverse impact on the final outcome. This paper presents a Smart Systems Architecting (SSA) approach for generating and assessing architecture alternatives. Computationally intelligent techniques such as Evolutionary Algorithms (EA) are used to explore the design trade space for candidate architectures. A novel fuzzy architecture assessment approach is presented to quantitatively evaluate the set of possible solutions based on the decision-maker’s preferences even in the presence of incomplete, subjective and ambiguous information. The broad applicability of Smart Systems Architecting is demonstrated by three specific approaches to fuzzy evolutionary search at different levels of design ambiguity. Keywords: Architecture search; fuzzy set theory; evolutionary computation.

1. Introduction In a most basic sense, the systems architecting process consists of scoping, aggregating, partitioning, integrating and finally validating. However at its core, systems architecting is a search process. It is the hierarchical reduction of ambiguity in search of a physical embodiment of the designers’ and stakeholders’ needs, both stated and implicit. To make a decision about the “goodness” of the architecture, it needs to be evaluated over a set of predefined criteria provided by the stakeholders and decision-makers. Early in the design life-cycle, the systems architect ∗Corresponding

author. 101

December 21, 2009 20:1 WSPC/SRF-261

102

00010

C. H. Dagli et al.

generates architecture alternatives, evaluates them, and selects the best one for further refinement. However, the early design phases are also marked by high levels of ambiguity about the final form and function of the desired artifact. Thus, there exists the need for a methodology to automatically generate, evolve and evaluate architecture alternatives using vague and incomplete information. This paper proposes a Smart Systems Architecting approach for design trade space exploration and system design. This methodology is the result of integrating the computational intelligence paradigm with systems architecting. Researchers at the Smart Engineering Systems Laboratory (SESL) at the Missouri University of Science and Technology are developing techniques to generate and evaluate multiple system architecture alternatives using fuzzy logic and evolutionary algorithms. The ambiguity in the architecting process can be captured very effectively by using fuzzy representations and rules that can be represented as Fuzzy Associative Memories (FAM). These FAMs can successfully capture both the domain knowledge of the system and the value judgments of the customers. The evolutionary nature of the architecture search process lends itself to computationally intelligent approaches especially evolutionary algorithms. SESL researchers have developed novel approaches for architecture search using fuzzy graph theoretic techniques at the system level (Singh and Dagli, 2009) and surrogate system estimators at a more detailed physical architecture level (Dauby and Dagli, 2009a; Dauby and Dagli, 2009b). Simpson et al. (2007) proposed an approach for system evaluation and description using abstract relation types. An artificial life framework for system of systems architecting using agent-based modeling strategies has also been developed as part of the SSA approach (Kilicay-Ergin and Dagli, 2008). Another novel contribution is the development of a methodology to create executable architectures in SysML (Wang and Dagli, 2008) using Colored Petri-Nets. This technique can be used in conjunction with the SSA approach to develop, evolve and evaluate architectural models iteratively. The ability to represent potential architectures using tools common to the systems architecting community will allow easy integration of the SSA approach with current systems architecting practices. Figure 1 shows the integration of the SSA approach with the system design life-cycle. Systems are unbounded and so too should the systems architect be. The proposed approach provides the systems architect with multi-faceted capabilities which include the ability to handle ambiguous and incomplete information during the early design stages, a general architecture representation that can easily be integrated with commonly used modeling tools and the ability to explore the design trade space without having to develop complex mathematical models that are too abstract to be used in practice. The SSA design exploration methodology can also be used to explore the design trade space at increasing levels of complexity. As the design life-cycle progresses, the architectural representations can be changed to reflect the change in architectural models. Fuzzy attributes are used to represent the linguistic preference relations of the decision-maker at the system level. These can be replaced by less ambiguous performance metrics to evaluate subsystem and

December 21, 2009 20:1 WSPC/SRF-261

00010

Smart Systems Architecting

103

Fig. 1. Iterative trade space exploration using the SSA approach.

component architectures during the preliminary and detailed design phases of the system design life-cycle. The following section details theoretical aspects of fuzzy sets and their application to systems architecting. Section 3 discusses the use of evolutionary algorithms for design trade space exploration. In Sec. 4 a bond graph representation for analysis of system architectures is proposed, followed by an XML-based objected oriented representation scheme in Sec. 5. Section 6 describes a technology-based approach to evolutionary search at the physical architecture level. Section 7 concludes the paper with a summary of current progress and a discussion of future research. 2. Using Fuzzy Set Theory to Evaluate Architectures To ensure operational feasibility of the resulting system configuration, key attributes or “-ilities” need to be engineered into the system right from the start (Blanchard and Fabrycky, 2006). Many of these system attributes are ill-defined and difficult to quantify, especially in the early stages of the architecting process. The expectations and preferences of the decision-makers are usually stated linguistically. These linguistic preference structures may be incomplete, ambiguous and subjective. Fuzzy logic is a superset of classical logic that allows computation with words and imprecise relationships between linguistic variables (Zadeh, 1996). For this reason, it is proposed that fuzzy logic forms a natural bridge between the objectivity of mathematical rigor and the naturally ambiguous quantities being considered. It does not need accurate quantitative inputs and allows design engineers to describe the

December 21, 2009 20:1 WSPC/SRF-261

104

00010

C. H. Dagli et al.

system’s expected performance in linguistic terms which can be manipulated with fuzzy set theory (Siler and Buckley, 2005). A brief introduction to fuzzy logic and fuzzy rules follows. 2.1. Classical versus fuzzy set theory Fuzzy logic extends classical logic to all values in the interval [0, 1]. A fuzzy set is a class of objects in which there is no sharp boundary between those objects that belong to the class and those that do not. In a fuzzy set, an object may have a grade of membership intermediate between full membership, represented by 1, and nonmembership, represented by 0. The principle difference between classical and fuzzy set theory is the idea of partial membership. In fuzzy set theory, an element can assume degrees of membership. This is illustrated in Fig. 2. Whereas in classical sets, only points 1–4 are possible, fuzzy sets allow for the existence of point 5 which assumes “a lot” of membership in set X1 and “a little” membership in set X2. This characteristic makes fuzzy sets ideal for representing poorly defined and ambiguous system attributes. Candidate architectures can achieve varying degrees of membership in fuzzy sets such as Affordable, Effective, Adaptable, or Survivable. The degree of membership in a fuzzy set is expressed by variables whose value is stated in imprecise linguistic terms. These variables can be used to make decisions via fuzzy rules. A fuzzy proposition is a statement that takes a fuzzy truth value. It includes logical connectives like AND, OR, NOT and Implication. A fuzzy rule is a proposition in the if-then format. It contains one or more fuzzy propositions joined by a main implication connective. Consider two fuzzy sets “Affordability” and “Reliability” whose values are stated in linguistic terms {High, Medium, Low}. A typical fuzzy rule will take the form, IF ((Affordability is Low) AND (Reliability is High)) THEN (Performance is Unacceptable) where “Performance” is an output variable and “Unacceptable” is a membership function defined on “Performance”. A fuzzy inference system can be used to encode expert knowledge in the form of a rule base for evaluating a given set of inputs. These inference systems can provide a

Fig. 2. Fuzzy membership grades.

December 21, 2009 20:1 WSPC/SRF-261

00010

Smart Systems Architecting

105

convenient and reliable way of handling uncertain and imprecise value judgments. A full treatment on the mechanics and theory of fuzzy sets and fuzzy logic are beyond the scope of this paper but are well established in published literature (Zadeh, 1996; Mendel, 2001). 3. Evolutionary Algorithms in Architecture Search The fuzzy architecture assessment approach discussed in the previous section makes it feasible for a systems architect to quantitatively evaluate a set of possible solutions and select the most suitable design. The next obvious step is the generation of suitable candidate architectures for consideration. In any large scale system, the design trade space is inherently vast, making it difficult to explore all possible architecture variants. Evolutionary algorithms have long been successfully used as design space exploration techniques in many engineering disciplines (Palesi and Givargis, 2002; Thiele et al., 2002). A novel EA-based trade space exploration strategy is proposed for explicating all possible system architecture concepts. Excellent discussions on the fundamental theory of EAs can be found in Coello et al. (2004) and Coello et al. (2007). 3.1. Evolutionary trade space exploration strategy The EA-based trade space exploration strategy simulates the biological process of natural selection to generate a set of potential design concepts. Figure 3 shows the

Fig. 3. Flowchart of a genetic algorithm.

December 21, 2009 20:1 WSPC/SRF-261

106

00010

C. H. Dagli et al.

operation of a genetic algorithm-based evolutionary search process. The algorithm proceeds by generating a population of candidate architectures, modifying the parent population using predetermined genetic operators, evaluating their “fitness” and finally selecting a child population. This process is continued iteratively until a near-optimal set of solutions emerges. In a systems context, each individual in a population may represent a possible functional, behavioral or structural architecture. Child populations are created by selecting features from a random set of parents to create novel architectures that embody the best aspects of the parent designs. In order to automate the search process, two key elements are required in addition to the mechanics of natural selection: a goal function or fitness assessment and a representation of the architecture. The “fitness” of a solution depends on how well it satisfies the designers’ requirements and constraints. Creating a robust and repeatable fitness function is the most challenging aspect of EA-based design search. This problem is addressed by the use of the fuzzy architecture assessment technique discussed in Sec. 2. The fuzzy assessor can aggregate multiple objectives into a single fitness measure allowing system architects to rank potential solutions by level of “acceptability”. The second key element in automated intelligent search is a suitable representation of the system architecture. This representation is in essence a model of the system architecture itself. The proper system representation is highly dependent upon the type of system being modeled and the level of ambiguity involved. In other words, the representation of a functional system architecture will be very different from a representation for a physical architecture. In addition to satisfactorily describing the system, the form of the architecture representation must be suitable for computational approaches that strive to mix and match combinations of system alternatives in search of maximizing the fitness assessment. The following sections present three specific approaches to mapping system descriptions into architectural encodings suitable for fuzzy evolutionary search.

4. A Bond Graph-Theoretic Approach for Representing and Analyzing Architecture Variants The initial phases of the systems architecting process are the most critical in terms of impact on the final form and function of the design artifact. The previous sections established the need for an exhaustive design exploration methodology to explicate a set of near-optimal architecture variants. A major obstacle to evolving architectures using computationally intelligent techniques is the difficulty of formulating a system concept as an optimization problem. As stated earlier, an architecture representation scheme must not only accurately model the desired architecture but also lend itself to manipulation using computational approaches. It should be able to adapt to increasingly detailed and consequently complex system descriptions as

December 21, 2009 20:1 WSPC/SRF-261

00010

Smart Systems Architecting

107

the design life-cycle progresses from conceptual design to detailed design. Furthermore, modern large-scale complex systems are made up of subsystems or components from various engineering domains. This multidisciplinary nature of complex systems makes system level modeling and analysis difficult. Any feasible representation scheme should have the ability to create unified models of such diverse systems. Energy bond graphs provide a useful notation for describing system dynamics for the purpose of modeling and simulation. They are a graphical description formalism particularly suited for multidisciplinary systems because of their ability to create integrated models independent of the physical nature of the target system (Broenink, 1999). Not only can bond graphs be used for generating behavioral models, they can also be used for structural and functional modeling. Bond graphs can handle multiple levels of complexity and elements can be added without having to start all over again. They have the ability to represent causal relationships between the elements of a system, making it possible to analyze the dynamics of the system architecture at the conceptual design stage. The requirements for a “suitable” representation scheme and the advantages of using a bond graph representation are listed below (Gawthorp and Ballance, 2009), • Provide a visual representation of the system • Unified representation scheme for multidisciplinary systems • Capture various levels of design complexity from conceptual block diagrams to transfer function models • Energy-based methodology that helps bound the system scope • Accurately and unambiguously define the system symbolically • Easy to create and manipulate using EAs • Hierarchical bond graphs make conceptual designs modular and easy to partition • Model structure and causality are separated eliminating the need for new models every time the causality changes

4.1. The bond graph approach Bond graphs provide a formal notation scheme for modeling and simulating dynamic systems. The components of a bond graph are primitive electrical and mechanical structures which can be used in a domain-independent manner. These elements include: resistances or dissipators, energy storage elements (capacitors C and inertial elements I), ideal sources of effort Se and flow S, and transformational elements (transformer TF and Gyrator GY). The physical form of each of these elements depends on the application domain but the interactions between them are always expressed as the flow of power in a directional manner. The expression for calculating the power flow is, effort × flow = power

December 21, 2009 20:1 WSPC/SRF-261

108

00010

C. H. Dagli et al.

Fig. 4. Bond graph of the simple RLC circuit.

where effort and flow, are variables associated with each bond. Two or more submodels can be connected using energy conserving junctions, which can be of two types: common effort or 0-junctions, and common flow or 1-junctions. An in-depth treatment of bond graphs and their underlying mathematical theory can be found in Mukherjee and Karmarkar (2000). The block diagram of a basic RLC circuit and its corresponding standard bond graph are shown in Fig. 4.

4.2. Different model abstraction levels Different models are needed to adequately represent the form, function and behavior of a complex system. Also, as the design complexity increases, increasingly complex models are needed to represent and analyze systems. Bond graphs use energy flows as the basis for modeling. They can show causality and detail in both the manner and type of interactions between subsystems and components. They provide a symbolic representation of a system from which other representations can be derived such as state space equations, differentiable algebraic equations, state-space matrices, transfer functions, frequency responses and so on (Ballance et al., 2005). At the conceptual level, a word bond graph is used to provide a top-level representation of the system. It is simply a block diagram of the system without any internal description of the blocks. Qualitative bond graphs can be used to represent the graph primitives as words instead of numbers. Using operations specifically designed to analyze qualitative variables, it becomes possible to analyze linguistic functions. This makes bond graphs very useful during the early phases of system design when functions are defined in words rather than mathematical equations. Subsystem and component models may be represented in energy bond graph form and extended or modified as required to describe the actual system characteristics. During detailed design the energy bond graphs can easily be converted into mathematical models by adding the directions of the signal flows to the graphs. This is known as adding causality. Bond graph representations are very compact and efficient because a single energy bond can represent all the interactions between two

December 21, 2009 20:1 WSPC/SRF-261

00010

Smart Systems Architecting

109

elements in a system. Thus, they can be used to develop high-level and mathematical models for systems from a wide range of domains. 4.3. Design space exploration using evolutionary algorithms The flow diagram for the proposed methodology is depicted in Fig. 5. Functional flow diagrams are used to create an initial design specification. These are then modeled as either word bond graphs or energy bond graphs depending on the amount of

Fig. 5. Graphical representation of the design exploration process.

December 21, 2009 20:1 WSPC/SRF-261

110

00010

C. H. Dagli et al.

information available and the architecture design phase. Architectures are evolved using genotypic representations of the bond graphs. A fuzzy multicriteria decision making system is used to assess architecture fitness. The fitness criterion is always specified based on the system attributes supplied by the decision-maker. The component specification repository is a database of all component options and their physical attributes. This information comes into play during the later stages of design and can be used to generate physical architecture alternatives.

4.4. Tool integration Previous research has proposed an extension of the SysML activity diagram for modeling energy interchanges of mechatronic systems. Using only classical extension mechanisms such as stereotypes, tagged values and constraints, an activity diagram extension was proposed by Turki and Soriano (2005), see Fig. 6. Using the referenced work as a basis, the bond graph formalism can be extended beyond the depiction of mechatronic systems to other domains including information, transportation and structural systems. Thus, SysMLTM users can easily integrate bond graphs into their design environment. Figure 6 shows a bond graph mapping to an SysMLTM activity diagram.

Fig. 6. Developing a SysML activity diagram from a bond graph (adapted from Turki and Soriano (2005)).

December 21, 2009 20:1 WSPC/SRF-261

00010

Smart Systems Architecting

111

5. An XML-Based Object-Oriented Architecture Representation Through requirements analysis, architectural concepts can be developed. The purpose is to extract design primitives. Here design primitives refer to all design factors that need to be considered in an architecture design process at a certain abstraction level. These design primitives serve as the building blocks of architecture representation permitting formulation of the problem to be solved. A set of design primitives needs to be extracted for each set of architecture models at a specific abstraction level. The next step is architecture representation, or a data model that describes how a system is built. The architecture representation scheme must facilitate the application of evolutionary-based computational intelligence techniques in searching for optimum architecture, which is the primary objective of the SSA process. More precisely, the requirements of such an architecture representation scheme include: • Define the structure of a system, i.e., the static relationships among the subsystems, components, or parts that actually constitute the system and describe what is designed, built and maintained • Support the definition of the behavior of a system, i.e., describe how a system performs; including functions, inputs, outputs and control operators that define the ordering of functions • Provide a consistent set of model elements and scheme that can be used to represent architectures at various levels of abstractions and facilitate the transformation from one set of models to another • Facilitate data exchange and information integration between systems engineering tools including architecture presentation tools • Maintain application domain neutrality • Align with conventional Systems Engineering modeling tools 5.1. Object-oriented architecture representation scheme One of the best options for an architecture representation scheme is using the conventional modeling languages in Systems Engineering or an approach that is compatible with those. Systems Modeling Language, based on the widely accepted Unified Modeling Language (UML), is the preferred modeling language in Systems Engineering. SysML uses block definition diagrams and internal block diagrams to specify the structure of a system. Blocks are modular units of system description. Each block defines a collection of features to describe a system or other element of interest. These may include both structural and behavioral features, such as properties and operations, to represent the state of the system and behavior that the system may exhibit. Blocks provide a general-purpose capability to model systems as trees of modular components. The specific components, connections between them, and way these elements combine to define the total system can all be selected according to the goals of a particular system model. SysML blocks can be used throughout all phases of system specification and design, and can be applied to many different

December 21, 2009 20:1 WSPC/SRF-261

112

00010

C. H. Dagli et al.

kinds of systems. These include modeling either the logical or physical decomposition of a system, and the specification of software, hardware, or human elements. Parts in these systems may interact by many different means, such as software operations, discrete state transitions, flows of inputs and outputs or continuous interactions. Here a general-purpose modeling scheme that exploits the concept of blocks in SysML is proposed. A generic unit, analogous to the SysML block, is used as the primary modular element. Like SysML blocks, a generic unit contains only two types of elements, properties and operations, for defining structural and behavioral features of that generic unit. In SysML, a block can include properties to specify its values, parts, and references to other blocks. Ports are a special class of property used to specify allowable types of interactions between blocks. Constraint properties are a special class of property used to constrain other properties of blocks. A part defines a local usage of its defining block within the specific context to which the part belongs. However, a generic unit uses an extended concept of interface to represent all types of properties (even operations in certain cases). Graphically, a generic unit is a set of star-topological nodes with the center node being the block itself (containing operations) and surrounding nodes being its properties of various types. Just like an object in object-oriented system design, a generic unit in this context can be used to represent any abstract concept. From this definition, a system can be defined by a set of connected generic units, the kinds of generic units, and the connections between them. 5.2. Interface-based architecture development process Using generic units as general-purpose modules, a system architecture can be represented as a graph containing only nodes and edges. Each node is associated with a specific meaning and each edge represents an established relation between elements represented by nodes. Such a graphic representation is capable of defining a system in terms of a set of connected generic units and relations between them. Since all properties of a generic unit are represented as interfaces according to the definition of generic unit, the system architecting task is to define the kinds of generic units, interfaces (properties) a generic unit has, and the way these units connect. Hence, the term interface-based architecture development process is used here. The interface-based architecture development process can start from as early as functional decomposition. First, a generic unit and its associated (domain-specific) interfaces can be defined upon each functional element. Next, all possible connections between generic units (through interfaces) are identified. A prototype of a system functional architecture can then be obtained. After using the evolutionarybased architecture search process, a near optimum functional architecture can be obtained. A similar process can be followed for system architecture and physical architecture. Within each category, a set of architectural models at different resolution levels is also possible. After the model at each resolution level is validated,

December 21, 2009 20:1 WSPC/SRF-261

00010

Smart Systems Architecting

113

Fig. 7. Interface-based architecture development process.

the architecting process can proceed to the architecture design at a higher resolution. When the architecture at a certain resolution level is defined as a result of the searching process, the interfaces of each generic unit can be defined, thus clarifying the required operations of that generic unit. A white box decomposition of that operation can proceed and this will result in an architecture model of higher-level resolution. The process is presented in Fig. 7. Note that the operations of a generic unit within the architecture model at a higher-level of resolution are always derived from the architectural model at one-step lower in resolution. In other words, artifacts within an architecture model of higher resolution support the operations of a certain generic unit within the architecture model of lower-level resolution. It is this process, and the use of interfaces that connect models from different resolutions, that drive the model transformation between levels.

5.3. XML format representation and data exchange Extensible Markup Language (XML) is a meta-language that defines a set of rules for encoding documents electronically. It has been widely accepted for a large variety of applications and tools. XML provides a facility to define tags and structural relationships between them. Tags are used to markup documents. However, no predefined tag set is implied and there are no preconceived semantics. Semantics of XML documents are defined by applications that process them. It is also easy to write programs that process XML documents and validate them. With the above definition of a generic unit, a system architecture can be easily converted to XML data format. Each generic unit and its interface definitions can be represented by a

December 21, 2009 20:1 WSPC/SRF-261

114

00010

C. H. Dagli et al.

Fig. 8. Two kinds of XML representations for a generic unit.

vector of typed values enclosed in tags. Figure 8 gives two possible XML representations of a generic unit. In this way, a system architecture can be formulated as a XML document. When using a genetic algorithm, chromosomes can be obtained by flattening the XML document and stripping away the tags. Since XML is a widely accepted data exchange format and provides flexible data generation, the system architecture represented using XML format can be easily adopted by various systems engineering tools as well as graphic generation tools for presentation purpose TM (2008) and the Graphviz tool (2009)). (e.g., using OMG SysML 6. A Technology-Based Approach to Smart Systems Architecting Previous sections of this paper focused on system architecting in the earliest stages when ambiguity is highest and the trade space is large. The approach was to identify functional architectures that best satisfy a number of competing high level system attributes. Because at this point there is much ambiguity in the definition of the system components, surrogate estimators must be used to perform architecture assessment. These estimators are typically rather general, macro-level, rules of thumb expressed as computationally simple relationships. Increased precision is generally not possible without a candidate physical form to embody the proposed functional architecture. Once a search space is reduced, candidate physical embodiments of the most attractive functional architectures can be explored in more detail. The generality of the SSA approach can be demonstrated by applying it yet again, this time at the physical architecture level. To assemble a physical architecture concept, the system designer must identify a number of candidate technologies for each subsystem or component. In this context, a technology specifically refers to a genre or a canonical form, not a specific physical artifact with measured performance. The goal of evolutionary architecture search at this level is to find the right combination of technologies to maximize competing technical performance measures. This combination of technologies forms the basis of the physical architecture model.

December 21, 2009 20:1 WSPC/SRF-261

00010

Smart Systems Architecting

115

6.1. A new methodology for assessing physical architectures A significant challenge to any system architecting approach is finding an objective and repeatable method for assessing architectural attributes. There is an apparent conflict between the desire to perform realistic objective assessment of physical system architectures and remain tolerant of the inherent ambiguity in system architecting. A novel approach to architecture assessment is needed to enable a technology-based architecture search. SESL researchers have developed one approach involving the use of extensible modeling, executable design primitives, comparative analysis, and fuzzy assessment to provide defensible quantitative estimators of architectural performance. Extensible modeling is a process that facilitates communication between modeling activities at different resolution levels (Dauby and Dagli, 2009a). At a systems level, key performance parameters such as vehicle range or radio link distance are modeled and evaluated using generalized equations. However, one must question the assumed nominal values of the contributing factors to these high level assessments. For instance, aircraft range is impacted by drag count and radio link distance is impacted by installed antenna gain. These technical performance measures are typically modeled at the detailed design level. An extensible modeling process is one that facilitates the decomposition of high level assessors into fundamental physical quantities that can be evaluated at the detailed level and subsequently integrated back into a system level model. This approach leverages the expertise in specialty domains to contribute to more accurate estimates of system performance and greatly expands the number of tools available to system architects. Even as technologies are identified, there is still much ambiguity surrounding the eventual form of a physical artifact. In order to perform modeling at the detailed design level, a physical representation must be specified. This is the role of executable design primitive. These canonical forms represent technology genres and allow coupling analysis between system components. It should be noted that this analysis is only representative of the design primitive, not the final artifact. The merit in modeling with design primitive lies in the fact that the final physical design will be evolved from a canonical form and in the use of a comparative analysis technique. A comparative, or differential, analysis technique is one that seeks to examine changes in system performance in response to controlled variations in configuration. By identifying dominant coupling variables and inherent design sensitivities, an integration sensitivity function or multivariate response surface of system performance begins to emerge (Dauby and Dagli, 2009b). Finally, the comparative dataset must be interpreted and fed back to the architecture search process in the form of an architecture assessment. Because the canonical forms used for the system analysis represent an approximation of an otherwise ambiguous final design, a fuzzy inference system is well suited to map artificially crisp inputs to fuzzy member sets. Typical inputs to the fuzzy inference system might include peak and average deviations from nominal baseline estimations and

December 21, 2009 20:1 WSPC/SRF-261

116

00010

C. H. Dagli et al.

Fig. 9. Technology-based evolutionary architecture search process utilizing extensible modeling, canonical design primitives, comparative analysis, and fuzzy inference for architecture assessment.

local gradients on the system response surface. Combining principles of smart system architecting and the assessment methodology just described results in a technology-based architecture search approach. This process is illustrated in Fig. 9. 6.2. Smart system architecting at the physical architecture level Under conditions of inter- and intra-system coupling between technology elements, the architecture assessor needs to consider the relationships within and between systems and their environment. If system technologies are loosely coupled, the approach shown in Fig. 9 can be accelerated by performing characterization modeling on a catalog of canonical design primitives. Each canonical technology will have a number of performance attributes associated with it. These can be combined into a multi-attribute description of the technology called a technical performance vector (TPV). The contents and encoding scheme of the TPV are dependent upon each technology and the amount of detail being considered in the system description. For example, many RF amplifier technologies are available, but each can be described in a collection of common technical attributes. One possible technology performance vector is shown below. [output power, bandwidth, thermal load, interface requirement, reliability] Technical performance vectors for multiple technology alternatives can be combined into a library and referenced by a pointer-based encoding of a system architecture. Fuzzy assessors for system level attributes can draw upon the technical

December 21, 2009 20:1 WSPC/SRF-261

00010

Smart Systems Architecting

117

performance vectors in this library. To continue the amplifier example, a system reliability assessor may consider the thermal load characteristics and the individual technology reliability measure. System flexibility assessors may use interface requirements as an input, and system effectiveness assessors may combine output power and bandwidth estimators for a specific technology. In this way, the search process becomes suitable for a fuzzy evolutionary approach to system architecting even at the physical architecture level. 7. Conclusions and Future Work Trade space exploration of a complex system is an NP-hard problem. As the system complexity increases, the number of design variants grows exponentially. Computational intelligence techniques comprising of evolutionary and heuristic search algorithms can help identify the most promising design variants for a reasonable computational cost. Three unique and novel approaches to represent architecture alternatives for design exploration have been presented. The research discussed in this paper is ongoing and will, in the future, form the basis of an intelligent trade space exploration tool. References Ballance, D. J., Bevan, G. P., Gawthrop, P. J. and Diston, D. J., Model transformation tools (MTT): The open source bond graph project, Proc. Int. Conf. Bond Graph Modeling and Simulation (2005), pp. 233–238. Blanchard, B. S. and Fabrycky W. J., Systems Engineering and Analysis, 4th edn. (Pearson Prentice Hall, USA, 2006). Broenink, J. F., Introduction to physical systems modeling with bond graphs, SiE Whitebook on Simulation Methodologies (1999). Campbell, M. I., Cagan, J. and Kotovsky, K., Agent-based synthesis of electromechanical design configurations, J. Mech. Des. 122 (2000) 61. Coello, C. A. C. and Lamont, G. B., Applications of Multi-Objective Evolutionary Algorithms (World Scientific Publishing, 2004). Coello, C. A. C., Lamont, G. B. and Veldhuizen, D. A. V., Evolutionary Algorithms for Solving Multi-Objective Problems (Springer, 2007). Dauby, J. P. and Dagli, C. H., Using extensible modeling in systems engineering and architectural search, Proc. IEEE Int. Systems Conf. (2009a), pp. 426–430. Dauby, J. P. and Dagli, C. H., A neural network approach to modeling system integration sensitivity for architectural assessment, Intelligent Engineering Systems Through Artificial Neural Networks 19, eds. Dagli, C. H. et al., Part I: “Architecting complex engineering systems” (ASME Press, New York, 2009b), pp. 3–10. Kilicay-Ergin, N. and Dagli, C., Executable modeling for system of systems architecting: An artificial life framework, Proc. Int. Syst. Conf. (2008), pp. 1–5. Gawthrop, P. J. and Ballance, D. J., Bond graphs in the design of engineering systems, http://www.mech.gla.ac.uk, Retrieved: 30 Nov 2009. “Graphviz — Graph visualization software” http://www.graphviz.org/, Retrieved: November 2009. Mendel, J. M., Uncertain Rule-Based Fuzzy Logic Systems: Introduction and New Directions, 1st edn. (Prentice Hall PTR, 2001).

December 21, 2009 20:1 WSPC/SRF-261

118

00010

C. H. Dagli et al.

Mukherjee, A. and Karmakar, R., Modeling and Simulation of Engineering Systems Through Bond Graphs (Alpha Science Int’l Ltd., 2000). OMG Systems Modeling Language (OMG SysMLTM ) Version 1.1, November 2008, http://www.omgsysml.org, Retrieved: November 2009. Palesi, M. and Givargis, T., Multi-objective design space exploration using genetic algorithms, Proc. 10th Int. Symp. Hardware/Software Codesign (2002), pp. 67–72. Siler, W. and Buckley, J. J., Fuzzy Expert Systems and Fuzzy Reasoning, 1st edn. (John Wiley and Sons, USA, 2005). Simpson, J. J., Dagli, C. H. and Miller, A., System evaluation and description using abstract relation types (ART), Proc. Int. Syst. Conf. (2007), pp. 1–6. Singh, A. and Dagli, C. H., Multi-objective stochastic heuristic methodology for trade space exploration of a network centric system of systems, Proc. IEEE Int. Syst. Conf. (2009), pp. 218–223. Thiele, L., Chakraborty, S., Gries, M. and Knzli, S., Design space exploration of network processor architectures, Network Processor Design: Issues and Practices 1 (2002) 55–89. Turki, S. and Soriano, T., A SysML extension for bond graphs support, Proc. Int. Conf. on Tech. and Auto. (2005). Wang, R. and Dagli, C. H., An executable system architecture approach to discrete events system modeling using SysML in conjunction with colored petri net, Proc. Int. Syst. Conf. (2008), pp. 1–8. Wu, Z., Campbell, M. I. and Fernandez, B. R., Bond graph-based automated modeling for computer-aided design of dynamic systems, J. Mech. Des. 130 (2008) 041102. Zadeh, L. A., Fuzzy Sets, Fuzzy Logic, and Fuzzy Systems: Selected Papers by Lotfi A. Zadeh (World Scientific Publishing, 2008).

Biography Cihan H. Dagli is a Professor of Systems Engineering, Computer Engineering and Engineering Management at the Missouri University of Science and Technology (S&T). He is the coordinator of the Boeing Systems Engineering Graduate Program at S&T. He is the Director of the Smart Engineering Systems Laboratory at S&T and has been conducting research and teaching in the domains of Computational Intelligence, Systems Engineering and Net-centric Systems since 1988. He is an INCOSE and IIE fellow and founder of the Artificial Neural Networks in Engineering Conference. Atmika Singh is a Ph.D. student in Systems Engineering at the Missouri Univeristy of Science and Technology. Her research focus lies in the fields of Computational Intelligence, Systems Architecting and Power Systems Engineering. Ms Singh received her B.E. in Instrumentation and Control Engineering from the Pune University in India and her M.S. in Electrical Engineering from Missouri University of Science and Technology (formerly University of Missouri-Rolla). She is a member of the IEEE and INCOSE. Jason P. Dauby is a Ph.D. student in Systems Engineering at the Missouri University of Science and Technology where he is researching analytical approaches to

December 21, 2009 20:1 WSPC/SRF-261

00010

Smart Systems Architecting

119

assessing system architectures. He is also employed by the Crane Division, Naval Surface Warfare Center where he is an RF systems engineer performing technical analyses and design for various airborne and ground-based electronic warfare programs. This experience includes the use of model-based analysis and design throughout all phases of the program life-cycle. Mr. Dauby received the B.S. degree in Electrical Engineering from the University of Evansville and the M.S. degree in Engineering Management from the Rose-Hulman Institute of Technology. Renzhong Wang is a Ph.D. student in Systems Engineering at the Missouri University of Science and Technology (formerly the University of Missouri-Rolla, UMR) where he is researching in executable modeling and simulation and optimum system architecture development using computational intelligence. He received the B.E. degree in Automobile and Tractor Engineering from the Jilin University of Technology, China in 1998, and the M.S. degree in Systems Engineering from UMR in 2007. Between earning these two degrees, he worked for six years in the field of automobile testing and technical standards and held a technical management role in the Chinese automotive industry administration.

December 21, 2009 20:1 WSPC/SRF-261

00010