Loading

Module 1: Functional Architecture Development & Decomposition

Notes d'étude
Study Reminders
Support
Text Version

Functional Architecture Development

Set your study reminders

We will email you at these times to remind you to study.
  • Monday

    -

    7am

    +

    Tuesday

    -

    7am

    +

    Wednesday

    -

    7am

    +

    Thursday

    -

    7am

    +

    Friday

    -

    7am

    +

    Saturday

    -

    7am

    +

    Sunday

    -

    7am

    +

Basicallywe will be looking at the functions to be provided in the engineering system in order toprovide the necessary output from a system, as you know there are different requirementfor the system and these requirements need to be met in the system through functionsprovided in the system that these functions will convert this in the inputs to the system totheir outputs. Basically the functions in a system are the blocks which actually convertthe inputs of the system to outputs.Here we will try to understand how do we identify the functions to be provide in thesystem based on these would be actually create a hierarchical function structure and thentake these functions to the next level of physical architecture development.(Refer Slide Time: 01:18)
If you look at the system architecture you can see that there are 3 different views for asystem. The first one is the operational view, the other one is a functional view andphysical view. Any engineering system we can look at the system from these 3 different
perspectives. In the operational view what we try to see is that how the system will beused by a operator or by a consumer and it is described by the operational conceptscontext diagram, use case scenarios, sequence diagrams and data modeling.In the previous lectures we discussed about these operational scenario and we identifiedthe requirements through this operational concepts, context diagram and use casescenarios, input output trace and basically from this operational view we create theoriginating requirements, and these originating requirement will be documented for thenext level of a design and the next level of is the functional view, from the operationalviews will develop a functional view of the system basically we will look at the stages indata between the functions. Basically it defines the capabilities, the services or thefunctions provided by the system it shows the messages and data between the functionsand these are described by different methods. The one method is known is IDEF 0diagram or there are functional flow block diagrams there are N 2 diagram. All these areused for representing the functional view of a system.We will see 1 or 2 methods and then later on when we discuss more about the modelingtechniques we will see the other methods also. The other view of the system is physicalview; in physical view we look at how we convert these functions into structural blocksor the physical architecture or physical blocks. It actually defines the allocated resourcesthat is the hardware and software and shows the interconnections between the resources.So, in the physical view we look at the actual hardware and the software and theirinterconnections and these are usually described by physical block diagrams and physicalinterface definitions. That we will see at a later stage. We will look at the functional viewof the system and then how the functional block diagram or the functional structure ofthe system can be developed.
(Refer Slide Time: 03:35)
As we discussed earlier we know that there are 6 functions of the design process and werefined that there are in system level design problem as the first one which we actuallyalready covered in the previous lectures. The next is developing the system functionalarchitecture that is what we are going to see in this lecture.(Refer Slide Time: 03:57)
What is a function of a system as you can see here the function is basically a relationshipbetween the input and output of a system? It is a statement of clear reproduciblerelationship between the available input and the desired output of a system independent
of any form that is very important. We do not by discuss about the form or the shape orthe hardware through which we can obtain the function, we basically define therelationship saying that what the relationship between input and output, and how do weconvert the input to an output. What functions are needed within the system to do that wedo not discuss about whether they will use a particular hardware or software to do thatwe define the function only or the relationship between the input and output over here.As you can see here there are different needs or requirements or different purposes fordefining the functional structure. Why do we need to the high of the functional modelingbasically this is the logical way of caring forward the customer need. We are identifyingthe customer need. The logical way of taking it to the next level is basically convertingthese needs into function blocks. How do we provide these needs are basically the outputfrom the system? How do we actually carry out this or satisfy the requirements and thatis to be decided by the function block.Functional modeling is basically a logical way of carrying the customer needs forwardsand it gives a clear thinking at the concept level. We are studying the development of thesystem. We can get a very clear idea of what the system should do or what the systemmust do in order to provide the output and it exercise a design repository for futuredevelopments also.Once you have these functional blocks for particular input and output, the same can beused for other systems also, these functional blocks basically acts as a design repositoryfor future developments and of course, it for out can be used for 6 sigma design or easyidentification of weakness and rectification. We can actually use it for identifying thereare mistakes or the problems in the system design. We can actually trace the functionsand then identify whether there is anything missing in the functional blocks. That alsocan be done using the a functional modeling of the system.
(Refer Slide Time: 06:16)
We will discuss few terminologies for a functional architecture because we were todevelop the functional blocks. We need to define some of the terminology we commonlyuse in the system. 1 is known as the system mode the system mode is defined to be adistinct operating capability of the system during which some or all of the systemsfunctions may be perform up to a full or limited degree. So, that is a system mode. It is adistinct operating capability of the system it is not the complete capability it is only aparticular capability of the system or a particular operating modes for example, you cansay that if you take the laptop then laptop has got different operating modes. We can saythat one is a sleep mode is there and there is a shutoff mode and there is a booting upmode and there is a power saving mode. So, there are different modes for the system.These are known as the system modes or a particular operating capability of the system.The system properties may change during these modes for example, in power save modethere may be a particular power given to the system or the screen brightness may bereduced. It will the system will try to reduce the power consumption in the power savemode in the sleep mode again the in the sleep mode some of the functions will be off andsome of them will be active. If you want to bring it back to the normal mode you canactually click one simple a single button and then bring it back to the operating mode.So, there are sleep mode operating mode power save mode like that there are differentmodes if you take any other system you can actually see this kind of modes if you takethe elevator for example, there is a what you call maintenance modes in maintenance
mode some of the functions may be there some of the functions may not be theresimilarly in normal operating mode all the functions will be present and in shutdownmodes most of the functions will be terminated.Like that you can see there are different operating modes for the system and thefunctions can actually be identified based on the system modes another terminology isbasically the system state a system state is a static snapshot of the set of metrics orvariables needed to describe fully the systems capabilities to perform the systemfunctions. This is more like a static snapshot basically trying to find out what are themetrics which actually define that particular system mode; every system has got variousperformance metrics and other parameters.We will take a particular mode and then try to see what the parameters for that particularmode are and that is known as system state for example, if you take the laptop exampleof power save mode. You can actually identify what is the power rating at that point whatis the current drawn and what is the status of the memory what is the status of theprocess or what speed it is working and what is the status of the brightness of themonitor. Like that we can actually define this matrix and we take the parameters and thatactually gives you the system state.So, basically it is a snapshot of a matrix or the variables needed to describe fully thesystems capability to perform those particular modes. It is a value of state variables at aspecific point in time. If you take a specific point in time it actually gives the values ofthese variables.
(Refer Slide Time: 09:40)
And then function we already describe this function. A function of a system is astatement of clear reproducible relationship where actually you can consider it as a blockwhere the input is coming and then the output is going out, the relationship between thisinput and output is the product function.And functionality is a set of function that is required to produce a specific output. If youwant a specific output then the system need to have some set of functions and that isknown as the functionality of a system. If you take the elevator if the elevator as toprovide the service for transporting passengers just to provide many functions in order togive the specific output, there are multiple function need to be provided in order to getthat the output and this is known as functionality of a system where it is a set offunctions needed to provide a particular output.
(Refer Slide Time: 10:40)
And the functional architecture basically can be defined as a logical architecture thatdefines what the system must do and decomposition of the systems top level function.Every system has got a top level function and then we need to identify how to providethis top level function and this can be done through many sub functions. A top levelfunction can be divided into many sub functions and to when you write down all thesesub functions in a proper format then that actually we will get the functional architectureof the system. This is a basically a logical model of functional decomposition. Youdecompose the main functional into small functions and actually it tells you the flow ofinputs and outputs. How the input is flowing through the functions and getting into theoutput and then it can be used for mapping of the requirements to functions.In the previous analysis we discussed about the requirements of the system. Once wehave these requirements we provide the functions and then we can actually checkwhether these functions really meet the requirements of the system or not. Basically ifyou have a functional architecture we can identify the flow of inputs and outputs as wellas we can map the requirements to function.We can see whether all the requirements can be satisfied with this function or not or weneed to add more functions in order to satisfy some of these requirement. That is theadvantage of having a functional architecture. Basically a functional architecture givesyou the sub functions and then helps you to identify the flows of inputs and outputs as
well as to help the map the requirements to the functions if you look at this diagram youcan see that the input to this functional architecture development basically is anoperational concept and the requirements yeah.You can see here this is an operational concept. The operational concept and therequirements are the inputs to the system and the output is basically a functional systemlevel functional architecture these 2 inputs will give an output and you have to providethat one we need to defined the symbol functionalities for the operational concepts thefunctionalities are basically the set of functions and then draft and evaluate the functionalmodel and complete the functional and data models and then trace the input outputrequirements to functions and items. We are doing all these steps in order to get thefunctional architecture of the system.We will go through all these steps how do you define the functionalities or how do youget the functional model and then how do you create the function architecture and thentrace the input output requirements of trace the input output requirements to the functionstructure. We will go through these stages and see how to develop the functionalarchitecture. So, here this is basically explained in with more clarity. As you can seehere, this is the operational concept input and the requirements input over here.These are the 2 inputs and then you have the simple functionalities for operationalconcept draft and evaluate functional model and complete functional and data modelsand trace input output requirements and once you do all this you will be actually gettingthe functional architecture or the functional structure of the system which will basicallytell you the top level function as well as the sub function which actually provide you allthe functionalities needed in the system or which will actually convert it will satisfy therequirements as per the customer demands.
(Refer Slide Time: 14:11)
I know to get the functional architecture there are different methods to do this the firstone is known as a decomposition or the top down approach in the top down approach,basically we will partition the system function at a level at a time that is we take the onefunction and then we divide it into sub functions and then take the one of the subfunctions and divide it into it is sub functions and till we reach the lower level functionwhich need not be defined or further which is need all function which need not besubdivided further. That is known as the top down approach for partition the systems atfunction level 1 at a time and it needs sound definition of all inputs and outputs.Here every stage we need to define the inputs and outputs clearly the another one isknown as composition or the bottom up approach and here, we define manyfunctionalities that is the bottom level functions what we need in order to provide aparticular system mode and then synthesize this function hierarchy from many bottomlevel functions. We combine these bottom level functions into a one function and thencombine many of these functions in to get the top level function. That is known as thebottom up approach.Here basically we should know the system modes and system functionalities then onlywe can get the bottom level functions and then go to the top level function, but in thecase of top down we start with the top level function and then decompose it one level at atime and get all the sub functions or the top bottom level functions and the another 1 is
known as the both is basically the you combine both of this in some cases you take thetop level function, but if you know some of the functionalities you can start with thosefunctionalities also. Combine these 2 methods and you can get there the functionalarchitecture.Here what we will try to do is to look at the decomposition from the top down method.So, we will see few methods through which we can decompose the functions in a topdown methods.(Refer Slide Time: 16:12)
Look at partitioning of the functions in the top level function we will basically do thepartitioning of function as I mentioned we consider the top level function and then takethe top level function and decompose it into sub functions or partition them into subfunctions and then keep on doing it one level at a time and till we reach the lowest levelfunction. How do we do this partitioning of functions?We have actually different methods of doing this. One is known as operating modes. Youtake an operating mode and find out the top level function for that operating mode andthen start dividing that function into sub functions or you can use inputs and controls.You can take one input of the system and then see what is happening to this input andfind out that function top level function which actually converts that input and outputsand then look at the control signals needed for that conversion and based on that wedivide this into small functions or there is another method called a Hatley Pirbhai
template or known as hp template the hp template also can be used for converting the toplevel function into smaller level function. We can use any one of these methods for doingthis hp template is 1 of the standard methods. We will discuss about this method and howwe can actually decompose the function into a small lower level function you see hptemplate.See in Hatley Pirbhai template the basic idea is that you take any function. Any functioncan be divided into 6 sub functions. That is the basic principle of hp template partitioningyou take a function and then you divide that into 6 sub functions.(Refer Slide Time: 18:02)
Can have this kind of a template, this is the template over here. As you can see here thereare 6 blocks. The top there is a top line and then there is a 2 side blocks and there are 3blocks in the middle, like this we can actually divide this into 6 sub functions you cansee here this is the top 1 and this is the side 2 blocks and then you have 3 blocks overhere now how do you do the actual decomposition what we do is basically we writedown the functions into 6. First one is basically the input processing. Any function willbe having an input and that the input data need to be processed as we saw that thefunction is basically a relationship between input and output.Any function need to process an input data. That is the first sub function that is theprocessing of input data and the second one is output processing that is you process theoutput whatever is coming from the block and that data need to be processed as, that it
can be given as a proper output to the customer or to the next level function. Theprocessing is basically how do we convert that an analog to a digital data or a digital datato a voice data or a visual data. That is the processing of data and then we have this userinterface processing. For any system there will be some data provided by the user. Howdo we process that data or how do we actually interface the operator or the user with thesystem. That is the user interface processing and then we have this process model whichis the main function which we are discussing.If you want to define or decompose a function, this will be the process model here. Thisis the process model that is the function need to be provided over here and then this inorder to provide this function we need to have the user interface processing you need tohave the input processing and then you need to have the output processing also and apartfrom this we need some other functions basically a control model. How do we controlthe conversion of this input to the output? That is the control model and finally, we needto have a maintenance or self test or redundancy management within the system. Everyfunction need to be a checked for it is consistency or it is proper functioning. Ourmaintenance of the functionality that also needs to be there in the system in thatparticular function, maintenance self test and redundancy also becomes one of the subfunctions.In effect says that, if you have a process model or a particular function to be adecomposed into sub functions you look at the interface processing first. What is thekind of interface need to be provided for the system in this case there is a user interfaceprocessing and then what is the input processing to be provided that is the input data howwe actually convert this data input data or process this input data. That it can beconverted in output or it can be controlled within the system in order to change it to anoutput.Whatever the input is coming through the user interface there will be processed by theinput processing we send through the control model will be converted this data into anoutput mode and then the output will be processed and it will be send it to the interface.That is the way how the functions are provided you convert this process model into subfunctions and then go ahead with the subdivision of these functions. That is the basicprinciple of hp template as you can see here the process model can actually be divided
into 5 other functions or in order to provide one process model function we need to have5 functions. We are actually dividing this function into 5 sub functions.Now the advantage of hp template is that you can actually take any one of thesefunctions you can take the output processing as a another process model and again dividethis into 5 functions similarly, those functions can I further be divided to 5 sub functionsand we can keep on doing this till we reach the last level of division of functions, hptemplate basically gives you a format through which we can divide the functions. Everyfunction you take then divided into 5 sub function basically user interface processinginput processing maintenance and self test and that output processing.This way we keep on doing these divisions then we will be reaching the final functionalarchitecture or we will be getting all the sub functions and the end of this processing willtake one example and then see how to do this division or the decomposition of functions.(Refer Slide Time: 22:58)
We will take the again take the example of an elevator. The elevator main function is tomove passengers between floors. So, this is the top level function of the elevatortherefore, this way we have different inputs and different outputs and different controlswithin the system. How do we actually divide this into sub functions is the main questionhere. The move passengers between floors are the main function which has to bedecomposed into sub function.
We have to look at what are the other things needed. As you can see in hp template thefirst or the top level or in the stop block what we provide here is basically the userinterface processing. Every elevator needs to have a user interface because users aregiving some input to the system. We need to have a user interface for the system and thatis provided here as the accept passenger request and provide feedback.One sub function of the main function that is the no passenger between floors isaccepting passenger request and provide feedback. That is one of the main sub functionsof this decomposition and another one is basically you control the elevator cars. That isthe control function in the elevator you have to control the elevator car based on thepassenger request and based on the other functionalities provided in the system. Controlelevator car is the control function the sub function of this system similarly enableeffective maintenance and services is another requirement that is the system needs tolook at it is own health or the monitor it is own health conditions and ensure that elevatoris in good condition to provide the main function of more passenger between floors.These are the 3 sub function basically accept passenger request and provide feedbackcontrol elevator cars and enable effective maintenance and services it can call it as thelevel 1 functions if you take more passengers between floors as the top level functionthen we have 3 level 1 function which are actually the sub functions of the top levelfunction and apart from this we need to provide input processing as well as outputprocessing also, it just to process the level fire security other information in order toprovide the required service.Once you have this is passenger request accepted, that data need to be processed apartfrom that data we have other inputs in the system like the present level of the elevatorwhat is the security signals what is the fire signal. Based on this signals need to beprovided and using this input data or processing this data it should be sent to the controlelevator car function and that will be providing a output from this function that is theconversion of analogue to digital data as the output processing. The output processingthere will be much information going from the particular function basically thecustomers or the passengers will be informed about the status of the elevator where it isand where the door is opening. All these information need to be provided to thepassengers, that work is done by the block or the function conversion of analog to digitalinformation and passed to the user interface.
As you can see here the top level function has been divided into 5 sub functions. Heresub functions are the accept passenger request, process level fire security information,control elevator car, enable effective maintenance and services and conversion of analogto digital data. These are the 5 sub functions now these are only that level 1 function weneed to actually divide these functions again into sub functions if you look at
the oneaccept passenger request and provide feedback this can be considered as one functionwhich can actually be further subdivided or you take control elevator cars again can besubdivided into sub function.How do we do this again we need to go back to this hp template and instead of thisfunction over here instead of move passenger between floors we write the acceptpassenger request and provide feedback as the process model and then divide that intosub functions and identify are the sub functions needed to provide that particular functionand keep on doing this till we reach the last or the lowest level function. That is how weuse the hp template to divide the functions into smaller functions or basically todecompose the functions into sub functions.(Refer Slide Time: 27:40)
We look at how you actually do this you look at this block over here. Here we are seenthat this the first one what we shown here the top level functional decomposition that ismove passenger between floors were actually decomposed into 5 functions now suppose,I want to decompose the function accept passenger equation provide feedback into sub
functions I will make another hp template like this and process model here will becomethe accept passenger request and provide feedback. Instead of allow process model ofmove passenger between floors the present process model will be the accept passengerrequest and provide feedback and again we will see what kind of interface processing isneeded what kind of input processing is needed and what kind of output processing isneeded.These things will be identified and we will provide the function decomposition this is theprevious one where the move passenger between floors was decomposed into 5 functionsand we will convert this into the sub function here. You can see here they acceptpassenger request and provide feedback has become the process model over here.(Refer Slide Time: 28:42)
And then we will have try to identify the sub functions like provide data entry outputfacilities.In order accept the passenger request what kind of functions are needed as you can seethat one is that provide data entry output facilities that is a customer should have thefacility to provide the data entry as well as to see the output from the elevator that is theone requirement of the interface processing for this function and then process user datainputs, user will be giving some data input. You process that data