Using logic-based approaches to explore system architectures for systems engineering

This research is focused on helping engineers design better systems by supporting their decision making. When engineers design a system, they have an almost unlimited number of possible system alternatives to consider. Modern systems are difficult to design because of a need to satisfy many different stakeholder concerns from a number of domains which requires a large amount of expert knowledge. Current systems engineering practices try to simplify the design process by providing practical approaches to managing the large amount of knowledge and information needed during the process. Although these methods make designing a system more practical, they do not support a structured decision making process, especially at early stages when designers are selecting the appropriate system architecture, and instead rely on designers using ad hoc frameworks that are often self-contradictory. In this thesis, a framework for performing architecture exploration at early stages of the design process is presented. The goal is to support more rational and self-consistent decision making by allowing designers to explicitly represent their architecture exploration problem and then use computational tools to perform this exploration. To represent the architecture exploration problem, a modeling language is presented which explicitly models the problem as an architecture selection decision. This language is based on the principles of decision-based design and decision theory, where decisions are made by picking the alternative that results in the most preferred expected outcome. The language is designed to capture potential alternatives in a compact form, analysis knowledge used to predict the quality of a particular alternative, and evaluation criteria to differentiate and rank outcomes. This language is based on the Object Management Group’s System Modeling Language (SysML). Where possible, existing SysML constructs are used; when additional constructs are needed, SysML’s profile mechanism is used to extend the language. Simply modeling the selection decision explicitly is not sufficient, computational tools are also needed to explore the space of possible solutions and inform designers about the selection of the appropriate alternative. In this investigation, computational tools from the mathematical programming domain are considered for this purpose. A framework for modeling an architecture selection decision in mixed-integer linear programming (MIP) is presented. MIP solvers can then solve the MIP problem to identify promising candidate architectures at early stages of the design process. Mathematical programming is a common optimization domain, but it is rarely used in this context because of the difficulty of manually formulating an architecture selection or exploration problem as a mathematical programming optimization problem. The formulation is presented in a modular fashion; this enables the definition of a model transformation that can be applied to transform the more compact SysML representation into the mathematical programming problem, which is also presented. A modular superstructure representation is used to model the design space; in a superstructure a union of all potential architectures is represented as a set of discrete and continuous variables. Algebraic constraints are added to describe both acceptable variable combinations and system behavior to allow the solver to eliminate clearly poor alternatives and identify promising alternatives. The overall framework is demonstrated on the selection of an actuation subsystem for a hydraulic excavator. This example is chosen because of the variety of potential architecture embodiments and also a plethora of well-known configurations which can be used to verify the results.