In the last lecture, wediscussed about the functional decomposition and how to use the IDEF0 template todecompose the functions in to its sub functions.As mentioned earlier, IDEF0 is a standard developed by us air force for development ofengineering systems, and this can be effectively used for functional decomposition. Itactually uses a graphical format as well as text format to represent the functions and theirdecompositions. And once we get these decompositions or this sub functions, we can useit for developing a functional architecture or a hierarchical function structure. Wediscussed about one case study that is an elevator system design and then how to use theIDEF0 diagram for decomposition of elevator system.Today, we will discuss another example practical case study or a practical example anduse the IDEF0 diagram to decompose the functions into its small functions.(Refer Slide Time: 01:22)
So, the example here I am using is a unified data recording system or it is known asUDARE. Basically, this is used to record the data of educational institution especially theattendance the score the grades and all other as activities related to the a scholarship thenthe stipend and fees details. And apart from that it can actually act as a data a recordingsystem as well as an information data base, whereas students as well as the staff andfaculty can use it for various other purposes.So, the main objective of these system are one is to basically online recording andcompilation of attendance for students staff faculty on a day to day basis, other one is todo a real time analysis of a slot wise engagement of students and faculty basically dofind out whether the student are free on a particular slot or a faculty is available on aparticular slot for a meeting or for some other classes, serve as a real time data base forleaves salaries scholarship, etcetera and the computation of these data and serves as areal time data base for student’s feedback on courses and feedback analysis and serve asa real time a centralized data base for fees records of all students and a real time database for when you allocation time slots for yearlong liter or social activities happening inthe institutes.So, these actually access a uniform data base and you can be used for various purposesapart from the academic activities it can be used for other cultural and social activitiesalso. So, if you look at this system you can actually see that that actually encompassesmany sub system and external system and it request a system approach in the adevelopment of the UDARE system.
(Refer Slide Time: 03:25)
If you look at the external system diagram for this particular system, then you can seethat the students, staff faculty, internet provider, main server and maintenance personnelthese are the external systems directly interacting with the main system of UDAREsystem. And the UDARE system will provide the services which we already discussedand there are many other functions taking place the customers or the users will ask forthe services and the various forms of request will be there and there are other externalsystem like software regulations and building regulation which will be acting as a anexternal system for these system.So, when we developed the UDARE system and try to decompose the function we needto clearly identify the external system separately and then look at the main function orthe UDARE function only during the functional decomposition. So, these are all theexternal system. So, the external system will be having their own functions, but weshould look only at the interactive functions or the interface function which actually willbe use for interfacing the external systems to the main system.
(Refer Slide Time: 04:44)
So, this is the external system diagram for the UDARE system, if you look at the contextdiagram or the A-0 diagram of the IDEF0, you can see that the inputs and outputs arementioned here. So, there are many kinds of inputs about the user interface in times ofpassword and username, then the attendance details the information regarding the gradeand the scholarship and fees, then other events schedule and then the slot wise listing. Ofcourses, these are all coming as inputs to the UDARE system. And there are many otheroutputs coming from the system basically the updated attendance the mail requests forslot exchange then scholarship allotment and renewal data then updated lit soc allotmentdatabase recorded staff attendance fees database all these things are coming as output.And you will be having many control inputs not shown if here control inputs in terms ofthe availability of various classrooms availability of the fees structure and thescholarship structure for different category of students like M. Tech, PhD, B. Tech. Theseare all the control inputs coming to the system and of course, the mechanical system willbe the UDARE system or the main hardware which is used for providing the service. So,this is the context diagram from the system.Now, this context diagram you know that A0 is the main function provide UDAREservices is the main function. Now we need to see how to decompose this into its subfunctions. So, that would be coming in the first level diagram or the A0 diagram in A 0
diagram we will try to decompose these functions into A 1, A 2, A 3 a and etcetera that isdepending on the number of sub functions; we will divide this into many functions.(Refer Slide Time: 06:35)
So, we can see here the main function provide UDARE services this came actually bedecomposed into 4 sub functions of the main function that is user identity authenticationaccept user requests provide services and maintain services. So, these are the main 4functions.(Refer Slide Time: 06:55)
Now, if we write the A 0 diagram here user identity authentication is A 1, then acceptuser request provide feedback control operation provide utility services and maintenanceand repairs are the 5 function which actually can be obtained from the A 0 diagram.Now, if we look at the various inputs and controls coming into the system as well as theoutputs you can see the data search request will be coming from the user and then therewill be a network database which actually uses the user name and passwords and therewill be other requests for coming from users like navigation requests and transactionrequests. And then maintenance and all these inputs will be coming over to thesefunctions like user identity authentication and that will be giving a feedback to thecustomer about whether the requests has been accepted over the password and user nameis approved.And then other requests from this data will be given to the next function which is acceptuser request provide feedback and again, there will be many requests coming from herethe data search requests various kinds of requests should be going to this function alsoand there will be a feedback going from the system to the output.And the third function it is control operation in control operation which is the A 3 that thefunction of the main function. So, control operation is basically to control the use theinput data the output from these 2 functions as well as the data request and then controlsignals will be used you have to control the operation and based on the utility serviceswill be provided by the system. So, this is the fourth function.And of course, maintenance and repair will be a additional function which will beactually having the output from all these functions about the malfunctioning of any ofthis system data these systems will be send to the maintenance and repair function. Andhere the any output regarding the functioning of the system will be provided and this willbe given as a feed back to other systems also. So, that any malfunctioning of the systemcan be easily recorded as well as given as an output to the user.So, this is the first level of decomposition or known as the A 0 diagram now if youdecompose one of these functions to its sub function we will be getting the A 1 diagramin A 1 diagram. We will actually sorry; this is the detailed explanation for the previousdiagram as you can see here this is the user authentication A 1 and this is the A 2 functionand this is the A 3 function and this is the A 4 function and then A5 function and the all
the output from this block are shown here like provide utility services of various utilitylike data display navigation services cashless transaction all those output will beprovided by this particular function.First level diagram in the first level diagram, we will be decomposing the A 3 functioninto its sub functions. So, you can see here. So, A 3 function is basically to provide thecontrol operation. So, in control operation we need to control the request from the usersand then basically based on the request we need to provide outputs.(Refer Slide Time: 10:19)
So, here you can see this A 3 function A 3 has got many sub functions basically processrequest which actually process the request received from the customers or the users andthen search for data based on the request the data will be searched for the requestedinformation and then it will be extracting the data and then be providing it to the provideservice function.So, these are the 3 sub functions of the A 3 function and that is the level 1 diagram. So,here you can see the data search request navigation requests and cashless transactionrequests all kinds of requests from the users which will be coming from the in terms of indigitized format to this function and here this will be a processed and the processinginformation based on the processing information a feedback will be given whether thedata is possible to provide the service or not or is there any a malfunctioning of thesystem. And then, that information the process information will be sent to the database
for searching for the data and whatever the data is obtained will be given to the extractedthe data and will be given as an output to the next level. So, A 4 function or to the output.So, this is the level 1 diagram and as you can see the network database will be used as aninput here and the other input request should be also used of course, power supply andother control inputs also will be coming to this in order to provide the service againfurther dividing this function if you want to go for further details and to see what are theother functions needed to provide this particular A 1 of these function. So, we can take A32 as a function and then try to decompose that into further level this again detaileddescription of the previous diagram A 3 diagram, if you can see A 31 functions, here A 32function and then A 33 function. So, these are 3 sub functions of A 3 and their controland interaction are shown in this diagram.So, you can see the various feedback and outputs provide navigation details displayinformation and transaction details all are shown over here now if you decompose thisfunction further A 32.(Refer Slide Time: 12:39)
And you will be getting the A3 2 diagram which is level 2 diagram in level 2 diagram,we will try to decompose the function A 32 to its subcomponents. So, you can see thathere A 321 and A 322 are the 2 sub functions of A 32.
So, in A 32 to connect to the network is basically to search for data. So, connect to thenetwork is one function and then search for desired data the network database is anotherfunction. So, these 2 functions will provide you the data which is needed to provide theservice. So, the extract data from the network will be the output from this block again thelogin and password information will be provided in order to search the network databaseand then the desired data will be given to the next level function.So, this is how we decompose the function A 32. Now if you want to decompose thisfurther we can actually decompose this into the next level. So, 3 to 1 or 3 to 2 can bedecomposed into level 3 diagram and the this actually shows the detail explanation of theprevious one A 32 diagram. So, connect to the network is A 321 and the search fordesired data and the network is A 322 diagram and the output is extract data from thenetwork.(Refer Slide Time: 13:58)
So, we will go to the next level of decomposition where A 322 is decomposed into its subfunctions. So, that is known as A 322 diagram and this is a level 3 diagram and in thiscase the A 3 to 2 function is decomposed into 3321 and 3322. So, here the 332 functionthe first subdivision is find the category of the information asked by the user and then thesecond is collect data from the corresponding category. So, it depending on the categorythe data will be collected from the corresponding category.
So, we can see that A 322 function has for 2 sub functions and the main output is comingfrom the a function A 3322 which is the data extracted. So, like this if you go by level 0,level 1, level 2 and level 3 diagrams we can actually keep on decomposing this functioninto its sub functions and to what level we need to do this is actually determined by thetype of function, but in general we go up to level 3 or level 4 functions and by that timewe will be having a function which need not be decomposed further or a module orhardware form in the form of a hardware or in terms of a software will be available toprovide this function. So, there we actually stop the decomposition like collect data fromthe corresponding category.So, this actually can be usually implemented using a software code. So, we do notdecompose this into further because it is easily understandable at this level, in case it isnot so easy to understand or if you feel that there is a need for further decomposition wecan go to the level 4 diagram or level 5 diagram. And, that actually depends on thesituation and the understanding of the function by the person who actually develops thefunctional decomposition. So, this is how we actually use the IDEF0 diagram todecompose the main function into its sub functions this again shows the same previousdiagram in a more clarity that A 3321 function and A 3322 function are shown here inthis diagram.(Refer Slide Time: 16:11)
So, once we have this decomposition basically what we did was to take the mainfunction and then see what are the sub functions needed for this those functions areidentified through the decomposition through IDEF0 diagram and once we have thesesub functions we need to represent it in a hierarchical format what is the top levelfunction what are the level 0 function, then level 1 function, level 2 function like that andthat is represented in a hierarchical way then we will get the hierarchical functionalstructure and that is what is shown here.. So, you can see that level 0 is provide UDARE services. So, this is the function forproviding the main function that is the UDARE services. So, that is the level 0 diagramthen this level 0 diagram was decomposed into 5 functions basically user identityauthentication accept user request provide feedback control operation provide servicesand maintenance and repair. So, you can see that A 1, A 2, A 3, A 4, A 5 are the level 1functions and then these level 1 functions each of these functions can be decomposedinto its sub functions like A 11, A 12 or A 21, A 22, A 23, etcetera A 31, A 32, A 41 likethis it can be decompose.This case study we actually decompose the function control operation A 3 into its subfunctions like A 31 A 32 and A 33 where process request search data and extract data arethe sub functions again this each of these sub functions like A 31 can be decomposed toA 311, A 312, A 32 can be decomposed similarly A 33 can also be decomposed into subfunctions again we can use the IDEF0 diagram to do this decomposition.In this A 32 function we decomposed and then we found that A 321 and A 322 are the 2sub functions basically connect to network search for data in the database. So, these arethe 2 sub functions again the function A 322 was decomposed to A 3221 and 3222 andsimilarly, this can be subdivided if needed we can go for lower level functions anddecomposed to further.So, this actually shows a hierarchical function structure now if you want to provide thisparticular function, we can identify what are the lowest level functions to be provided inorder to provide this function and this actually helps us to identify the proper hardware inorder to provide this function. So, this is the basic way of decomposing the functions intoits small functions and showing them in a hierarchical way and this is known as ahierarchical function structure for a system.
. So, this actually shows more clear view of the function. So, the provide UDAREservices is the main function and these are the sub functions A 1, A 2, then A 3, then A 4and 5 and then you can decompose this A 3 function into its sub functions A 31, A 32, A33 and then further down you go for A 3 can be decomposed into A 32 can bedecomposed to 3 2 1 3 2 2 and so on. So, we will be able to decompose all thesefunctions into its smallest level functions and provide the hierarchical function structure.So, that is how we do the decomposition.(Refer Slide Time: 19:59)
Some of the common mistakes in developing the functional architecture are we actuallyhave different format or different methods to do the decomposition basically wediscussed about hatley-pirbhai template and IDEF0 diagram and then both these methodsare some common mistakes normally happen because that is students or the engineersthey try to improve the external systems and their functions as part of the main function.And this is one of the reasons we defined the external system in the beginning itself weclearly state that the external systems are outside the boundary of the main system. Andtherefore, no external system function should be including the function decomposition.Similarly choosing the wrong name for a function; so always the function need to beexpressed in terms of a noun and verb and if you use it in a different way, then the actualthe meaning of the function will not be clearly understood and therefore, we makemistakes in the further decomposition therefore, we had to choose the correct name for
the function and then creating a decomposition of a function that is not a partition of thatfunction, again we cannot have a function which is already a main function as a subfunction again, therefore, when we decompose the function we should be very carefuland we should not do a function which is not a part of the main function.So, make sure that all the functions are really part of the function being decomposed andthen violating the law of conservation of inputs outputs or controls basically as you cansee is an every function, there is an input there is an output and some control functions.So, all the inputs should actually come out of the system as an output in form of suitablyprocessing using the control. So, the all the signal is which actually goes in and the outthere should be a balance and there should not be something which is completelyabsorbed in the function. So, that is actually against the law of conservation of inputsoutputs or controls.So, these points need to be taken into account while decomposing the function and makesure that we do not make the common mistakes this function decomposition is veryprone to have. So, follow these rules and then try to avoid the common mistakes that areabout getting the functions basically from the main function of the system, but apart fromthese functions we need to have some additional functions in the functional architecture.(Refer Slide Time: 22:31)
So, in order to finish the functional architecture we need to look at few more additionalfunctions which are not very obvious to the designer in the beginning, because we
always look at the user requests and then processing the request and providing theoutput.So, in order to make this happen we need to provide additional functions also in thesystem and here what we need to look at this basically the system errors and thenidentification of the errors in the system. So, in order to finish the functional architecturewe need to define the system errors and the failure modes and inserting functionality todetect the errors and recover. So, apart from providing the services we need to have thefunctions in the system in order to make sure that the system is working perfectly welland as well as it actually identifies some errors in the system or faults in the system andit is reported. So, the functionalities are needed to identify these faults that are the faultidentification functions.And the other one is inserting appropriate functionality for some combination of built inselfness and external testability. So, there should be some tests going on within thesystem which is known as built in test to make sure that the system is performing wellthroughout its life as well as external testability is possible that it is possible to test thesystem some external resources or external means. So, the functions to be provided inorder to provide these functions also. So, if you add with these functions along with theprevious functional architecture then only the functional architecture is complete.How do we provide these? You know to provide this function we need to define some ofthe terms which actually defines the identification.
(Refer Slide Time: 24:21)
So, we define these functions as error detection functions. So, these are the functions tobe provided there are the error detection functions. So, you know to find out the functionor how to provide this function we need to define these terms like a failure the failure ina system is defined as a deviation in behavior between the system and its requirements.So, every system has got some requirement identified by the users or the stakeholders.So, whenever we are not able to provide this requirement then it is known as a failure ofthe system. So, any deviation in behavior within the system and its requirements areknown as a failure an error is a subset of the system state which may lead to the systemfailure. So, every system has got a system state in we define the system state in all of theearlier lectures basically it is a snapshot of the system characteristics at a particular time.So, subsets of the system state is errors which lead to a system failure.Or any changes in the system state or which is which is not as per the required state, thenthis may lead to a system failure and subset of the state is known as an error and the faultis a defect in the system that can cause an error. So, any fault in the system in terms of itsphysical behavior or a malfunctioning of a physical component this can actually cause adefect and that will cause an error in the system. So, these are the terms which actuallycomes into play when we define the error detection functions.So, the basic idea of providing the error detection function is to provide fault tolerance inthe system. So, fault tolerance is the ability of a system to tolerate faults and continue
performing. So, every system should be able to tolerate the fault in the system and stillcontinue performing. So, even when there is a small error and it actually cause resultsinto some problem the system should be capable of continuing the performance withoutaffecting its outputs or the performance requirements and that is known as the faulttolerance in a system.(Refer Slide Time: 26:38)
If you look at the fault tolerance terminology may have to shown here we can see thatthere are observable and unobservable failures the system or the errors in the system. So,every system has some requirements. And these requirements are the basic objective oroutput of the function or the system and then system may have deviation from therequirement. So, there are requirements for the system and there may be a deviation fromthe requirement and this is known as the failure of the system and the system as suchcannot observe the failure. So, because the system does not know what is it supposed todo only the customer will be knowing or the consumer will be knowing what it has to do.So, the system as such cannot identify its failures. So, that is why is are a unobservablefailures, but we need to convert this into observable quantities it is then only we will beable to correct or have fault tolerance in the system. So, we can see a system has manystates and states may have errors and this errors are observable these are the errors whichactually lead to failure. So, we look at the system states and then these errors and since
these errors are observable; we look for observable erase and then try to observe the errorand then provide a fault identification or fault tolerance function.
Again the system may have defect which is a fault and this can actually cause errors; sothe basic culprit here maybe a defect or lack of providing the requirement. So, any one ofthis can actually be observed through the errors and then these errors can be monitoredand necessary functions can be provided in the system in order to provide the faulttolerance and these functions which actually provide these fault orders are known as fortolerant functions.(Refer Slide Time: 28:30)
So, fault tolerance can be achieved for those errors that are observed. So, there are manyfunctions in order to provide the fault tolerance basically if you look at the fault tolerancefunction there should be an error detection function basically to detect an error if there isan error or not or when something goes wrong the system should be capable ofidentifying the error and then only we can actually tolerate that particular error and thenthere will be a damage confinement basically when there is a damage we need to makesure that it is not spreading to other areas. So, this is known as damage confinement andthen error recovery.So, if there are a error happened how do we recover from that particular error that isknown as error recovery function and then fault isolation and reporting. So, we can seehere fault isolation and reporting is the final one basically you isolate that particular fault
and report to the maintenance function or the maintenance module so that we can takethe corrective action. So, when all these 4 functions are provided and you have the errordetection damaged confinement error recovery and fault isolation reporting then we aregetting the fault tolerance in the system.And this can actually be provided by different ways different functions can beincorporated into the system in order to have all these 4 functions. And, when we addthese functions into the function architecture then the fault tolerance function maybecomes possible in this particular system.(Refer Slide Time: 30:03)
So, error detection as I told you the first function is error detection this is defined as errordetection is defining possible errors or the deviations in the subset of the system statefrom the desired state as we know that an error is basically a variation from the systemstate from the desired state. So, we actually defined this using the error detectionfunction in the design phase before they occur and establishing a set of functions forchecking for the occurrence of each error. So, we know the state and we know; what arethe states to be observed and we define some functions or a set of functions for checkingthe occurrence of each of this error.
Log in to save your progress and obtain a certificate in Alison’s free Advanced Diploma in Principles of Engineering System Design online course
Sign up to save your progress and obtain a certificate in Alison’s free Advanced Diploma in Principles of Engineering System Design online course
Please enter you email address and we will mail you a link to reset your password.