FIU Home
About CADSE
Research
Recent Publications
People
CADSE Activities
Opportunities
Training
Funding
Contact Info
Links



CADSE Home


A Formal Representation of Architectural Design

For complex software systems, a central design concern is system architecture. Systematic treatment of architectural specification and refinement is a proper basis for an engineering approach to system design. We have developed an executable, and constraint-based architectural model called SAM for architectural modeling of real-time concurrent systems. SAM provides a framework for systematic architectural design and refinement, and to enhance the traceability and conformance of system architecture against system constraints. Our results have been successfully applied to the areas of distributed command and control systems, automobile control systems, and flexible manufacturing systems.

The following is a summary of ongoing or planned projects in this area:

  1. Extension of SAM Notation to Multi-Layer Aspect Oriented Model
  2. Representation of Non-Functional Properties under SAM Framework
  3. Higher-Level Abstraction of SAM Representation
  4. Composability of SAM Model

 

The SAM representation in its current form describes control and communication of an architectural design. Although critical, this is only one aspect of the system. An informed and intelligent design requires thorough understanding of different facets of the system. Proper separation of these different concerns is also an effective way to deal with complexity in large-scale design. Maintaining consistency between these different aspects of design essential to maintain the integrity of design. To this end, we are extending the SAM notation toward a multi-layer aspect oriented formal representation of system architecture. The basic idea with multi-layer aspect oriented modeling method is as follows: We first build a base architecture model (BAM) for a system, which reflects the most fundamental requirements, structure and behaviors of the system. Then, we add onto the BAM additional pieces of models or parameters, which are called aspect model facets, to describe other properties, such as timing, safety, security, performance, and so on.

Back to top

System architecture has profound impact on such "non-functional" properties such as timing, performance, safety, and fault-tolerance. For example, performance of a distributed system largely depends on the complexity and volume of communication and coordination between system components. These system-wide properties play an increasingly vital part in complex, especially mission-critical, system design, as collectively they define system's "dependability". How to formally describe these properties in the context of system architecture is still, to large extent, an open issue. An equally important issue is how to describe them independently of system's functional logic so that we can architect systems in which both functionality and non-functional architectural properties can be changed and upgraded over the system's lifecycle. We are investigating various issues concerning the representation of these non-functional properties under the SAM framework. For example, what are suitable forms for describing these non-functional constraints, and how to systematically link these constraints with design model in the SAM framework? How to consistently propagate these non-functional constraints in different levels of design?

Back to top

Architectural model deals with coarse grain design decisions. A higher-level SAM representation without weakening its semantic expressiveness will help us to better deal with complexity and to focus on true architectural issues. A possible solution is to replace Petri nets-based component specification with a more abstract form, for instance, high-level Petri nets. This more abstract component specification is then automatically mapped to much smaller, possibly constant-sized, net specification, thus preserving the executability and analyzability of the model.

Back to top

Composability – the ability to build larger model from smaller components and to achieve system-wide properties by composing properties of the components – is a foundation to deal with large-scale systems. A basis to achieve this is to establish equivalency between system components. However, it is generally impractical to show that two components are equivalent on all system properties due to inhabiting complexity. It is possible, however, to show that two components are interchangeable based on certain property, e.g. timing. An extended SAM model, which allows us to easily make projections (or make slicing) of a design against specific system properties, e.g. timing performance, will significantly reduce the complexity of analysis.

Back to top

For problems or questions about this web, contact webmaster@cadse.cs.fiu.edu