A principled approach to the specification of system architectures for space missions

ion level. In Slomka et. al., the authors define an abstract reference model, which captures all of the information about the system, and specific models, which are built from the reference model. Feiler et. al. proposes an approach that defines an architecture model as the single source for architecture analysis. Independently maintained analytical models and views are generated from the architecture model. The architecture model has annotations that describe characteristics of objects in the model. The characteristics, such as fault rates, security properties, and timing, may be used in domain specific analyses. Any changes to the architecture are reflected in all dimension of the views and the domain specific analyses. As with other approaches in this category, the consistency between views can be managed using model transformation and translation techniques by construction of the architecture model. This approach reduces the effort to manage consistency between views. Our work is most closely related to the second approach for multi-view modeling. We construct a system model by establishing a common semantic domain from which different views may be constructed or generated. A common semantic domain is a common language for which reasoning different aspects of a system can be achieved in a semantically consistent way. Our approach establishes a common semantic domain by developing a common system model from which views are projected. To avoid conflicts when multiple views contain overlapping content, we establish authoring privileges that dictate which view can be modified. This influences the propagation of changes to the other views through the system model. Moreover, our work is aimed for declarative modeling as opposed to executable simulation models. This allows us to express analytical models and use declarative proposition logics to describe the intent of the system without having to specify all of the details of the implementation of specification in the target analytical tool. This allows for abstracting the intent of the system architecture from its implementation. In addition, we have observed that little work has applied MBSE to explicitly capture the architectural decision process that is inherent in system architecting. Using models and automated optimization techniques in rigorous design flows have yet to be applied broadly in space system design as it has been applied in other domains such as system-on-chip design and Very-Large Scale Integrated (VLSI) circuit design where the use of models in system development has resulted in huge increases in design productivity and improved design quality . Similarly, we are working towards the development of a framework that embodies a rigorous design flow for space system design. As with any design flow, models and choosing the appropriate levels of abstraction are essential. In our approach, we avoid arbitrarily choosing abstractions for the common system model based on hierarchy alone. Instead, we choose appropriate abstractions that drive more detailed architecture decisions, and we partition the common system model using the chosen set of abstractions. As a result, we not only support multi-view modeling, but our approach for capturing the system architecture is more aligned with key architectural decisions. Thus, it is amenable to automatic and synthesis-based design exploration. In this paper we will describe our work towards a design environment that embodies a rigorous design flow for space system design. III. Overview of Approach Raising the level of abstraction is widely recognized in software and electronic system design communities as a technique to address complexity. Abstraction is a technique that helps to manage complexity by hiding information that is irrelevant to a problem. Abstractions can be categorized into vertical and horizontal abstractions. Vertical abstraction hides information at different levels of detail, whereas horizontal abstraction abstracts information at the same level of abstraction. Complexity can be managed more effectively by decomposing a system into abstractions. Abstraction in system architecting allows system engineers to focus on bounding problems whose solution remains agnostic to the greater problem as a whole. However, the essence of abstraction in system design is choosing the appropriate level of abstraction to address a problem. This is true for architecting space systems, as well. A central tenet of a systems approach to system architecting and engineering is choosing appropriate abstractions for specific concerns while simultaneously considering the problem as a whole. System architecting of space systems is a decision process that requires information with various degrees of granularity. Our approach applies the principles of component-based design and platform-based in the development of space system architecture to capture and effectively traverse the problem space at multiple levels of abstraction. The approaches are complementary, and they are used together to achieve a balance between contradicting goals of generality and achieving efficient component implementation. The following sections provide a summary of these principles.