保存成功
订阅成功
保存失败,请重试
提交成功

编码软件的基因

深圳沃星实业有限公司,技术总监。面向资源应用开发方法研究者及平台开发者,smarthings事脉顺万事互联架构设计人,智慧城市整体建模技术探索者。以开发高难软件项目替代攀岩乐趣的人。
查看本场Chat

概述

这是一个探索性的话题,涉及到用生命的观点来看待软件这种事物。如果说每一个软件都是一个生命,那么软件一定有自已的基因。我们与其编码软件,不如编码软件的基因。

如果你和我一样,对软件的基础架构创新感兴趣,并且发现自己总是有一股从骨子里透出来的、想在软件方面搞点黑科技的冲动,那就请跟我来,我分享的不仅仅是一个奇思秒想,而是将其化作现实的实践成果和心得。希望这个分享能为您开辟一个全新的梦想空间。

理论篇

基因软件和软件的基因分析

基因软件

基因软件是一种这样的计算机软件:基于一个经预先设计定义好的软件基因,可以在运行环境中,在预定的外部信息激励下,按预定的方法做出动作,促进自身结构按预定模式成长,对内产生预定的信息记忆,对外形成预定的信息服务

软件基因

软件基因分程序基因信息基因。程序基因是在设计时预先对运行程序的结构变化模式和对外交互行为方式的定义信息基因是对被程序处理的业务知识和信息结构的定义。

软件基因并非一个软件,而是对一个软件的定义。

程序结构变化模式

程序的结构:一个程序是由多个程序构件相互连接,相互依赖而组成的整体;高级的程序构件,是由多个基本的程序构件相互连接,相互依赖而组成的整体;基本的程序构件是由程序代码实现的、具有特定结构和行为方式的基本功能单位。

基于上述结构原理,对软件程序的定义就转换为对程序构件及对程序构件之间相互连接,相互依赖的关系的定义。

程序构件的定义:利用一个通用的描述框架对软件程序的功能和特性单元进行的描述。

程序结构的变化:一个基因软件可以从最初的初创结构开始,在受到预定的外部信息的激励下,对自身的结构进行改变。包括:

  • 按预定的方式添加、删除组成自身的子构件;

  • 按预定的方式添加、删除子构件之间的连接关系和功能调用关系。

程序结构变化模式:可以预先定义,在一个类型的程序构件中,可以在运行时添加什么类型的子构件?可删除哪些子构件?可建立或解除什么连接关系?可建立或解除什么调用关系?其中还包括如下一系列详细的信息需要定义:

  • 怎么建立或解除关系?

  • 在得到什么信息时建立或解除关系?

  • 怎么选择建立数据的端口和方法接口?

互动评论
评论
1 年前
之前购买过他们的精英VIP兑换并阅读了您的知识图谱专栏文章受益匪浅,现在想再重温发现被下架了,精英VIP会员资格也被下架不能续费,只能转为普通的VIP,无缘再阅读,请问是否能与gitchat沟通上架,或是其他方式分享您的创作呢?非常感谢!
评论
babⅰtuo(作者)1 年前
谢谢您的鼓励,包含原创技术的作品因包含独创的技术内容,因此创作困难,阅读量却很小,不能象主流技术的知识分享那样创作相对容易,但阅读量较大,能给平台带来可观收益,所以很难在平台上生存。这是很遗憾的。
评论
查看更多