网构软件-Internetware

简介:
网构软件,973项目提的一个概念。概念。
作为一种新型软件形态,它应该涵盖哪些研究范畴?评价它成功的基本标准是什么?
我们看待一件事物,首先都会从已知的认知空间里寻找与之对应者。那么,能与网构相对应的大概就是面向对象。
面向对象是一种paradigm。作为一种paradigm,应该有什么?
归根结底,paradigm需要将问题空间映射到计算机解空间。
对于面向对象来说,首先,面向对象分析、设计和开发方法用以分析需求,设计软件结构,以及建立软件。其次,面向对象编程语言服务于在计算机空间建立解。语言,需要一个编译器,以及相应的运行平台。
若然如此对比,那么,对于网构来说,重点是要建立一套开发方法以及一个编程语言?
即使如此对比,网构相对于对象的突破点在哪里,就如同面向对象相对面向过程的突破点?
若只是如此对比,世界上从无到有的理念又是如何来的?
并且,计算机需要完全创新的理念吗?
当然,创新理念随时都需要的,比如突破Turing machine的限制。
这问题应该是:在turing machine模型下,计算机领域存在科学问题么?

Internet作为不同于传统计算机的硬件平台,具有如下基本特征: 

无统一控制的“真”分布性

节点的高度自治性

节点链接的开放性和动态性

人、设备和软件的多重异构性

实体行为的不可预测性

运行环境的潜在不安全性

使用方式的个性化和灵活性

网络连接环境的多样性

由于软件系统所基于的计算机硬件平台正经历从集中封闭的计算平台向开放的Internet平台的转变,软件系统作为计算机系统的灵魂,随着其运行环境的演变也经历了一系列的变革。目前,面向网络的计算环境正由Client/Server发展为Client/Cluster,并正朝着Client/Network和Client/Virtual Environment的方向发展。那么,未来的基于Internet平台的软件系统又将会呈现出一个什么形态呢?

从技术的角度看,以软件构件等技术支持的软件实体将以开放、自主的方式存在于Internet的各个节点之上,任何一个软件实体可在开放的环境下通过某种方式加以发布,并以各种协同方式与其它软件实体进行跨网络的互连、互通、协作和联盟,从而形成一种与当前的信息Web类似的Software Web。Software Web不再仅仅是信息的提供者,而是各种服务(功能)的提供者。由于网络环境的开放与动态性,以及用户使用方式的个性化要求,从而决定了这样一种Software Web并不能够像传统软件那样一蹴而就,它应能感知外部网络环境的动态变化,并随着这种变化按照功能指标、性能指标和可信性指标等进行静态的调整和动态的演化,以使系统具有尽可能高的用户满意度。我们将这样一种新的软件形态称为网构软件(Internetware)。

网构软件区别于传统软件形态的独有特征

网构软件是在Internet开放、动态和多变环境下软件系统基本形态的一种抽象,它既是传统软件结构的自然延伸,又具有区别于在集中封闭环境下发展起来的传统软件形态的独有的基本特征:

自主性

指网构软件系统中的软件实体具有相对独立性、主动性和自适应性。自主性使其区别于传统软件系统中软件实体的依赖性和被动性。

协同性

指网构软件系统中软件实体与软件实体之间可按多种静态连接和动态合作方式在开放的网络环境下加以互连、互通、协作和联盟。协同性使其区别于传统软件系统在封闭集中环境下单一静态的连接模式。

反应性

指网构软件具有感知外部运行和使用环境并对系统演化提供有用信息的能力;反应性使网构软件系统具备了适应Internet开放、动态和多变环境的感知能力。

演化性

指网构软件结构可根据应用需求和网络环境变化而发生动态演化,主要表现在其实体元素数目的可变性,结构关系的可调节性和结构形态的动态可配置性;演化性使网构软件系统具备了适应Internet开放、动态和多变环境的应变能力。

多态性

指网构软件系统的效果体现出相容的多目标性。它可根据某些基本协同原则,在动态变化的网络环境下,满足多种相容的目标形态。多态性使网构软件系统在网络环境下具备了一定的柔性和满足个性化需求的能力。

可以说,网构软件的概念是普适而广泛的。实际上,从单机结构上的软件系统、到主/从结构的软件系统、到客户机/服务器模式的软件系统、一直到现有的浏览/服务器结构的软件系统,从本质上来说,都是网构软件系统的一种特例(具有网构软件的某些特性)。例如,当今有代表性的Browser/Server结构在Server端具有相对独立性,而众多Browser与Server端的连接则具有开放环境下跨网络的初级协同性;而Browser搜索引擎搜索结果的多重性则体现了其随网络环境变化而产生的多态性;JINI技术中所倡导的软件实体的动态联盟和Applets技术等则在某种意义下体现了演化性的需求;而Active Software 和Autonomous Software 则反映了在网络环境下对软件实体自主性的需求。因此,有理由相信,网构软件概念基本概括了在Internet开放、动态和多变环境下软件技术的发展趋势,它将在未来5-10年成为软件的一种主流形态。

