软件架构的控制流总结

原创 2015年07月07日 12:22:39

在进行程序开发时,要从总体上对软件架构进行规划,软件架构(software architecture)包括两个aspects,control flow and data flow。这里先对typical software architecture control flow进行summarize,后续的文章将继续对data flow进行梳理和总结。这里要感谢dossier-andreas,把software architecture讲述的有清晰、有条理。让我这英语菜鸟也有机会读得懂。

1. Main program and subroutine,call and return(main函数和调用)

Command structure: Control Tree; Order of execution:Sequential.

这是一个最基础和最常见的控制流,在C、C++等几乎所有语言都支持。

2. Implicit invocation, Event Based(隐式调用)


依靠Message传递控制,主程序由无尽的控制循环构成,每次循环主程序都将Message发送给对应的模块去处理。类似windows MFC的消息机制,winmain函数中是一个大循环,用来接收消息,然后调用对应的module来处理消息。

3. The Manager Model 系统管理器模型


Commandstructure: Control Tree; Order of execution: Parallel.

这就是多进程的模型。由PCB(process control block,进程控制块)来负责存储和维护进程信息。主要由操作系统来实现Manager Model。实际上,在FPGA硬件上的并行就是一个个的process。

4. Emulated Parallel(模拟并行)


Command structure: Control Loop; Order ofexecution: Parallel.

这实际上是进程的实现模型(或者是进程内线程的实现模型)。时间片轮转调度,每一个循环分配给一个Module一段执行时间,就这样类似的将所有Module都推进,相当于并行执行。

 

参考文献:http://www.dossier-andreas.net/software_architecture







版权声明:本文为博主原创文章,转载请注明出处http://blog.csdn.net/lg1259156776/。

漫谈程序控制流

JS的generator可以玩魔法!! 不过,程序的世界,并没有无根之木、无源之水。让我们回溯本源,探一探各种高阶流程控制结构(比如continuation, coroutine)的来龙去脉...
  • ebay
  • ebay
  • 2015年08月11日 14:51
  • 1031

Android开发软件架构思考以及经验总结

欢迎关注我的知乎:井方哥 前言 架构设计,到底是什么呢?基于这段时间的学习和自己的一些思考,我认为架构是基于产品和技术所达成的一种共识。我不是专业的架构师,也不是经验老道的开发者。本文目的有三...

Android 开发软件架构思考以及经验总结

Android 开发软件架构思考以及经验总结,详解讲解了实际项目中的Android架构经验...
  • AMEPRE
  • AMEPRE
  • 2017年01月24日 16:11
  • 1016

软件架构的数据流总结(三)

14. Interpreter / virtual machine (解释器/虚拟机) 典型样例:Java 虚拟机,Rule-based systems,脚本语言(JavaScript) ...

软件架构的数据流总结(二)

8. Blackboard(有点像老师叫学生上黑板写东西,而不是学生随意上黑板写) Blackboard是Knowledge Sources的通用数据结构,能够代表问题空间的所有状态,当需要分...

软件架构中的5视图法经典总结

 架构设计中的5视图法    最近编辑过的 2011年4月10日 架构师需要满足的要求:1、满足性能、持续可用性等方面的软件“运行期质量属性”。2、满足可扩展性、可重用性等方面的软件“开发期质量属性”...

Android开发软件架构思考以及经验总结

欢迎关注我的知乎:井方哥 前言架构设计,到底是什么呢?基于这段时间的学习和自己的一些思考,我认为架构是基于产品和技术所达成的一种共识。我不是专业的架构师,也不是经验老道的开发者。本文目的有三,一是整理...
  • JF_1994
  • JF_1994
  • 2016年12月25日 16:31
  • 9580

软件架构经验总结

任何一款软件,从无到有,从初级到完善,一般都会经历一个漫长的过程。在这个过程当中,架构师的水平和软件体系架构本身的灵活性,就会处于一个很关键的位置。太多的软件,因为架构的问题,造成产品发布日期延迟,或...

Android开发软件架构思考以及经验总结

一、萌芽 作为一只编程经验并不怎么丰富的程序猿来讲,我一直觉得架构师是一个比较神秘的职业,架构设计就更加的高大上了。经过今年的几个项目,之前曾发文叙述我的从MVC到MVP项目重构实战经验,也曾说...

软件架构的分析与设计总结 很好

  • 2016年01月15日 17:32
  • 21.75MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:软件架构的控制流总结
举报原因:
原因补充:

(最多只允许输入30个字)