CN112154471A - 源代码及模块推荐系统及模块组件 - Google Patents
源代码及模块推荐系统及模块组件 Download PDFInfo
- Publication number
- CN112154471A CN112154471A CN201980031868.9A CN201980031868A CN112154471A CN 112154471 A CN112154471 A CN 112154471A CN 201980031868 A CN201980031868 A CN 201980031868A CN 112154471 A CN112154471 A CN 112154471A
- Authority
- CN
- China
- Prior art keywords
- module
- information
- recommendation
- topology
- source code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004891 communication Methods 0.000 claims description 27
- 230000006870 function Effects 0.000 claims description 21
- 238000000034 method Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 4
- 239000000758 substrate Substances 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000009434 installation Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- QVFWZNCVPCJQOP-UHFFFAOYSA-N chloralodol Chemical compound CC(O)(C)CC(C)OC(O)C(Cl)(Cl)Cl QVFWZNCVPCJQOP-UHFFFAOYSA-N 0.000 description 2
- 238000003066 decision tree Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0426—Programming the control sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0613—Third-party assisted
- G06Q30/0619—Neutral agent
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/23—Pc programming
- G05B2219/23389—Modular program, each process has corresponding program module
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/23—Pc programming
- G05B2219/23434—Select automatically prefered program data, ordered to most used program
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25307—Each module has file with all components in module and the available components
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Software Systems (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Resources & Organizations (AREA)
- General Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Tourism & Hospitality (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Automation & Control Theory (AREA)
- Toys (AREA)
- Selective Calling Equipment (AREA)
Abstract
本发明的源代码及模块推荐系统可以包括:模块组件,所述模块组件包括控制模块及多个其他模块,所述控制模块包括具备拓扑结构管理部的功能单元,所述拓扑结构管理部感知及生成拓扑结构信息,所述多个其他模块包括与所述控制模块不同的功能单元;使用者终端,所述使用者终端与所述模块组件连接;及推荐服务器,所述推荐服务器通过网络与所述使用者终端连接,存储所述模块组件的拓扑结构信息,基于所述拓扑结构信息,向使用者终端提供关于推荐源代码的信息;所述拓扑结构信息可以包括代表所述多个其他模块连接于所述控制模块的顺序的连接顺序,所述推荐服务器可以基于所述连接顺序,决定关于所述推荐源代码的信息并传输给所述使用者终端。
Description
技术领域
本发明涉及源代码及模块推荐系统及模块组件,更详细而言,涉及一种能够在多用途模块组件的制作工具中共享模块组件的组装信息,容易地接受推荐并检索使用者所需的组装信息及源代码信息的源代码及模块推荐系统及模块组件。
背景技术
最近提出了以教育、趣味、研究、生产等为目的的基于多样模块的制作工具。这些制作工具中包括的模块分别可以执行特定的功能,可以以相互连接而能够形成模块组件的方式提供。此时,各个模块也可以以彼此电气连接而能够收发能量、信号、数据等的方式提供。使用者可以根据提供的手册或自行加装的方式组装模块,制作执行特定目的的模块组件。
作为一个示例,专利文献1(韩国授权专利第1761596号)公开了一种组装网络模块、驱动模块、传感器模块等多样种类的模块而制作的模块组件。此时,模块组件可以用作学生或使用者能够在组装模块10、20、30、40的同时理解电子装置的工作原理的教育用套件,或者研究员为了制作用于执行特定目的的装置而使用的研究用套件,以及使用者出于趣味用途而能够组装的玩具套件等多样用途。
正如上面提到的,从作为软件或硬件专家的研究员到学生、普通人等多样的人群正在利用这种模块组件。不过,除专家之外的普通人或学生组装各模块后,使软件移植到组装的各模块组件使用会非常困难,因而会制约上述模块的普及。
因此,要求普及一种模块推荐系统,这种模块推荐系统能够让任何人都轻松认识到模块组件多样的利用可能性并进行组装,另外,自动生成及推荐要使用的软件,以便任何人都可以使用。
发明内容
为了解决上述问题,本发明的模块推荐系统可以提供一种共享模块组件的组装信息,使用者可以容易地接受推荐并检索所需组装信息的模块推荐系统。
因此,提供一种模块推荐系统及模块组件,当模块组件用作教育用、个人用玩具等时,不充分了解硬件或软件的非专家也可以轻松组装模块组件,另外,自动生成及推荐要使用的软件,任何人均可轻松使用模块组件。
为了解决上述问题,本发明的模块推荐系统可以提供一种共享模块组件的组装信息,使用者可以容易地接受推荐并检索所需组装信息的模块推荐系统。
因此,提供一种模块推荐系统及模块组件,当模块组件用作教育用、个人用玩具等时,不充分了解硬件或软件的非专家也可以轻松组装模块组件,另外,自动生成及推荐要使用的软件,任何人均可轻松使用模块组件。
本发明的模块推荐系统可以提供一种共享模块组件的组装信息,使用者可以容易地接受推荐并检索所需组装信息的模块推荐系统。
因此,提供一种模块推荐系统及模块组件,当模块组件用作教育用、个人用玩具等时,不充分了解硬件或软件的非专家也可以轻松组装模块组件,另外,自动生成及推荐要使用的软件,任何人均可轻松使用模块组件。
此时,使用者在组装模块组件时,可以参照其他使用者组装的模块组件及驱动模块组件的源代码来设计新模块。
附图说明
图1是图示本发明实施例的模块组件组装的样子的立体图。
图2是显示图1的第一模块的内部结构的俯视图。
图3是用于说明本发明实施例的源代码及模块推荐系统的框图。
图4是用于说明本发明实施例的模块组件的功能单元的框图。
图5是显示本发明多样实施例的模块组件组装的样子的立体图。
图6是用于说明本发明实施例的拓扑结构信息的表。
图7是用于说明本发明实施例的模块组件的拓扑结构的框图。
图8是用于说明本发明实施例的拓扑结构感知协议的图。
图9及图10是显示本发明实施例的开发者工具APP的用户界面的图。
图11是显示本发明实施例的模块组件组装的样子的立体图。
图12是用于说明本发明实施例的语义模块的图。
具体实施方式
下面内容只对发明的原理进行举例。因此,虽然未在本说明书中明确说明或图示,但从业人员可以体现发明的原理,发明出发明概念和范围内包含的多样装置。另外,本说明书中列举的所有带条件术语及实施例,原则上只明确用作帮助理解发明的概念的目的,不应理解为限定于如此特别列举的实施例及状态。
另外,在以下说明中,诸如第一、第二等的序数式表现用于说明彼此同等、独立的客体,应理解为在其顺序中没有主(main)/副(sub)或主(master)/从(slave)的意义。
通过与附图相关的如下详细说明,上述目的、特征及优点将更加明确,因此,发明所属技术领域的普通技术人员可以容易地实施发明的技术思想。下面参照附图进行说明。
图1是显示本发明实施例的模块组件组装的样子的立体图,图2是显示图1的第一模块的内部结构的俯视图。
如果参照图1及图2,本发明一个实施例的模块组件1由能相互组装的多个模块10、20、30、40构成。
在本实施例中,模块组件1可以定义为能彼此组装的一个以上模块10、20、30、40的集合或他们组装的结构体,不受其目的、种类、形态、模块的个数等所限制。例如,模块组件1可以是学生或使用者能够在组装模块的同时理解电子装置的工作原理的教育用套件的一部分。或者,模块组件1可以是研究员为了制作用于执行特定目的所需的装置而使用的研究用套件的一部分。另外,模块组件1可以是读者能够组合成趣味用途的玩具套件的一部分。
为了易于说明,在本实施例中,以模块组件1如图1所示由四个模块10、20、30、40构成的情形为例进行说明,分别称作第一模块10、第二模块20、第三模块30及第四模块40。
而且,在本实施例中,模块10、20、30、40可以定义为构成得能够与其他模块或外部装置收发用电压或电流变化代表的信号、数据或电能(以下也称为“电信号”)的客体。这些模块10、20、30、40可以具备中央处理器(CPU)、存储器、电源等,或具备接受其他模块的控制而能够运转的传感(sensing)装置、处理(processing)装置及驱动装置等,因而能够各自独立地驱动。另外,各个模块10、20、30、40也可以构成得能够独立地执行特定的功能,或借助于与其他模块的相互作用而执行特定的功能。模块10、20、30、40具备中央处理器时,也可以按各个模块安装有固件。
第一模块10至第四模块40例如可以是能够从摇控器等接收红外线信号的红外线传感器模块、能够与智能手机等进行无线通信的无线通信模块、陀螺仪传感器模块或马达41等的驱动模块。另外,第一模块10至第四模块40也可以借助于电缆42而与外部的驱动装置41连接。此时,模块组件1可以是接收遥控器或智能手机的信号而使马达选择性地运转的装置。如上所述的模块组件1的构成只不过是一个示例,各个模块10、20、30、40可以独立地提供,或以通过与其他模块的联动而能够执行任意功能的方式提供。
模块10、20、30、40可以是具有能与其他模块实现面接触的多个侧面的多边形柱状的立体。其中,面接触并非只意味着侧面的所有面积均接触,应理解为包括只有侧面的一部分接触,某一模块的侧面与另一模块的侧面彼此相向而实现一部分接触的含义。
在本实施例中,以模块10、20、30、40具有均相同大小的正方形平面的情形为例进行了图示。即,本实施例中的模块10、20、30、40具有4个侧面。另外,在本实施例中,以模块10、20、30、40的高度均相同形成、模块10、20、30、40均为具有相同大小的直六面体的情形为例进行说明。
作为另一实施例,模块10、20、30、40也可以以平面为等边三角形、矩形、等边五边形等的多边形柱形状形成,特别是可以以正多边形形状形成。一部分模块10、20、30、40也可以具有互不相同的立体形状。另外,模块10、20、30、40中的一部分也可以具有锥形、多面体等多样的立体形状。
其中,第一模块10可以包括:外壳11,所述外壳11形成外观;端子107,所述端子107露出于所述外壳11的侧面,能够向连接的其他模块传递或接收电信号等;销安装部150,所述销安装部150提供选择性凸出到外壳11外部的销;及销容纳部160,所述销容纳部160供其他模块的销插入。
外壳11例如可以为以直六面体形状形成的盒。外壳11如图1所示,可以以由上壳11a与下壳11b结合的形态提供。构成外壳11的方法可以根据需要,由上壳11a与下壳11b一体形成,或者也可以分成更多部分而组装。
端子107可以向连接的其他模块传递或从其他模块接收电信号等,作为一个示例,可以从在外壳11内部提供的基板102接受传递电信号等,传递给与端子107接触的其他模块的端子。端子107可以具有多个接触点或连接销,其可以根据电信号等的传递方法、标准化的规格等而具有多样形态。这种端子107可以与销180、销安装部150、销容纳部160构成一组,配置于外壳11的一侧面。具体而言,端子107可以配置于销180与销容纳部160之间,可以接触在其他模块的销与销容纳部之间配置的端子。
在本实施例中,虽然是以在外壳11的所有侧面提供端子107的情形为例,但根据实施例,也可以存在未形成有端子107的侧面。
如果参照图2,下壳11b可以包括形成外形及内部结构的框架100、在框架100的内侧提供的基板102及安装于基板102的功能单元104。
框架100作为构成外壳11的一部分或全部的结构物,形成外壳11的一部分或全部的外形,可以提供用于在内部安装各种部件的空间和结构。在本实施例中,框架100虽然是以形成外壳11的下壳11b的情形为例进行说明,但本发明的权利范围不限于此。另外,在本实施例中,框架100以四边形形状形成,具有4个角(corner)101。
在基板102上,可以贴装有用于体现第一模块10的功能的功能单元104,可以固定安装于框架100的内侧空间中央部。功能单元104例如可以包括微处理器105,此时,如果第一模块10借助于独立的固件而驱动,则可以提供用于控制第一模块10。作为又一示例,在第一模块10为红外线传感器模块的情况下,功能单元104可以包括红外线传感器及处理从红外线传感器感知的值所需的ADC(Analog Digital Converter:模拟数字转换器)以及与其他模块或外部硬件通信所需的接口,例如,I2C或UART或USB等通信接口等所需的设备。
就本发明的模块10至40而言,模块的种类根据上述功能单元104的功能来确定。例如,功能单元104包括微处理器及存储器,在包括可以控制其他单元的OS(操作系统)或固件的情况下,成为控制模块。或者,在功能单元104可以将传感器的传感值传递给其他模块或外部设备的情况下,成为传感器模块。或者,在功能单元104包括NB-IOT(窄带物联网)、LTE(长期演进技术)、LoRa(远距离无线电)、WiFi(无线保真)、蓝牙、USB、有线电视调制解调器等多样的有线无线通信装置并能够从其他模块接收电信号而通过上述有线无线通信装置向其他外部设备传输电信号的情况下,可以成为通信模块。或者,在功能单元104包括马达等多样促动器及促动器控制电路而能够驱动的情况下,可以成为驱动模块。对于其他本申请发明模块的更详细结构及结合,已在韩国授权专利公报第10-1761596中详细记载,作为参照,包含于本申请专利说明书中。
下面参照图3,对源代码及模块组件推荐系统进行叙述,所述源代码及模块组件推荐系统组装上述结构的模块组件1后,编写对组装的模块组件进行驱动所需的源代码时,可以参照其他使用者组装的模块组件1及对模块组件1进行驱动的源代码来设计新模块。图3是用于说明本发明一个实施例的源代码及模块组件推荐系统的框图。如果参照图3,本发明实施例的模块组件推荐系统可以包括模块组件1、推荐服务器2及使用者终端3。
此时,推荐服务器2与使用者终端3可以通过网络4连接。在本实施例中,对上述网络4以互联网体现的示例进行说明。但是,本发明并非限定于此,从业人员可以通过多样的网络,体现推荐服务器2与使用者终端3的连接。
推荐服务器2可以通过网络,从使用者终端3或模块组件1接收拓扑结构信息,可以将这种拓扑结构信息存储为大数据。此时,推荐服务器2可以基于拓扑结构信息,推荐可用的源代码及能追加或置换/追加的模块信息。此时,能追加或置换的模块信息意味着关于在模块组件1现在构成中,能够追加附着模块而比现在构成执行追加的动作或在现在构成中置换的模块的信息。在本发明的实施例中,能追加或置换的模块信息及相应组合的模块组件相关源代码可以由推荐服务器2推荐及下载。
此时,在推荐服务器2提供多个能追加或置换的模块组合信息及相关源代码的情况下,使用者终端3可以提供能够选择看好的模块信息及源代码的界面。与源代码及模块推荐相关的详细流程将在后面叙述。
另一方面,模块组件1既可以通过USB、RS-232、IEEE1394等有线通信方式与使用者终端3连接,或者也可以通过WiFi或蓝牙等无线通信方式与使用者终端3连接。或者,模块组件1也可以通过网络与使用者终端3连接。
正如前面关于功能单元104的说明中叙述的,模块10至40的功能根据功能单元104的构成来确定。此时,为了便利,假定模块10为控制模块进行说明。此时,控制模块10可以具有如图4所示的构成。
如果参照图4,控制模块10的功能单元104可以包括拓扑结构管理部1043、通信控制部1044、存储器1045及微处理器1050。
其中,拓扑结构管理部1043执行的功能是运行感知模块组件1的连接结构(拓扑结构)的协议来决定拓扑结构。更具体而言,拓扑结构管理部1043可以包括拓扑结构感知部1043-1及拓扑结构信息生成部1043-2。
拓扑结构感知部1043-1是包括拓扑结构感知协议并能够感知所连接模块的拓扑结构的硬件及/或软件构成要素。例如,如果参照图5,本实施例的拓扑结构感知部1043-1可以感知以控制模块10为中心而接入模块组件1的连接顺序,根据与控制模块10的距离,确定相应模块的层级(1st tier至4th tier)。拓扑结构感知部1043-1的详细感知协议将在后面叙述。
此时,拓扑结构感知部1043-1按接入的顺序掌握连接顺序。例如,在图5(a)中,在模块20、30、40依次接入控制模块10的情况下,模块20被依次赋予连接顺序1,模块30被依次赋予连接顺序2,模块40被依次赋予连接顺序3。此时,在模块30、40接入控制模块10之前先行结合的情况下,也可以将模块30、40指定为模块组后,赋予相同的连接顺序。此时,模块20可以赋予连接顺序1,模块30、40可以赋予连接顺序2。
另一方面,在图5(b)所示情况下,模块20、30已分别与控制模块10结合,在这种情况下,根据实际结合的顺序赋予连接顺序。例如,在模块20先结合于控制模块10的情况下,模块20的连接顺序成为1,模块30的连接顺序成为2。
另一方面,模块之间的距离通过计数从控制模块10至相应模块的最短路径上连接的模块来决定。例如,在图5(a)所示的连接中,从控制模块10起,依次连接有其他模块30、20、40,因而模块20的距离可以为1,模块30的距离为2,模块40的距离为3。此时,模块之间的距离根据计数最短距离上的模块而决定,因而在如图5(b)所示的连接中,模块20、30与控制模块10的距离可以为1。另一方面,图5(c)及图5(d)虽然是基本上与图5(b)相同的连接,但是是显示模块20、30以无线或有线方式连接的情形的图。此时,以无线方式连接的情形,可以意味着例如进行蓝牙配对或在网络上进行逻辑端口连接的情形。此时,模块20,30与控制模块10的距离同图5(b)一样,可以为1。
拓扑结构信息生成部1043-2可以根据感知的拓扑结构,如图6所示,决定模块的连接拓扑结构并记入存储器。图6是感知如图7所示的拓扑结构而生成的拓扑结构。拓扑结构信息生成部1043-2基于包括各模块的ID、连接顺序、下级连接模块信息、模块类别信息及层级信息在内的模块拓扑结构信息1048,决定拓扑结构。其中,后面将对模块拓扑结构信息1048的详细内容进行叙述。
不过,当又一控制模块作为控制模块10的下级连接模块接入时(图6的控制模块#2或控制模块#3),先与另一模块连接的控制模块作为主控制模块,成为1层级的控制模块。即,当控制模块#1已先与作为另一模块的模块#1或模块#2接续时,在控制模块#2单独与控制模块#1接续的情况下,控制模块#1可以成为主控制单元。或者,在控制模块中存储了另外的优先顺序,优先顺序高的控制模块可以设置为主控制模块,优先顺序低的控制模块可以设置为副控制模块。或者,也可以在使用者终端3上运行的开发者工具APP 900中指定主控制模块或副控制模块。
另一方面,通信控制部1044可以控制与外部设备的通信及模块之间的通信。与外部设备的通信可以包括NB-IOT(窄带物联网)、LTE(长期演进技术)、LoRa(远距离无线电)、WiFi(无线保真)、蓝牙、USB、有线电视调制解调器等多样的有线无线通信。另一方面,模块之间的通信可以利用UART(通用异步收发器)、I2C(双向二线制同步串行总线)、LIN(本地互连网络)、CAN(控制器局域网)等多样的内部通信装置来执行模块间通信。在通信控制部1044内,也可以包括上述多样的有线无线通信装置或模块之间的通信装置,当与另外的网络模块连接时,也可以以控制另外的网络模块的方式进行通信。
存储器1045可以包括模块组件1运转所需的各种信息、与软件及连接的模块的拓扑结构相关的各种信息,例如,存储器1045可以包括模块信息1046、驱动信息1047、拓扑结构信息1048及固件1049。
模块信息1046可以包括模块ID、模块类别、功能信息及元信息。模块ID1046也可以是诸如UUID(Universally Unique identifier:通用唯一识别码)的模块固有的识别符。或者,也可以是在控制模块10结合时赋予的临时ID。
此时,模块类别是为了辅助查找可置换的模块而将多个模块以功能为中心,将具有类似功能的模块分类为上级概念的概念。例如,传感器、键、麦克风等电信号的模块的模块类别可以为“输入”,促动器、显示装置、LED灯可以为“输出”,或者包括微处理器并能够运行使用者移植的程序的模块、网络模块、电池模块或加权值显示模块可以为“安装”等。
另外,追加地为了更详细分类,上述模块类别也可以具有层级结构并具有下级模块类别。例如,也可以具有如下表所示的模块类别体系。
【表1】
另一方面,功能信息显示模块的详细功能,例如,是控制模块、红外线传感器模块、开关模块、电源模块及网络模块等。此时,模块的功能会根据各模块内的功能单元104构成而异。元信息作为模块及源代码检索所需的其他信息,例如,可以为“电风扇”等具体的设备名,也可以为诸如“风”或“凉爽”等与电风扇相关的关联检索词。模块驱动信息1047是用于驱动各模块的驱动程序(Driver)。这种驱动信息由相应模块存储,在模块连接时提供给控制模块10,或在控制模块10通过互联网将拓扑结构信息提供给服务器或使用者终端包括的开发者工具APP 900的情况下,可以从互联网上的推荐服务器或相应开发者工具APP下载。基于这种模块驱动信息,控制模块10可以驱动模块组件1。
另一方面,模块拓扑结构信息1048作为控制模块10收集的拓扑结构信息,参照图6及图7进行详细说明。图7示例性显示了具有图6的拓扑结构的模块组件1的拓扑结构信息。
根据图6,模块拓扑结构信息1048基本可以包括模块组件1内模块的固有信息(模块ID)1048-1、层级信息1048-2、下级连接模块信息1048-3、连接顺序1048-4及模块类别1048-6。追加地,模块拓扑结构信息1048可以还包括连接方向1048-5。
模块固有信息1048-1代表模块组件包括的、所连接的模块的模块ID1046。此时,模块固有信息1048-1可以是诸如UUID(Universally Unique identifier:通用唯一识别码)的模块固有识别符,也可以是在控制模块10连接时赋予的临时ID。
层级信息1048-2意味着与前面说明的控制模块10的距离,计数从控制模块10至相应模块最短路径上连接的模块而决定。不过,当是附着于上述模块中的语义模块的模块时,层级信息1048-2可以将语义模块假定为控制模块10,决定为距语义模块的距离,或(语义模块中指定的步骤)+(与语义模块的距离)-1。或者,在附着于语义模块的情况下,可以赋予较大加权值,强调附着于语义模块的模块的重要性。
语义模块(Semantic module)是在例如对模块大小或其他模块造成影响等难以与控制模块10直接连接的情况下,用于以硬件方式在开发者程序中标明其是在源代码推荐或模块推荐方面重要的模块的模块。
例如,当使用者有要组装模块来形成发挥迷你汽车功能的模块组件的意图时,马达模块或车轮模块具有重要意义,但有时由于车轮尺寸等,会存在与控制模块10的距离变远而难以提供意义的情况。此时,如果将马达模块或车轮模块与语义模块连接,则在拓扑结构上反映使用者的意图,源代码或追加、置换模块的推荐可以更接近使用者的意图。
图12是用于说明在本发明实施例的模块组件中附着有语义模块60的情形的图。此时,语义模块50通常通过模块20、30附着于控制模块10,模块40、50通过语义模块60而与控制模块10附着。此时,附着于语义模块60的模块40、50可以赋予较高加权值,或赋予高层级信息(与控制模块10的距离更近)。此时,语义模块60可以包括重要方向标识65。在语义模块60包括重要方向标识65的情况下,只有附着于标识方向的模块50可以赋予高加权值或高层级信息。
下级连接模块信息1048-3代表步骤比相应模块低(与控制模块10的距离更远)的模块的模块固有信息。各模块基本上存储与相应模块连接的模块的信息,当连接于控制模块10时,可以将连接到下级的模块的信息提供给控制模块10。
连接顺序1048-4代表接入控制模块10的顺序,是推荐服务器2推荐源代码及模块时成为基础的信息。对于连接顺序1048-4的决定方法,前面已在图5的说明部分中叙述,因而省略共同部分的说明。在结合了作为控制模块10已结合的多个模块的模块组的情况下,可以对模块组赋予相同的共同连接顺序1048-7。
连接方向1048-5作为附加的信息,是代表下级连接模块及上级连接模块与哪个端口进行物理连接的信息。例如,在有通信模块和陀螺仪传感器模块的情况下,通信模块的电磁波也会对陀螺仪传感器模块的传感造成影响,因而可以基于上述连接方向1048-4,彼此配置于尽可能不造成影响的位置。在这种情况下,可以利用连接方向信息及层级信息。
最后,模块类别1048-6是根据模块功能而将模块分类的信息。例如,收集麦克风、温度传感器、陀螺仪传感器、红外线传感器、超声波传感器等各种传感器以及旋钮、按钮、键盘等输入的电信号的模块,可以分类为“输入”。另外,马达等促动器、发光二极管(LED)、液晶显示装置、扬声器等,可以分类为“输出”。另外,各种网络模块(LTE、蓝牙等)可以分类为“通信”。另外,包括微处理器在内,能够运行使用者终端3编程的应用程序的模块,可以分类为“控制”。基于这种类别信息,服务器可以在推荐模块时判断是否为能置换的模块、是否为能追加的模块。
这种拓扑结构信息可以如下使用。下面参照图9及图10,基于拓扑结构信息,就服务器推荐源代码及模块的界面及算法进行详细说明。
连接于使用者终端3的模块组件1的拓扑结构信息提供给使用者终端3后,开发者工具APP 900可以提供现在构成910至940、推荐源代码950、960及能追加或置换的推荐模块970、980。此时,优选地,开发者工具APP 900可以一同提供推荐模块970、980和推荐安装位置990。
这种推荐源代码950、960、推荐模块970、980及推荐安装位置990从推荐服务器2提供。推荐服务器2存储原有使用者曾使用的模块组件拓扑结构历史及与之对应的源代码,基于现在使用者的模块组件1的拓扑结构信息,提供就源代码、追加构成及安装位置的推荐。
此时,推荐服务器2可以根据拓扑结构信息中的连接顺序915、层级信息、模块类别、使用者输入的关键词965及元信息等,决定推荐源代码及模块、推荐顺序并推荐。
首先,如果考查关于连接顺序的实施例可知,例如在图9中,模块组件1按促动器模块920、网络模块940及红外线模块930的顺序组装于控制模块910,但在图10中,模块组件1按红外线模块930、网络模块940及促动器模块920的顺序组装于控制模块910(参照连接顺序915)。此时,在图9及图10中,虽然是相同模块的组合构成,但由于模块的连接顺序不同,因而源代码的推荐顺序不同,在图9中,源代码950被推荐为1号,但在图10中,源代码960被推荐为1号。
另外,在图9及图10中,虽然是相同模块的组合构成,但模块的连接顺序不同,因而推荐的追加模块推荐的顺序也记载得不同。即,在图9中可知,追加模块组合970被推荐为1号,在图10中,追加模块组合980被推荐为1号。
如此根据连接顺序变更推荐源代码的理由,是因为使用者的意图根据连接顺序而变更。例如,如图9所示,在将促动器模块先附着于控制模块后再附着传感器的情况下,使用者存在要形成诸如借助于传感器而在特定条件下停止的移动设备的装置的倾向。
或者例如,如图10所示,在将传感器先附着于控制模块后再附着促动器模块的情况下,存在要形成能够在移动的同时掌握多个位置的传感对象的传感器装置的倾向。
因此,存在使用者要形成的装置根据模块附着顺序而不同的倾向,因此,本发明的发明人以能够根据模块附着顺序(连接于控制模块的连接顺序)推荐不同源代码的方式构成了推荐服务器2的算法,以便使用者可以轻松选择源代码。
另一方面,模块附着顺序与源代码的关系可以通过学习而精巧匹配。例如,模块附着顺序与源代码的关系例如可以进行基于决策树学习法(Decision Tree Learning)的机器学习。或者,也可以通过人工神经网络模型或SVC等学习方法进行机器学习。
或者,推荐服务器2可以利用层级信息及模块类别进行推荐。例如,在2层级中附着了促动器驱动模块的情况下,作为3层级的模块,可以推荐与促动器驱动模块对应的促动器,或作为将向2层级的其他部分推荐的模块,可以推荐相应促动器驱动时常用的传感器模块(利用层级信息)。或者,在附着了键盘模块的情况下,也可以推荐将置换键盘模块的其他输入模块(例如麦克风模块等)。
或者,推荐服务器2也可以基于关键词965进行推荐。例如,在输入遥控器作为关键词的情况下,可以推荐红外线模块或包括简单的多个键的键模块等。
或者,推荐服务器2也可以利用元信息进行推荐。例如,在模块中存储了“电风扇”作为元信息的情况下,将“电风扇”存储为相同元信息的其他模块可以推荐为能追加或置换的模块。元信息既可以为“电风扇”等具体的设备名,也可以为诸如“风”或“凉爽”等的与电风扇相关的关联检索词。元信息作为模块信息,可以在推荐服务器2中按各模块存储,另一方面,也可以由使用者接入推荐服务器2,编辑相应模块元信息。或者,元信息也可以借助于机器学习而输入。
或者,推荐服务器2可以追加考虑使用者输入的关键词965,决定推荐源代码及模块、推荐顺序并推荐。例如,在使用者输入“遥控器”的情况下,推荐服务器2可以在基于拓扑结构信息而选择的源代码及可推荐/置换的推荐模块中,选拔与遥控器相关者并显示给使用者。
另一方面,推荐服务器2在没有与模块组件1的现在构成910至940相同的模块组件组合历史(相同的拓扑结构)的情况下,也可以基于拓扑结构信息,检索一部分相同的构成(类似的构成),推荐推荐源代码及能追加或置换的推荐模块。
此时,推荐服务器2可以基于拓扑结构信息中的由模块组件1内模块的层级信息(从控制模块至相应模块的距离)决定的加权值及利用加权值进行运算的运算值,决定模块推荐顺序。另外,加权值也可以基于模块共享信息来决定。另外,加权值在附着于语义模块时,也可以赋予与直接附着于控制模块10的情形相同的加权值。例如,如果参照图12,直接附着于控制模块10的模块20赋予高加权值,之后附着的模块30赋予比模块20低的加权值,但不直接附着于控制模块10而是附着于语义模块60的模块40、50,可以与直接附着于控制模块10的模块20相同地赋予高加权值。
例如,推荐服务器2可以按模块类别指定优先顺序,求出由层级信息决定的加权值与加权值之和,根据加权值和决定模块的种类。例如,如果作为1层级的控制模块10的优先顺序为1,加权值为1000,作为3层级的网络模块的优先顺序为2,加权值为100,作为2层级的输入模块(传感器)的优先顺序为3,加权值为100,最后,作为3层级的输出模块(促动器)的优先顺序为4,加权值为10,那么,加权值和为1*1000+2*100+3*100+4*10=1540,可以将该值与服务器中预先存储的值进行比较,按上述加权值和的顺序,显示具有最类似数字的前10个模块组件信息,显示能追加或置换的推荐模块及推荐源代码950、960。
如上而知,在适宜地使用加权值的情况下,可以轻松找到类似的构成,例如,加权值可以确定为(常数(上述实施例中为10))^(模块组件内全体模块数-层级值+1)。
此时,可以通过运算的加权值运算值,决定模块推荐顺序。如果参照图9,运算值更高的推荐模块960相比运算值低的推荐模块970,可以被推荐为更上级。使用者可以在开发者工具APP 900中,选择多个能置换/追加的模块组合信息中某一种。此时,与所选择的模块组合信息对应的源代码950、960可以显示于使用者终端3。
另外,推荐服务器2可以将使用者输入的关键词信息980追加用于推荐。例如,在推荐数较多的情况下,推荐服务器2可以利用使用者输入的关键词信息980,限制推荐的模块数。
另一方面,在上述实施例中,虽然是基于模块的拓扑结构信息来执行运算,但常用的模块也可以登记为模块组,象一个模块一样对其进行处置。例如,可以接收遥控器信号的红外线传感器模块、控制模块及开关模块可以经常作为一个遥控器控制模块使用。这种模块组合可以作为一个模块组进行处置。
另外,正如前面所作的说明,当推荐的已登记模块组结合于主控制模块10时,可以赋予共同连接顺序,或者也可以赋予共同层级信息。或者,模块组也可以由主控制模块10作为一个模块来处置。此时,模块组包括的各个模块在分别获得结合的模块的信息后,最靠近控制模块10结合的模块可以将模块组的信息传输给控制模块10。例如,图11的情况是涉及在控制模块10与模块20结合在一起的模块组件中结合了模块组30、40的情形。此时,属于模块组的模块30、40在结合时,相互间收发模块信息。此时,收发的模块信息可以包括图6记载的拓扑结构信息的项目信息。另外,此时,各个模块10至40也可以包括元信息。元信息例如可以包括可追加或置换的模块信息,或关于能够构成模块组的其他模块的信息。
而且,当模块组30,40与包括控制模块10的模块组件结合时,最靠近控制模块10结合的模块30向控制模块10传输模块信息。此时,控制模块10可以象单一模块一样处理模块组30、40。即,也可以将模块组30、40登记为一个模块。
如果再次参照图4,固件1049作为用于使模块组件1运转的软件,在控制模块10将拓扑结构信息通过互联网提供给服务器或使用者终端包括的开发者工具APP的情况下,可以从互联网上的推荐服务器2或相应开发者工具APP接受推荐源代码,下载对使用者选择的源代码进行编译的执行文件(固件)。
微处理器1050作为运行模块组件1上的固件或通信控制部1044、拓扑结构感知部1043的协议所需的运算装置,可以由从业人员适宜地选择模块组件1所需的微处理器1050而加以体现。
下面参照图8,详细说明模块组件1中控制模块感知拓扑结构的协议。
在本实施例中,为了简化说明,以具备3层级的连接的模块组件1为基准进行说明。不过,从业人员可以基于本实施例而施加多样的变形。
首先,新模块,例如,2层级(2nd Tier)模块接入控制模块10(1st Tier)后,立即将中断(interrupt)信号接入控制模块10的微处理器1050。或者,例如,控制模块10为了定期识别拓扑结构而定期向各模块发送询问(query),各模块传输下级连接模块信息,从而也可以知道是否接入了新模块。不过,在本实施例中,各模块基本上为能够携带的移动装置,因而以为了省电而在已连接时发送中断信号的情形为例进行说明。
或者,也可以以磁铁制作选择性地凸出到外壳11外部的销180及销容纳部160(参照图2),构成得当凸出的销180附着于另一模块的销容纳部160时,感知凸出的销180与销容纳部160的结合,使控制模块10识别出附着了新模块。
或者,例如,在模块与模块之间使用CAN(Controller Area Network:控制器局域网)协议进行通信的情况下,首先,当模块与模块结合时,各模块也可以通过消息传输模块ID,宣布相应模块已附着。各模块通过CAN总线而彼此连接,在未占有CAN总线的情况下,某模块(节点)也可以传输消息,在两个模块同时尝试传输的情况下,根据既定的优先顺序,优先顺序高的消息先传输。此时,优先顺序可以根据模块类别决定。在通过CAN通信而互相连接模块的情况下,由于共享总线,因而与诸如UART的点对点(point to point)方式相比,配线不增加,因而有利。
另一方面,控制模块10在发生中断的情况下,为了确认这种中断是否为正常的中断信号,可以发送连接确认信号(Connection Check),作为对此的应答而接收确认信号(Ack)。
如果控制模块10正常接收确认信号(Ack),接下来则询问模块ID1046。如果通过对此的应答而接收了新连接模块的模块ID1046,则将相应模块登记于拓扑结构信息,针对相应模块赋予连接顺序(Connection Ranking)。然后,计数模块距离,赋予相应模块的加权值(Module Weight)后,向相应模块请求关于下级连接模块的信息(Connection Info)。
另一方面,控制模块10接收关于下级连接模块的信息后,为了确认相应下级连接模块(3rd tier)是否已正常连接,向下级连接模块询问模块ID。控制模块10对作为询问的应答而接收的模块ID与从2层级模块(2nd Tier)接收的下级连接模块信息进行比较,确认实际连接状态。此时,当与实际连接状态不同时,发生错误,控制模块10再次向2层级模块(2ndTier)请求下级连接模块信息。
控制模块10在从2层级模块(2nd Tier)接收的下级连接模块信息与实际连接状态一致时,再次将相应模块登记于拓扑结构信息,针对相应模块赋予连接顺序(ConnectionRanking)。然后,计数模块距离后,再次向3层级模块(3rd Tier)请求下级连接模块信息。而且,控制模块10反复上述协议,直至没有下级连接模块信息时为止,完成拓扑结构信息。
拓扑结构信息完成后,存储于控制模块10,如果控制模块10与使用者终端3连接,则使用者通过使用者终端3内安装的或通过推荐服务器2的网页界面提供的开发者工具APP900,接受提供能够移植到截至目前构成的模块组件1的推荐源代码910。
本发明的模块推荐系统可以提供一种模块推荐系统,所述模块推荐系统可以共享模块组件的组装信息,容易地获得推荐并检索使用者需要的组装信息。
另外,根据本发明,提供一种模块推荐系统及模块组件,当模块组件用作教育用、个人用玩具等时,不充分了解硬件或软件的非专家也可以轻松组装模块组件,另外,自动生成及推荐要使用的软件,任何人均可轻松使用模块组件。
此时,可以提供一种系统,所述系统在构成模块组件方面,可以利用关于原有使用者已组装的构成的信息,迅速制作需要的模块组件,可以迅速检索相关源代码。
另外,使用者在组装模块组件时,可以参照其他使用者组装的模块组件及驱动模块组件的源代码,设计新的模块。
以上说明只不过示例性说明本发明的技术思想,本发明所属技术领域的普通技术人员可以在不超出本发明本质特性的范围内,进行多样修订、变更及置换。
因此,本发明公开的实施例及附图不是用于限定而是用于说明本发明的技术思想,并非本发明的技术思想范围由这种实施例及附图所限定。本发明的保护范围应根据以下权利要求书进行解释,处于与之同等范围内的所有技术思想应解释为包含于本发明的权利范围。
Claims (14)
1.一种源代码及模块推荐系统,包括:
模块组件,所述模块组件包括控制模块及多个其他模块,所述控制模块包括具备拓扑结构管理部的功能单元,所述拓扑结构管理部感知及生成拓扑结构信息,所述多个其他模块包括与所述控制模块不同的功能单元;
使用者终端,所述使用者终端与所述模块组件连接;及
推荐服务器,所述推荐服务器通过网络与所述使用者终端连接,存储所述模块组件的拓扑结构信息,基于所述拓扑结构信息,向使用者终端提供关于推荐源代码的信息;
所述拓扑结构信息包括代表所述多个其他模块连接于所述控制模块的顺序的连接顺序,所述推荐服务器基于所述连接顺序,决定关于所述推荐源代码的信息并传输给所述使用者终端。
2.根据权利要求1所述的模块推荐系统,其中,
所述拓扑结构信息还包括模块共享信息及下级连接模块信息。
3.根据权利要求2所述的源代码及模块推荐系统,其中,
所述拓扑结构信息还包括层级信息,所述层级信息计数从所述模块组件的控制模块至相应模块的最短路径上的模块而决定,所述推荐服务器能够基于所述层级信息及所述模块共享信息,向所述模块组件推荐能追加或置换的推荐模块。
4.根据权利要求2所述的源代码及模块推荐系统,其中,
所述拓扑结构管理部的拓扑结构感知部基于从所述控制模块的下级连接模块接受提供的模块ID及下级连接模块信息,感知所述模块组件的连接状态。
5.根据权利要求1所述的源代码及模块推荐系统,其中,
所述推荐服务器基于追加地从所述使用者终端接受输入的关键词信息,推荐能追加或置换的推荐模块。
6.根据权利要求1所述的源代码及模块推荐系统,其中,
在所述推荐服务器中存储有与所述模块组件的拓扑结构信息相同的拓扑结构信息的情况下,所述推荐服务器将与所述相同的构成对应的源代码显示于所述使用者终端,
在所述推荐服务器中未存储与所述模块组件的拓扑结构信息相同的拓扑结构信息的情况下,所述推荐服务器推荐与包含所述模块组件的拓扑结构信息中一部分的拓扑结构信息对应的源代码及能追加或置换的模块。
7.根据权利要求4所述的源代码及模块推荐系统,其中,
所述推荐服务器基于元信息,推荐源代码及能追加或置换的推荐模块。
8.根据权利要求1所述的源代码及模块推荐系统,其中,
所述拓扑结构信息还包括代表包含多个模块功能的模块类别的类别信息,所述推荐服务器基于所述类别信息来推荐源代码及能追加或置换的推荐模块。
9.一种模块组件,所述模块组件能够与通过网络而与推荐服务器连接的使用者终端进行连接,包括:
感知、生成拓扑结构信息的拓扑结构管理部;通信控制部;包括模块信息及拓扑结构信息的存储器;包括微处理器并具备能运行使用者终端中所移植程序的功能单元的控制模块;及分别具备与所述控制模块不同的功能单元的多个其他模块;
所述拓扑结构信息包括代表所述多个其他模块连接于所述控制模块的顺序的连接顺序,所述推荐服务器基于所述连接顺序,决定关于所述推荐源代码的信息并传输给所述使用者终端。
10.根据权利要求9所述的模块组件,其中,
所述拓扑结构信息还包括模块共享信息及下级连接模块信息,所述层级信息计数从所述模块组件的控制模块至相应模块的最短路径上的模块而决定。
11.根据权利要求10所述的模块组件,其中,
所述拓扑结构信息还包括层级信息,所述层级信息计数从所述模块组件的控制模块至相应模块的最短路径上的模块而决定,所述推荐服务器能够基于所述层级信息及所述模块共享信息,向所述模块组件推荐能追加或置换的推荐模块。
12.根据权利要求10所述的模块组件,其中,
所述拓扑结构管理部的拓扑结构感知部基于从所述控制模块的下级连接模块接受提供的模块ID及下级连接模块信息,感知所述模块组件的连接状态。
13.根据权利要求9所述的模块组件,其中,
所述模块信息包括元信息,所述推荐服务器基于所述元信息,推荐源代码及能追加或置换的推荐模块。
14.根据权利要求9所述的模块组件,其中,
所述拓扑结构信息还包括代表包括多个模块功能的模块类别的类别信息,所述推荐服务器基于所述类别信息,推荐源代码及能追加或置换的推荐模块。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2018-0114166 | 2018-09-21 | ||
KR1020180114166A KR102304692B1 (ko) | 2018-09-21 | 2018-09-21 | 소스 코드 및 모듈 추천 시스템 및 모듈 어셈블리 |
PCT/KR2019/011983 WO2020060146A1 (ko) | 2018-09-21 | 2019-09-17 | 소스 코드 및 모듈 추천 시스템 및 모듈 어셈블리 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112154471A true CN112154471A (zh) | 2020-12-29 |
Family
ID=69887555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980031868.9A Pending CN112154471A (zh) | 2018-09-21 | 2019-09-17 | 源代码及模块推荐系统及模块组件 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11836639B2 (zh) |
EP (1) | EP3726450B1 (zh) |
KR (1) | KR102304692B1 (zh) |
CN (1) | CN112154471A (zh) |
WO (1) | WO2020060146A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020095532A (ja) * | 2018-12-13 | 2020-06-18 | Vivita株式会社 | 情報処理システム |
US11604628B2 (en) * | 2020-12-16 | 2023-03-14 | Google Llc | Generation and/or recommendation of tools for automating aspects of computer programming |
KR102700198B1 (ko) | 2023-12-19 | 2024-08-28 | 더에이아이랩(주) | 유사 코드 및 유사 시나리오 추천 방법 및 이를 수행하는 추천 시스템 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101288033A (zh) * | 2005-08-19 | 2008-10-15 | 洛克威尔自动控制技术股份有限公司 | 带有服务器的驱动器 |
CN102812486A (zh) * | 2010-03-25 | 2012-12-05 | 诺基亚公司 | 根据群体行为提供个性化信息资源推荐的方法和设备 |
US20150378692A1 (en) * | 2014-06-30 | 2015-12-31 | Microsoft Corporation | Code recommendation |
US20160283548A1 (en) * | 2015-03-27 | 2016-09-29 | International Business Machines Corporation | Recommending connections in a social network system |
KR20170010720A (ko) * | 2015-07-20 | 2017-02-01 | 이준희 | 토폴로지 인식 기능을 갖는 블록 완구 및 이를 이용한 컨텐츠 제공 시스템 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5108956B2 (ja) * | 2008-11-19 | 2012-12-26 | 日本電信電話株式会社 | 経路計算順決定方法、プログラムおよび計算装置 |
US8593996B2 (en) * | 2010-02-23 | 2013-11-26 | Lg Electronics Inc. | Method and an apparatus for session routing in home network system |
WO2015056091A2 (en) * | 2013-10-16 | 2015-04-23 | Lahti Ken | Assessment system |
JP6324716B2 (ja) * | 2013-12-26 | 2018-05-16 | 株式会社ソニー・インタラクティブエンタテインメント | ブロック、ブロックシステム、表示方法、および情報処理方法 |
US10188939B2 (en) * | 2014-03-11 | 2019-01-29 | Microsoft Technology Licensing, Llc | Modular construction for interacting with software |
KR102190813B1 (ko) * | 2014-03-25 | 2020-12-14 | 한국전자통신연구원 | 코드 추천 및 공유 시스템 및 방법 |
US10452242B2 (en) * | 2015-06-07 | 2019-10-22 | Cisco Technology, Inc. | System and method of providing a computer networking tool and interfaces |
KR101713085B1 (ko) * | 2015-12-15 | 2017-03-07 | 위드큐브(주) | 스마트 블록을 이용한 컨텐츠 제공시스템 |
KR101761596B1 (ko) | 2016-03-07 | 2017-07-26 | 주식회사 럭스로보 | 모듈 어셈블리 |
KR102409158B1 (ko) * | 2016-05-10 | 2022-06-14 | 엘에스일렉트릭(주) | 슬레이브 디바이스 제어 방법 |
US10771345B1 (en) * | 2016-12-28 | 2020-09-08 | Amazon Technologies, Inc. | Network monitoring service |
KR20180080919A (ko) * | 2017-01-05 | 2018-07-13 | 조태연 | 코딩 교육 장치 및 코딩 교육 방법 |
US11107367B2 (en) * | 2017-03-27 | 2021-08-31 | Apple Inc. | Adaptive assembly guidance system |
US11362882B2 (en) * | 2017-08-25 | 2022-06-14 | Veniam, Inc. | Methods and systems for optimal and adaptive urban scanning using self-organized fleets of autonomous vehicles |
US10728172B2 (en) * | 2018-03-28 | 2020-07-28 | Quanta Computer Inc. | Method and system for allocating system resources |
KR102164853B1 (ko) * | 2018-12-06 | 2020-10-13 | 이동섭 | 키트 제어용 단말기 상에서 키트 제어를 위한 명령어를 생성하여 키트를 제어하는 방법 |
-
2018
- 2018-09-21 KR KR1020180114166A patent/KR102304692B1/ko active IP Right Grant
-
2019
- 2019-09-17 CN CN201980031868.9A patent/CN112154471A/zh active Pending
- 2019-09-17 EP EP19862450.4A patent/EP3726450B1/en active Active
- 2019-09-17 WO PCT/KR2019/011983 patent/WO2020060146A1/ko unknown
- 2019-09-17 US US16/640,692 patent/US11836639B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101288033A (zh) * | 2005-08-19 | 2008-10-15 | 洛克威尔自动控制技术股份有限公司 | 带有服务器的驱动器 |
CN102812486A (zh) * | 2010-03-25 | 2012-12-05 | 诺基亚公司 | 根据群体行为提供个性化信息资源推荐的方法和设备 |
US20150378692A1 (en) * | 2014-06-30 | 2015-12-31 | Microsoft Corporation | Code recommendation |
KR20170023022A (ko) * | 2014-06-30 | 2017-03-02 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | 코드 추천 기법 |
US20160283548A1 (en) * | 2015-03-27 | 2016-09-29 | International Business Machines Corporation | Recommending connections in a social network system |
KR20170010720A (ko) * | 2015-07-20 | 2017-02-01 | 이준희 | 토폴로지 인식 기능을 갖는 블록 완구 및 이를 이용한 컨텐츠 제공 시스템 |
Also Published As
Publication number | Publication date |
---|---|
KR102304692B1 (ko) | 2021-09-24 |
US20210142185A1 (en) | 2021-05-13 |
WO2020060146A1 (ko) | 2020-03-26 |
EP3726450A4 (en) | 2021-03-24 |
EP3726450A1 (en) | 2020-10-21 |
KR20200034411A (ko) | 2020-03-31 |
EP3726450B1 (en) | 2022-12-21 |
US11836639B2 (en) | 2023-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112154471A (zh) | 源代码及模块推荐系统及模块组件 | |
US7555658B2 (en) | Embedded electronics building blocks for user-configurable monitor/control networks | |
US10427065B2 (en) | Building blocks with lights for guided assembly | |
US10013051B2 (en) | Modular apparatus and system for reconfigurable user inputs | |
CN107070690B (zh) | 用于电子模块的组网核心装置、无线组网方法和基于电子模块的智能网络系统 | |
US11455147B2 (en) | System for coding without compilation and a module assembly | |
CN107302557A (zh) | 对测量材料流量的计量表读取和写入数据 | |
CN105589380A (zh) | 连接关系检测系统、信息处理装置以及连接关系检测方法 | |
KR102137667B1 (ko) | 소스 코드 및 모듈 추천 시스템 및 모듈 어셈블리 | |
US11229841B2 (en) | Reader participation type electronic book system using module and operation method | |
CN112106095A (zh) | 组装信息提供系统及模块组件 | |
EP3905056A1 (en) | Reader participation type e-book system and operation method using modules | |
US20070161365A1 (en) | Detachable electronic device | |
US20210326148A1 (en) | Plug and play module assembly and plug and play system | |
JP3689739B2 (ja) | ネットワーク制御システム | |
CN209231881U (zh) | 输入设备及计算机系统 | |
KR102479950B1 (ko) | Ar을 통한 모듈 조립이 가능한 코딩 교육용 시스템 | |
CN110471371A (zh) | 功能模块集成装置 | |
Savaş et al. | Collecting and transferring the sunlight using fiber optic cables and lenses | |
KR20220138744A (ko) | 전자 장치 및 IoT 제어 정보 공유 방법 | |
Eklund et al. | A Home Automation Prototype | |
Lobachev | Scalable smart transducers network using Power-over-Ethernet: towards smarter, safer and more controllable buildings | |
JP2020155722A (ja) | 組み合わせ立体回路、組み合わせ立体回路設計システム及びプログラム | |
Sawant | Wireless sensor network testbed: Measurement and analysis | |
Del Castillo et al. | Study Spot Finder |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Seoul City, Korea Applicant after: Les Robo Co.,Ltd. Address before: Seoul City, Korea Applicant before: Les Robo Ltd. |
|
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20201229 |