漫谈信息模型(1)

news2024/11/18 11:40:45

        简单地表达复杂的世界,这是各类思想家近千年来的追求。如何将人类在世界上观察到的结果进行概念化表达?又如何描述人造的复杂工具?这种探索成为人类文明进步的一个重要的驱动力。计算机的出现,推动了人类对现实事物进行概念化的描述。

      事物概念化的基本方法称为建模。在科学中,模型是对某种“真实”事物的简化表示。科学家说是在研究自然,但实际上他们做的大部分工作是在对自然进行建模,并对他们建立的模型进行研究。模型是一种思维方法,成语“去伪存真”就是建模的过程。

模型的特点

        建模是人类对人类思想进行整理的技术,也通过人类进行验证。同样一个事物而言,不同的目的,建立的模型是不一样的。

模型的主要特征

-表现性(Representation)

        模型表现了一个事物(A model represents some thing)。它能够反映该事物的基本特征,便于对事物进行识别,存储,统计和处理。

         数学是一种描述自然和社会学现象的模型语言,使用数学来描述物理事物,以便我们采用数学方法来推演物理现象。比如弹道轨迹来确定炮弹落地的位置。

-抽象性(Abstraction)

        模型抑制了无关紧要的细节,专注重要的方面。比如形形色色的人,我们构建的基本模型可能只包括了姓名,年龄,性别,民族

-实用性(Pragmatics)

        模型为了某一个目的而设计。建模的艺术就在于去除掉实在中与问题无关的部分。所以建立的模型与要解决的问题有关。如果随意地使用模型,存在一定的风险。建模者可能忽略了你解决问题时需要的某些重要的因素。

        例如,对于一个人而言,人的基本特征包括了年龄,姓名,性别。如果他是一名学生,可能需要的基本特征还有专业,年级,学习成绩,同学等特征。如果他参加选美,那么需要身高,体重,三围尺寸等特征。

建模

        人们对事物的模型最初是在头脑中形成的,也是人类的认知过程,我们常说通过实践对某件事情形成了概念,其实是对该事物建立了一个模型。

            在中文语境中,形成了概念与建立了一个模型十分相似。

        也许我们还不清楚3岁之前的儿童是如何建立起对周边事物的模型。比如通过了味觉,视觉,环境反射等等因素。

        人类对自然和社会现象的研究,本质上是通过观察和实验,揭示事物的规律,并且构建这些事物的模型。

         动物学家通过不断地观察,根据动物的习性,对地球上的动物进行了详细的分类。并且描述了它们各种的特征。这些研究可以认为是建立动物模型的过程。

        物理学家通过实验和观察揭示了力学,电磁,光学,天文等诸多领域事物以及事物之间的相互作用的模型。

模型的描述

        构建模型的另一个重要的作用是用于交流,当你告诉另外一个人发现了一条狗,别人马上就知道了此事,并且想象出哪个画面。这是因为你们双方都建立了狗的模型。

        描述模型最简单的方式是采用自然语言或者是一张图片,比如小时候妈妈常给孩子唱儿歌“一个青蛙四条腿,两个眼睛,一张嘴”。她为孩子的脑海里构建了一个青蛙的模型。

   除了口头交流之外,人类还能够通过文字来描述模型。 发明书写语言是人类最伟大的智慧。这样就使各种知识能够广泛地传播和传承。知识是有大量的概念构建而成的。

自然语言的特点的词汇丰富,能够书写出动人的文字。但是它的缺点是不够严谨。

还记得“按图索骥”的故事么?

        孙阳有个儿子,看了父亲写的《相马经》,以为相马很容易,就拿着这本书到处找好马.他按照书上所绘的图形去找,一无所获.又按书中所写的特征去找,最后发现有一只癞蛤蟆很像书中写的千里马的特征,便高兴地把癞蛤蟆带回家,对父亲说:“爸爸,我找到一匹千里马,只是蹄子稍差些.”父亲一看,哭笑不得,没想到儿子竟如此愚笨,便幽默地说:“可惜这马太喜欢跳了,不能用来拉车.”接着感叹道:“所谓按图索骥也.”

        这个故事其实告诉我们,模型的描述非常重要,如果模型的特征不完整,描述不清晰,可能会闹笑话。

        数学是人类发展起来的一种严谨描述模型的语言。在问及什么是数学这个问题时,大多数回答是关于数字的学问。在《数学语言》一文中指出,数学是一种模型描述语言。我觉得恍然大悟。许多的物理现象能够使用数学语言来描述和推演。

     在计算机科学中,人们基于数理逻辑的思想,创造了一系列没有二义性,上下文无关的形式化语言来描述模型。例如XML 语言。

