200
COMPONENT_DEF Smp_Front_End IMPLEMENTS Front_End_Type {
INTERFACES { /* The interfaces between this component and */
/* other components. */
SUPPLIES: /* interface supplied by this component */
/* <type> <instance name>; */
Service_Comm_Type fe_service;
REQUIRES: /* interface required by this component */
/* none in this definition */
903 COMPONENTS {
TM" /* <Component type> <instance name>; */
Front_End_Smp_Sw fe_ss;
Smp_Hdw fe_sh;
Os fe os;
PARAMETERS {
/* <type> <instance name> = <value assignment>;
OR
<type> <instance name>;
*/
Float_Type cost = fe_ss.cost + fe_sh.cost + fe_os.cost;
Float_Type throughput = smp_fe_perf_est(fe_ss.num_threads,
fe_sh.num_processors,
fe_sh.proc_speed,
fe_sh.mem_size,
fe_sh.mem_speed);
}
CONNECTIONS {
/* <interface required> <- -cinterface supplied> */
fe_os.hdw_platform_interface <- fe_sh.hdw_platform_interface;
fe_ss.hdw__platform_interface <- fe_sh.hdw_platform_interface;
fe_ss.generic_os_services <- fe_os.generic_os_services;
)
ATTRIBUTES {
205 /* The following set attributes of the fe_services interface, which V is supplied by this component. It composes the different layers
in a communication stack.
<interface>.<attribute> = <value assignment;-;
*/
fe_services.comm_layerl = fe_sh. hdw_platform_interface.comm_layerl;
fe_services.comm_layer2 = fe_os.generic_os_services.comm_layer2;
fe_services.comm_layer3 = fe_os.generic_os_services.comm_layer3;
fe_services.comm_layer4 = fe_os.generic_os_services.comm_layer4;
fe_services.comm_layer5 = fe_ss.fe_query_services.type;
)
FIG. 2A