传统软件形态的局限性

从网构软件的角度来考察当今主流软件技术,可以发现现有软件技术体系由于其本质上是一种静态和封闭的框架体系,难以适应Internet开放、动态和多变的特点。从技术框架看,软件方法学的核心是程序设计方法学,而程序设计方法学考虑的重点是软件结构。软件结构主要包括程序实体和协同方式两部分。目前在软件领域占主导地位的软件方法是面向对象方法。从网构软件的角度来看面向对象软件结构,可以发现以下三方面的问题:

系统目标和结构确定性的限制

一般说来,在构建系统的过程中,系统的基本功能和基本结构是按照系统所要解决的问题和问题领域的特性通过系统分析与设计逐步确定的,未能兼顾Internet开放、多变和动态的特性。因此,它难以适应网构软件系统的动态协同、逐步适应和不断演化的需求。

实体单元自主性的欠缺
面向对象方法中的对象概念通常是静止和被动的,它难以在Internet开放、动态和多变环境下调整自己的目标和行为,以适应网络环境的变化和用户的个性化要求。

本文转自BlogJava 新浪blog的博客,原文链接:网构软件-Internetware,如需转载请自行联系原博主。

相关文章
|
5月前
|
安全 搜索推荐
坚持不懈,每天分享5款好用的软件
每个人的电脑中都会安装很多软件,可能还保留着很多不为人知的冷门软件。不过虽然冷门,但绝不意味着低能,相反很多冷门软件的功能十分出色。闲话少说,接下来我就给大家推荐5款冷门小工具,看一看有没有你喜欢的。
58 0
|
11月前
|
安全 数据安全/隐私保护 Windows
分享5款有趣的软件,你都知道吗?
今天我想分享几个有趣但或许不那么多人知道的软件,各位喜欢的朋友可以自行下载呢。
112 0
|
2月前
|
搜索推荐 数据管理 Windows
分享5款日常中非常好用的软件
本文精选五款高效能软件,旨在优化您的计算机使用体验。包括媒体中心Kodi,支持多媒体文件管理和播放;系统优化工具Winaero Tweaker,个性化Windows系统设置;微信空号检测软件燃精灵,快速筛选有效微信用户;磁盘管理利器DiskGenius,提供全面的数据管理和恢复服务;以及万能文件查看器FileViewPro,轻松预览多种文件格式。这些软件将帮助您提高工作效率,丰富娱乐生活,同时增强系统的稳定性和个性化。
29 0
|
5月前
|
编解码 开发者
VirtualNes 软件介绍
VirtualNes 软件介绍
|
5月前
|
安全 数据安全/隐私保护
回顾5款我非常喜欢的软件,希望大家也能喜欢
我喜欢分享好软件,这就像与老友聊天一样让我感到快乐。在这个过程中,我可以回顾这些实用的小工具,也希望它们可以帮助到更多人。
35 0
|
5月前
|
机器学习/深度学习 搜索推荐
速成软件书如何?
速成软件书针对编程初学者和专业人士,以快速入门和实践为主,简化复杂概念,提供时间灵活性。然而,它们可能缺乏深度和广度,无法覆盖最新技术,且无个性化指导。结合其他资源,如在线课程和实践项目,可实现更全面学习。学习编程需结合自身需求,保持热情与实践,速成软件书只是其中一部分。
|
12月前
|
自然语言处理 前端开发
坚持每日分享5款好用的小软件
今天推荐5款十分小众的软件,知道的人不多,但是每个都是非常非常好用的,有兴趣的小伙伴可以自行搜索下载。
58 0
|
测试技术
软件的需求
软件的需求
47 0
|
5月前
|
Web App开发 Windows
分享5款简单实用的软件,值得收藏
电脑上的各类软件有很多,除了那些常见的大众化软件,还有很多不为人知的小众软件,专注于实用功能,简洁干净、功能强悍。
77 0
|
数据可视化 数据安全/隐私保护
分享5个你可能不知道但非常实用的软件
在本文中,我们将向你介绍五款实用的软件,包括文件同步软件、轻量级浏览器、微信空号检测工具、屏幕录制软件和Markdown编辑器。这些工具可以帮助你更好地管理时间、提高效率和简化工作流程。
120 1
分享5个你可能不知道但非常实用的软件