欢迎来到天天文库
浏览记录
ID:40729149
大小:1.64 MB
页数:50页
时间:2019-08-06
《TUW-Model-Based Engineering in Industry》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、Model-BasedEngineeringinIndustry:Revolution,Evolution,orSmoke?BranSelićMalinaSoftwareCorp.,CanadaSimulaResearchLabs,NorwayZeligsoft(2009)Ltd.,CanadaUniversityofToronto,CanadaCarletonUniversity,CanadaUniversityofSydney,Australiaselic@acm.org©CopyrightMa
2、linaSoftwareTypicalDeveloperWhiteboard2©CopyrightMalinaSoftwareTHEPROMISEOFMODELING3©CopyrightMalinaSoftwareAnExampleofProgramCodeWritteninSystem-C(ahigh-levelDSL)SC_MODULE(producer)SC_CTOR(consumer){{sc_outmasterout1;SC_SLAVE(accumulate,in1);sc_
3、instart;//kick-startsum=0;//initializevoidgenerate_data()};{SC_MODULE(top)//containerfor(inti=0;i<10;i++){{out1=i;//toinvokeslave;}producer*A1;}consumer*B1;SC_CTOR(producer)sc_link_mplink1;{SC_CTOR(top)SC_METHOD(generate_data);{sensitive<4、art;}};A1=newproducer(“A1”);SC_MODULE(consumer)A1.out1(link1);{B1=newconsumer(“B1”);sc_inslavein1;B1.in1(link1);}};intsum;//statevariablevoidaccumulate(){sum+=in1;}4©CopyrightMalinaSoftware…andits(UML)Model«sc_method»«sc_link_mp»«sc_slave»A1:produ5、cerlink1B1:consumerstartout1in1NB:It’snotaboutvisualvs.textualsyntax......althoughsyntaxplaysacrucialroleSyntaxistheinterfaceofalanguagethroughwhichwecommunicateideas5©CopyrightMalinaSoftwareModelversusCodeSC_MODULE(producer)SC_CTOR(consumer){{sc_outma6、sterout1;SC_SLAVE(accumulate,in1);sc_instart;//kick-startsum=0;//initializevoidgenerate_data()};{SC_MODULE(top)//containerfor(inti=0;i<10;i++){{out1=i;//toinvokeslave;}producer*A1;}consumer*B1;SC_CTOR(producer)sc_link_mplink1;But,modeli7、ngismuch,much{SC_CTOR(top)SC_METHOD(moregenerate_datathanautomatedcode);{sensitive<in1;B1.in1(link1);}};intsum;//statevariab8、levoidaccumulate(){sum+=in1;«sc_method»«sc_link_mp»«sc_slave»}A1:producerlink1B1:consumerstartout1in16©CopyrightMalinaSoftwareWhyEngineersBuildModelsENGINEERINGMODEL:Aselectiverepresentationofsomesystemthatcapturesaccuratelyandconcisel
4、art;}};A1=newproducer(“A1”);SC_MODULE(consumer)A1.out1(link1);{B1=newconsumer(“B1”);sc_inslavein1;B1.in1(link1);}};intsum;//statevariablevoidaccumulate(){sum+=in1;}4©CopyrightMalinaSoftware…andits(UML)Model«sc_method»«sc_link_mp»«sc_slave»A1:produ
5、cerlink1B1:consumerstartout1in1NB:It’snotaboutvisualvs.textualsyntax......althoughsyntaxplaysacrucialroleSyntaxistheinterfaceofalanguagethroughwhichwecommunicateideas5©CopyrightMalinaSoftwareModelversusCodeSC_MODULE(producer)SC_CTOR(consumer){{sc_outma
6、sterout1;SC_SLAVE(accumulate,in1);sc_instart;//kick-startsum=0;//initializevoidgenerate_data()};{SC_MODULE(top)//containerfor(inti=0;i<10;i++){{out1=i;//toinvokeslave;}producer*A1;}consumer*B1;SC_CTOR(producer)sc_link_mplink1;But,modeli
7、ngismuch,much{SC_CTOR(top)SC_METHOD(moregenerate_datathanautomatedcode);{sensitive<in1;B1.in1(link1);}};intsum;//statevariab
8、levoidaccumulate(){sum+=in1;«sc_method»«sc_link_mp»«sc_slave»}A1:producerlink1B1:consumerstartout1in16©CopyrightMalinaSoftwareWhyEngineersBuildModelsENGINEERINGMODEL:Aselectiverepresentationofsomesystemthatcapturesaccuratelyandconcisel
此文档下载收益归作者所有