语言的困惑

        人类语言的最大困惑是各地的人类使用不同的语言,例如中国人使用象形文字中文,法国人使用法语,德国人使用德语,阿拉伯人使用阿拉伯语,希伯来语等等。书写语言的两个要素,语法和符号。不同地区采取不同的语法和符号。

    据说,远古时期天下人的口音,语言都是一样的。后来发现人类使用同一种语言的力量太强大了,就将各地的人改成使用不同的语言。各地区语言的不同的确造成了人类的困惑。千百年来,人们耗费了大量的精力从事语言的学习,翻译。也有人希望发明一种世界统一的语言来代替各地方言,或者使用某一种语言成为世界的通用语言,始终没有成功。

        在信息模型的描述语言领域,同样是如此。人们建立了各种各样的模型描述语言,并且加以标准化。希望成为统一的标准。例如 UML,SysML,AutomqtionML,OPC UA ,工业4.0 AAS,IEC61360,ISO/PAS 19450 等等,名目繁多,层出不穷。这样语言的设计者和拥护者各持己见,谁也说服不了谁。都说掌握了标准就掌握了全局,在这里好像不好使。于是,各种网关,转换器苦逼地使用。

        对于大多数学习者,我们并不要学习各种语言,成为精通多国语言的专家。而是要了解语言背后的逻辑。从而提高掌握语言的能力。

基于信息技术的建模方法

利用信息技术构建模型的主要方法是基于面向对象的思想。

      与数学建模的方式不同,信息技术构建模型的方式更加接近人类的知识积累的方式。一切从观察到的,或者想到的事物出发,事物是确定存在的任何事情,比如山,动物,人,书等等。在目前信息技术领域,这些事物被称为“对象”,而在台湾被翻译成“物件”,笔者认为更贴切一点(嗨,该死的语言差异)。

对象:对象是在某段时间内有可能稳定而且无条件存在的事物。

       对象可分文物理对象和信息对象。例如一所房子,它是一个物理对象,也是一个有形对象。而电脑中的一文件是信息对象。

类- 对象模型

     对象的模型是通过其属性和特征来描述的。  属性用来区别不同的同类事物,而特征用来描述事物的特征。例如 人的姓名,身份证号码是其属性,而特征是事物的某些特征数据,比如性别,年龄,学历等等。

        对象的一个重要的特征是该对象与其它对象的关系(relationship)。无论是自然界和社会中的事物都不是独立地存在的,它们与其它事物具有千丝万缕的关系,比如父子关系,同学关系等等。因此,事物模型的特征中还具有与其它事物的关系特征。 

       复杂的对象可以分解成为多个简单的对象。无法分解的对象成为本体或者原子。在自然语言中,本体通常被称为基本概念,术语。人们在基本概念和术语达成共识。

人们通常将复杂的对象称为系统(System),在模型学的观点下,系统的定义如下:

系统:由一组实体和这些实体之间的关系所构成的集合。

系统架构:架构是对系统中的实体和实体之间的关系进行抽象描述。

更简单一点讲,架构是系统的描述。

对象-过程模型(OPM)

         面向对象设计思想传播最广泛的是面向对象的程序设计语言 ,例如C++。建模语言也吸取了面向程序设计语言的思想,在类定义中包含了方法(也称为函数Function)。这些方法描述了对象的行为。

   对象是”一等公民“,将方法和服务是二等公民。笔者认为,这种构建类的方法其实受到了面向过程程序设计的思想的影响,比如隐藏实现,暴露接口,定义和实现分离等软件工程的思想。如果以面向对象程序设计的范式区看待信息模型,例如OPCUA 信息模型。如何改变信息模型的状态,当信息模型的数据改变时,调用哪一个方法?总是感觉不清不楚。方法和信息模型之间隔着一堵墙。

   值得幸运的是,以色列理工学院的多夫多里(Dov Dori) 教授在上世纪90年代也看到了这个问题。正是他提出了对象过程法(Object-Process Methodology OPM)。这个方法的核心思想是对象和过程平起平座。他描述的系统包含了两类要素:对象和过程。其概念非常简单,只用了两个基本的概念:带状态的对象和改变对象状态的过程。

      国际标准化组织ISO 制定了OPM 的国际标准

