Architecture Modeling - SPES 2020
Architecture Modeling - SPES 2020
Architecture Modeling - SPES 2020
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
5.2.1.5 Platform-Based Design<br />
<strong>Architecture</strong> <strong>Modeling</strong><br />
Platform-based design (PBD) was introduced in the late 1980s to capture a design process that<br />
could encompass both horizontal and vertical decompositions and multiple viewpoints. It was<br />
inspired by the development of personal computing and by the use of the term platform intended<br />
to underline the importance of re-use and of building upon available results. The notion of<br />
platform though was highly context dependent and meant different things to different people.<br />
Thus, there was room to introduce a general approach that could be shared across industrial<br />
domain boundaries and would subsume the various definition and design concepts.<br />
The basic tenets of platform-based design are as follows:<br />
• The design progresses in precisely defined abstraction layers; at each abstraction layer,<br />
functionality (what the system is supposed to do) is strictly separated from architecture<br />
(how the functionality could be implemented). This aspect is clearly related to layered<br />
design and hence it subsumes it.<br />
• Each abstraction layer is defined by a design platform. A design platform consists of<br />
– A set of library components. This library not only contains computational blocks<br />
that carry out the appropriate computation but also communication components that<br />
are used to interconnect the computational components.<br />
– Each element of the library has models that represent a characterization in terms of<br />
performance and other non-functional parameters together with the functionality it<br />
can support. Not all elements in the library are pre-existing components. Some may<br />
be “place holders” to indicate the flexibility of “customizing” a part of the design<br />
that is offered to the designer. In this case the models represent estimates of what<br />
can be done since the components are not available and will have to be designed.<br />
At times, the characterization is indeed a constraint for the implementation of the<br />
component and it is obtained top-down during the refinement process typical of<br />
layered designs. This layering of abstractions based on mathematical models is<br />
typical of model-based methods.<br />
– The rules that determine how the components can be assembled and how the functional<br />
and non-functional characteristics can be computed given the ones of the components<br />
to form an architecture. Then, a platform represents a family of designs<br />
that satisfies a set of platform-specific constraints. This aspect is strictly related to<br />
component-based design.<br />
• This concept of platform encapsulates the notion of re-use as a family of solutions that<br />
share a set of common features (the elements of the platform). Since we associate the<br />
notion of platform to a set of potential solutions to a design problem, we need to capture<br />
the process of mapping a functionality (what the system is supposed to do) with the platform<br />
elements that will be used to build a platform instance or an “architecture” (how the<br />
system does what is supposed to do). This process is the essential step for refinement and<br />
provides a mechanism to proceed towards implementation in a structured way. Designs<br />
on each platform are represented by platform-specific design models. A design is obtained<br />
by a designer creating platform instances (architectures) via composing platform<br />
components (a process that is typical of component-based design), by mapping the functionality<br />
onto the components of the architecture and by propagating the mapped design<br />
in the design flow onto subsequent abstraction layers and/or perspectives.<br />
98/ 156