ISO/PAS 19450:2015  Automation systems and integration — Object-Process Methodology

 Dov Dori 关于OPM 的书有中译本。感兴趣的读者可以读一下。

 

     OPM 的基本概念。

  1. 对象是存在或者可能存在的事物
  2. 过程是变换对象的事物
  3. 对象或过程是事物

 OPM 的描述方法

图形方式

语言方式

吸取OPM 思想

     大致看了一下 Dov Dori的书,感觉OPM 模型中最大的困惑是过程的调用。有许多种Link。搞得有点复杂,而且为了解释这些LINK ,出现了许多的概念和名词。总的感觉OPM 离现在其它的建模方法有点远。

     但是OPM 的建模思想还是可以参考的,主要包括:

  •      过程改变对象
  •     对象状态的改变触发过程的执行

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/29852.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

技术开发87

技术开发87 业务内容: . 冲床加工,高速冲床加工,省力化机械制作 . 铣床加工,食品机械制作 . 轮廓加工,钢丝加工 . 冲床模具制作 . 溶接 公司简介: 资本金:1000万日元(约66元人…

文件数据丢失怎么办?推荐几款好用的文件恢复大师

众所周知,计算机在使用过程中难免会出现文件数据丢失的情况,这是一种非常正常的现象。但是遇到这种情况,很多时候我们不知道该如何去补救。特别是由于一些原因导致电脑被重启,这样不仅会对电脑造成一定影响,更重要的是…

2022年8月15日陌陌推荐算法工程师面试题5道|含解

8本电子书免费送给大家,见文末。 1、DeBERTa与BERT的区别 DeBERTa提出了两种改进BERT预训练的方法:第一种方法是分散注意机制,该机制使用两个向量分别对每个单词的内容和位置进行编码来表示每个单词,并使用分散矩阵计算单词之间…

本地传奇架设详细教程

十二堂今天给大家分享一篇技术文章,传奇架设教程。 教程讲的很详细,就是一个菜鸟都能学会如何架设传奇。 在管理工具->服务中停止ssdpdiscoveryservic服务 一、准备软件DBCommander 2000 Pro和传奇服务端(什么版本都行&#x…

设计模式之代理模式(十一)

目录 1. 静态代理 2. 动态代理 3. Cglib代理 代理模式:为一个对象提供一个替身,以控制对这个对象的访问。好处就是可以用来增强。 被代理的对象可以是 远程对象,创建开销大的对象 或者 需要安全控制的对象。 可以分为三类 静态代理动态代…

Robot Framework 自动化测试详解

一、Robot Framework 简介 1、界面自动化测试工具 界面自动化测试,即UI自动化测试,比较常见的工具有:QTP、AutoIt、Selenium等。 像QTP经历了很多版本,最新的版本好像叫UFT了。对初学者来说,录制回放是相当容易上手的,除了录制,QTP主要用VBScript脚本编写代码,同时有…

C/C++语言 9 —— 函数

把相同业务功能维度的代码有机的整合起来做成函数,这样做既可以方便反复调用,又可以在空间上节省代码行数。 函数的定义: 返回值类型 函数名(参数类型1 参数变量名1, ....参数类型N 参数变量N){ //此处参数为形参// 函数体.... } 如果不需…

外汇天眼:德国PPI利淡欧美镑美跌逾百点,美元涨近百点,黄金跌约20美元,关注美制造业指数

昨日重要因素影响 : 1.英媒:英国在继续购买俄罗斯石油 但称从其他国家进口 2.德国10月PPI月率低于市场预期 3.欧洲央行首席经济学家连恩:我们将在12月再次加息,不认为12月将是最后一次加息 4.穆迪:在需求降温的环境下&#xf…

Java标准输入输出流【转换流打印流】

➤ Java 输入输出IO流 全部导航 文章目录乱码转换【转换流】InputStreamReaderOutputStreamWriter打印流:PrintStreamPrintWriter类型默认设备System.in 标准输入InputStream键盘System.out 标准输出PrintStream显示器 System类的 public final static InputStream…

C++ 语法基础课4 —— 数组

文章目录1. 一维数组1.1 数组的定义1.2 数组的初始化1.3 访问数组元素(通过下标访问数组)1.4 练习1:1.5 练习21.6 练习31.7 练习41.8 练习4(难点)2. 多维数组2.1 练习11. 一维数组 1.1 数组的定义 数组的定义方式和变量类似 #include<iostream> #include<algorithm…

linux网络编程 - epoll边沿触发/水平触发内核实现代码分析

1、listen socket水平触发的poll函数调用 以服务器端epoll为例&#xff0c;加入监听、等待并接受连接、再次等待&#xff0c;会有3次检查是否有连接就绪的操作&#xff0c;分别是epoll_ctl、epoll_wait、epoll_wait。 1.1、epoll_wait(第1次调用) 等待就绪链表相关内核看前面发…

dropout 机制存在,对于同一句子的两次输出是不同的

SimCSE 提供了无监督&#xff08;上图 a&#xff09;和有监督&#xff08;上图 b&#xff09;两种架构&#xff0c;由于业务需要我们只用了无监督方式&#xff0c;其基本思路是&#xff1a; 1. 同一个 batch 内的数据两次输入模型。 2. 由于有 dropout 机制存在&#xff0c;对…

摩托车商城系统(基于javaweb开发的项目)

目录 前言 一、项目目录 二、效果图 2.1 首页面效果图 2.2 商品分类页面 ​​​​​​​2.3 热销栏页面 2.4 新品栏页面 2.5 购物狂欢栏页面 2.6 我的订单页面 2.7 个人中心页面 2.8 注册页面 2.9 用户登录页面 2.10 Admin后台管理主页面 2.11 Admin订单管理页面 2.12 A…

[附源码]SSM计算机毕业设计基于社区生鲜配送系统JAVA

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

万字总结线程池

本文将从背景、原理、架构、实现、参数状态等方面详细介绍percona-线程池。此外&#xff0c;还将简单介绍腾讯云企业级MySQL(CDB)内核技术--TXSQL&#xff0c;关于线程池的动态启停、负载均衡以及快速断连等优化。 「第一部分 背景」 社区版的MySQL的连接处理方法默认是为每个…

“信任机制”才是数字化时代发展中的精髓所在

2008年&#xff0c;美国次贷危机全面爆发并不断蔓延&#xff0c;最终席卷全球&#xff0c;酿成了世界性的金融危机。当年11月1日&#xff0c;一位署名为中本聪的人发表一篇《比特币&#xff1a;一种点对点的电子现金系统》论文提出了一种完全通过点对点技术实现的电子现金系统。…

Flutter 实现背景 Parallax 动画

Flutter 实现背景 Parallax 动画 原文 https://arkapp.medium.com/background-parallax-animation-in-flutter-4aa9e23d6cfb 前言 我们将创建我们的 Flutter 项目惊人的 Parallax 动画。 在本文中&#xff0c;我们将实现一个简单的实用工具 widget &#xff0c;它将在任何 widg…

Transformer/Bert

诸神缄默不语-个人CSDN博文目录 文章目录1. Transformer1.1 Transformer整体工作流程1.2 Transformer的输入1.2.1 单词 Embedding1.2.2 位置 Embedding1.3 Block1.3.1 Add & Norm层1.3.2 Self-Attention1.3.3 Multi-Head Attention1.3.4 Feed Forward1.3.5 Masked Multi-He…

[附源码]计算机毕业设计JAVA篮球装备商城系统

[附源码]计算机毕业设计JAVA篮球装备商城系统 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybati…

HTTP/2是什么?和HTTP/1.1有什么不同?和SPDY有什么不同?

HTTP/2简介 HTTP/2 是超文本传输协议第2版&#xff0c;最初命名为 HTTP 2.0 &#xff0c;其简称为 h2&#xff08;基于TLS/1.2或以上版本的加密连接&#xff09;或 h2c&#xff08;非加密连接&#xff09;&#xff0c;是HTTP协议的的第二个主要版本&#xff0c;使用于万维网。 …