0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

MBD工具鏈的云部署

MESEngineering ? 來源:MESEngineering ? 作者:MESEngineering ? 2024-02-18 13:48 ? 次閱讀

“云技術用于不會用于汽車開發(fā)“。說到云部署在汽車行業(yè)的應用,業(yè)界曾經(jīng)認為云技術并不適合用在汽車行業(yè)的產(chǎn)品開發(fā)。知識產(chǎn)權保護、數(shù)據(jù)的安全、流程不夠透明、遷移成本過高、IT部門的保守等種種現(xiàn)實問題成為了云技術應用在汽車開發(fā)上的阻礙。然而,隨著電動車巨頭特斯拉等一眾公司的成功,行業(yè)的發(fā)展趨勢變得不言自明: 汽車行業(yè)正朝著更加注重軟件驅(qū)動的方向發(fā)展,越來越多的OEM正重新定位,將重心放在軟件和技術方面。驅(qū)動這樣的轉變的因素有很多,比如高級輔助駕駛系統(tǒng) (ADAS),電動出行技術 (E-mobility) ,以及信息娛樂和舒適系統(tǒng)的開發(fā)等??偟膩碚f,汽車行業(yè)已經(jīng)開始采用云技術推動汽車軟件的設計,汽車軟件向著更先進,更智能的方向邁進。本文著重探討云技術在汽車行業(yè)應用的優(yōu)勢和注意事項,以及其在汽車行業(yè)軟件設計質(zhì)量保證領域的實際應用。

云技術的關鍵要素

首先明確云技術應用的關鍵要素。云技術是一種按需提供計算存儲網(wǎng)絡或其他IT資源的計算模式。對于云技術而言,算力和應用程序可在任意位置的集中式服務器農(nóng)場中運行,這些服務器不受空間約束,可以是OEM在本地的部署,也可以是各個地方公共云上的服務器。虛擬機 (VM) 是一種虛擬的計算環(huán)境,是云技術的關鍵資源。在這些服務器當中,使用虛擬機進行計算,并可以根據(jù)工作的負載動態(tài)部署或撤銷。理論上,云計算的算力可以無限擴展。個人電腦的角色也十分重要,是云計算中與云計算中心計算能力進行交互的主要接口。帶寬資源在云計算中同樣值得提及,為了使云應用程序發(fā)揮作用,需要足夠的帶寬接入使設備可以實現(xiàn)快速的互聯(lián)網(wǎng)連接,并需要監(jiān)控實際使用的應用服務,以確保一切正常運行。這些云技術的要素幫助提高了開發(fā)工作的靈活度,并使工作更容易擴展。從企業(yè)的角度來說,云技術能夠幫助企業(yè)降低成本,提高效率。

圍繞云技術,關鍵的概念也有很多。容器(Container) 是一種把應用程序及其依賴項到打包在一起的一種技術,使其可以方便地在云環(huán)境中部署運行及管理應用程序。容器技術常見的一種實現(xiàn)被稱為Docker, Docker是一種開源的容器化平臺,可以幫助開發(fā)者將應用程序及依賴項打包,并在支持Docker的環(huán)境中運行,使其不受環(huán)境差異的影響。對于集群技術,Kubernetes (又稱k8s) 是一種容器編排系統(tǒng),幫助企業(yè)管理容器化的應用程序。Automation (自動化),作為云計算的重要概念,其目的在于降本增效。對于自動化管道及構建管道,Jenkins、Bamboo、Git等等常被提及。Jenkins是一個由Java編寫的、開源的持續(xù)集成的工具,類似的還有Bamboo。Jenkins主要幫助團隊進行自動化的構建、測試和發(fā)布過程,提高軟件交付的效率及質(zhì)量。此外,同樣需要版本控制系統(tǒng)的支持,比如Git??梢允褂肎it來追蹤項目的變化,協(xié)同開發(fā)。倉庫(Repository) 用于存儲云技術相關的軟件要素。IaaS (基礎架構即服務),PaaS (平臺即服務) 和SaaS (軟件即服務) 是云服務的主要類型。IaaS (基礎架構即服務) 提供計算存儲網(wǎng)絡資源,用戶可以按照實際使用需求支付費用。PaaS (平臺即服務) 提供開發(fā),部署和運用應用程序的平臺。SaaS (軟件即服務) 提供已經(jīng)預先構建好的軟件應用程序。CaaS (內(nèi)容即服務) 以提供消費者基礎網(wǎng)絡資源以及操作系統(tǒng)服務為中心。DbaaS (數(shù)據(jù)庫即服務) 為客戶提供數(shù)據(jù)庫的訪問,而無需部署或管理底層的基礎設施。無服務器(Serverless) 通常稱為功能即服務(FaaS),是以PaaS (平臺即服務) 為基礎,提供一個微型的架構,中層客戶無需部署配置或者管理服務器的服務,代碼運行所需要的服務器服務都由云端平臺來提供。對于小型公司來說,可以運用云計算來托管其網(wǎng)站應用程序,無需投資建立自己的硬件軟件,從而節(jié)省支出。而大型企業(yè)也可以使用云計算技術來擴展IT基礎設施,以滿足業(yè)務需求的多樣化。

行業(yè)機遇與挑戰(zhàn)

云技術的關鍵詞和主要運用形式已作過介紹,下面來關注云技術的應用優(yōu)勢和面對的挑戰(zhàn)??蓴U展性是云計算的首要和關鍵優(yōu)勢。靈活的工具配置使云計算可以更好地適應不同的工作場景和負載。集中的管理可以實現(xiàn)實時的監(jiān)控,使運作流程透明且可控。全局的標準化同樣重要,云計算可以提供一種更為精簡工作流的實現(xiàn)過程,同時其易維護性保障了系統(tǒng)的可維護性和高效利用。云計算的這些優(yōu)勢幫助企業(yè)達到降低成本,同時提高透明度的作用。

當然,云技術同樣面臨一些挑戰(zhàn)。首先,由于云計算的應用可能需要用戶更改其原本的工具使用模式,這使得用戶的使用習慣面臨改變,不適應的情況可能出現(xiàn),用戶的接受度成為一大挑戰(zhàn)。此外,將項目完全遷移至云端也會耗費一定時間,項目的運行速度或進展可能因此延緩,企業(yè)在進行遷移前需要更好的準備工作以應對這些問題。云端工具鏈的不夠完備,一些重要的工具可能還未實現(xiàn)云端化,云工具鏈的不完備也可能造成困擾,需要技術的持續(xù)發(fā)展來幫助工具鏈實現(xiàn)完全云端化。使用云技術還可能會導致企業(yè)對第三方服務的依賴,這其中也存在風險。

汽車行業(yè)中云部署的經(jīng)典案例

在汽車行業(yè)的軟件開發(fā)和測試中,云部署架構的實際應用主要有兩種: “桌面云”和“過程云”?!白烂嬖啤币杂脩魹橹行?。在這種應用案例中,最終的用戶,也就是PC前的工作人員,通過傳統(tǒng)PC觸發(fā)應用程序,而算力和數(shù)據(jù)存儲在云端的某服務器農(nóng)場中。從用戶體驗上來說,基本與傳統(tǒng)PC無異。使用的軟件與應用以交互的方式被使用?!斑^程云”則是以過程為中心,在用戶端以自動化流程觸發(fā)應用程序,其觸發(fā)的自動化管道前文已有所介紹,主要有Jenkins、Git和Bamboo等等工具。最終的結果以報告或事件的方式自動分發(fā)。

下面來分析具體架構案例。對于軟件開發(fā)來說,當開發(fā)人員和測試人員向Git倉庫(Git Repository) 提交(Commit) 一個模型更新或測試變更時,此行為會主動觸發(fā) (Trigger) Jenkins主節(jié)點上的自動化管道,此自動化管道中包含了一系列對測試環(huán)境的描述。當測試環(huán)境描述文件發(fā)生變更時,Jenkins主節(jié)點作為數(shù)據(jù)中心樞紐被自動觸發(fā),負責控制和分發(fā)這些更改的管道設置。Jenkins主節(jié)點首先向代理節(jié)點 (Agent Nodes) 請求部署,隨后,代理節(jié)點會向云端倉庫(Container Repository) 請求下載相應的容器(Docker)。如圖1所示,Docker倉庫中,已部署好適應不同平臺 (Windows或Linux) 的容器包。隨后,適合系統(tǒng)要求的容器包將被請求并部署至Jenkins代理節(jié)點上。容器包(Docker)隨后接收到自動化管道發(fā)出的命令,繼而從Git倉庫(Git Repository) 簽出(Check Out) 相應的模型及配置文件等需要的信息。并根據(jù)具體指令進行靜態(tài)分析。Jenkins主節(jié)點隨后請求結果,而分析結果將會被發(fā)送回Jenkins主節(jié)點,并自動存儲。最后,Jenkins主節(jié)點負責向代理節(jié)點 (Agent Nodes) 請求取消部署,關閉不再需要的容器 (Docker),并將最終報告發(fā)送給開發(fā)或測試人員。

wKgZomXDda-AB6uWAARk2hsXp30243.png

圖1:桌面云設置

而從用戶出發(fā),用戶端(User Clients) 也可以進行擴展,通過使用終端服務器來完成開發(fā)、測試和分析全過程(由圖2所示)。用戶可以是單一或多個開發(fā)或測試人員從終端服務器(Terminalserver) 登錄。服務器會針對不同的工作環(huán)境和要求匹配不同的工具鏈并進行設置。如果需要相應的工具許可,可以向浮動許可證服務器發(fā)送相應請求,而相應的許可也可以被托管在不同位置。為保證安全,服務器通常配置為冗余或異地冗余的模式。這種情況下,由提交 (Commit) 操作自動觸發(fā)的Jenkins主節(jié)點分發(fā)相應的自動化管道 (Automation Pipeline) 到代理節(jié)點(Agent Nodes) ,代理節(jié)點 (Agent Nodes) 則可以通過Kubernetes進行擴展,從而由靜態(tài)擴展轉向可擴展的代理,進而實現(xiàn)云環(huán)境的擴展。

wKgaomXDdbWAf5nuAABqK_osIaY829.png

圖2:可擴展的云端自動化

對于云架構的過程支持,如果需要容器中的軟件工具,MES模賽思可以提供相應的容器模板輔助構建配置。

許可模式及工具鏈的云部署

回顧此前的關鍵詞解釋,根據(jù)云服務商交付模式的不同,云服務模型主要可以分為:

軟件即服務 (SaaS)

平臺或基礎架構即服務 (PaaS or IaaS)

軟件即服務(SaaS) 中,用戶應用是托管服務的集成部分,按使用量付費是主要的業(yè)務開展方式。平臺或基礎架構即服務 (PaaS or IaaS) 需要關注客戶租用的算力以及操作系統(tǒng)的容量。平臺即服務 (PaaS) 包括操作系統(tǒng)及數(shù)據(jù)庫,而基礎架構即服務 (IaaS)包括硬件和虛擬機 (VM)。使用平臺或基礎架構即服務 (PaaS or IaaS) 的客戶擁有應用軟件的所有權和許可,并可以通過定制計劃來明確使用成本。而在高工作負載的情況下,額外容量變得非常重要,因此,更為靈活的動態(tài)訂閱模式能夠在超出常規(guī)用量的情況下提供額外的支持。

對于MBD工具鏈來說,行業(yè)的主流為基礎架構托管。應用及工具鏈多保存在公司內(nèi)部,這樣的架構有利于對開發(fā)過程的監(jiān)控和靈活調(diào)控。對于汽車廠商,基礎架構即服務 (IaaS) 是主要的云技術運用方式。動態(tài)許可模式是目前行業(yè)的需求所在,也是MES模賽思所使用的許可模式。

MES模賽思的工具鏈目前已完全適配云許可的模式,并可以提供Windows和Linux版本。對于汽車行業(yè)來說,許可訂閱是主流選擇。許可模式的一種是開發(fā)者云桌面,用于交互式云環(huán)境,為桌面遷移到云設計。對于許可模式的覆蓋范圍,自動化全球云覆蓋全球許可,做到完全自動化和高動態(tài),并且可以在全球任何地方使用,為過程遷移到云設計。同樣,目前MES模賽思支持在云端設置MBD工具鏈,并可為試點項目提供基于云的沙箱環(huán)境,并為Docker容器提供配置模板。MES模賽思同樣支持在云端設置的自動化管道(Automation Pipeline) 。

wKgZomXDdb6AFD3pAABD6N_l1Eo041.png

圖3:MES模賽思云服務

如圖3所示,從技術咨詢,到工具與工作流,最后到構建與遷移,MES模賽思能夠為客戶提供云部署的全程支持,幫助客戶實現(xiàn)工具鏈的云部署。模賽思軟件技術有限公司(Model Engineering Solutions,簡稱MES)是一家高科技軟件公司,專為軟件項目的質(zhì)量保證提供解決方案。MES為客戶基于模型的軟件開發(fā)提供技術支持,使其符合IEC 61508、ISO 26262或ASPICE等行業(yè)標準。MES模賽思成立于2006年,總部位于德國柏林。MES的主要客戶包括整車廠如戴姆勒、大眾、豐田和吉利等以及博世、西門子三星等行業(yè)供應商。在汽車行業(yè)中,除少數(shù)幾家公司外,全球數(shù)十家頂尖制造商及供應商均在他們的開發(fā)環(huán)境中使用MES的解決方案。為支持其全球客戶,MES已在美國和中國建立了子公司,并與全球分銷商網(wǎng)絡緊密合作。

MES的產(chǎn)品包括4種質(zhì)量工具軟件:MES Model Examiner?、MES Test Manager?、MES Model & Refactor?和MES Quality Commander?,它們共同構成了一個工具鏈,全面保障基于模型的軟件開發(fā)過程中所有階段的質(zhì)量。通過MES Jenkins Plugin,該工具鏈也可以在持續(xù)集成環(huán)境中使用。工具鏈主要應用平臺為MATLAB?Simulink?。除了MES質(zhì)量工具外,MES測試中心和MES學院的專家們還為全球客戶提供關于質(zhì)量保證和開發(fā)流程優(yōu)化的定制咨詢服務及培訓課程。

MES是dSPACE公司的戰(zhàn)略合作伙伴和MathWorks及ETAS的產(chǎn)品合作伙伴。MES學院與SAE International有合作關系。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 測試
    +關注

    關注

    8

    文章

    5100

    瀏覽量

    126338
  • MES
    MES
    +關注

    關注

    5

    文章

    876

    瀏覽量

    29723
  • MBD
    MBD
    +關注

    關注

    0

    文章

    24

    瀏覽量

    8934
  • 云技術
    +關注

    關注

    1

    文章

    188

    瀏覽量

    18808
  • 汽車功能安全

    關注

    0

    文章

    25

    瀏覽量

    1395
收藏 人收藏

    評論

    相關推薦

    基于模型的設計(MBD)的深入討論

    討論1:2016-6-14-基于模型的設計(MBD)_討論1主要論述了MBD的自動生成代碼的可用性,以及自動生成代買與手寫代碼的效率討論2:2016-6-14-基于模型的設計(MBD)_討論2深入介紹了基于模型的設計(
    發(fā)表于 06-14 18:30

    區(qū)塊不是泡沫 馬或?qū)?chuàng)造新的神話

    近日,在第二屆世界智能大會上,馬談到區(qū)塊時表示,他十分看好區(qū)塊,并且阿里巴巴必須要有區(qū)塊。因此,“區(qū)塊也成為了大會中的新熱詞”,會
    發(fā)表于 05-18 18:10

    阿里發(fā)布新版SaaS上工具包,全面助力SaaS上

    9月26日,在云棲大會SaaS加速器專場上,阿里發(fā)布了新版的SaaS上工具包(SaaS Launch Kit),發(fā)布了API網(wǎng)關的新功能,以及推出了全新升級的能力中心。SaaS上
    發(fā)表于 10-12 17:02

    簡化針對服務的語音檢測算法的部署

    驅(qū)動程序,用于與DBM10芯片進行通信。SoC還具有跨平臺工具,該工具支持所有常用的人工智能(AI)和機器學習(ML)框架,以簡化算法部署
    發(fā)表于 03-03 10:46

    MBD設計模式

    機器人開發(fā)設計MBD設計模式(機器人開發(fā),控制系統(tǒng)開發(fā))掌握基于模型設計的六軸機械臂控制系統(tǒng)的開發(fā)方法掌握六軸機械臂的知識和控制器的軟硬件實現(xiàn)MBD設計模式(機器人開發(fā),控制系統(tǒng)開發(fā))MBD是一種
    發(fā)表于 06-28 12:29

    使用MBD進行stm32開發(fā)

    MBD學習之路1——使用MBD進行stm32開發(fā)準備工作準備工作
    發(fā)表于 08-17 07:55

    企業(yè)桌面要如何部署

    在前面文章中我們介紹了如何部署高校和普教桌面的方法,有用戶看到后就問,我們是企業(yè)用戶,想采用桌面來辦公的,企業(yè)桌面又要如何去部署的。今
    發(fā)表于 09-23 10:01

    什么是交叉編譯工具

    @LINUX# 嵌入式嵌入式LINUX交叉編譯工具前言一、什么是交叉編譯工具?二、ARM交叉編譯工具
    發(fā)表于 11-04 07:05

    為S12ZVMx安裝MBD工具箱,許可證錯誤是怎么回事?

    License Invalid。我檢查了MATLAB和toolbox的版本,也看了所有社區(qū)的方法,仍然無法解決問題。一些信息如下:1.Matlab版本為R2020a,MBD工具箱為S12ZVMx V1.4.0
    發(fā)表于 04-06 07:32

    如何在MBD中實現(xiàn)DAC?

    我正在使用 NXP S32k148 工具箱,我想在我想使用數(shù)模轉換器(即 DAC)的地方構建模型。那么我可以在這里使用哪個工具箱?或者如何在 MBD 中實現(xiàn) DAC(數(shù)模轉換器)。
    發(fā)表于 04-07 12:50

    MBD模型設計的CAN通信步驟和方法

    本篇筆記主要記錄基于MBD模型設計的CAN通信步驟和方法。前期工具箱的安裝不在本文檔討論范圍內(nèi)。
    的頭像 發(fā)表于 01-20 12:00 ?1136次閱讀
    <b class='flag-5'>MBD</b>模型設計的CAN通信步驟和方法

    MBD模型設計的PWM輸出步驟和方法

    本篇筆記主要記錄基于MBD模型設計的PWM輸出步驟和方法。前期工具箱的安裝不在本文檔討論范圍內(nèi)。
    的頭像 發(fā)表于 01-20 14:48 ?1412次閱讀
    <b class='flag-5'>MBD</b>模型設計的PWM輸出步驟和方法

    基于MBD模型設計的CAN通信步驟和方法

    本篇筆記主要記錄基于MBD模型設計的CAN通信步驟和方法。前期工具箱的安裝不在本文檔討論范圍內(nèi)。
    的頭像 發(fā)表于 04-20 14:18 ?890次閱讀
    基于<b class='flag-5'>MBD</b>模型設計的CAN通信步驟和方法

    基于MBD模型設計的PWM輸出步驟和方法

    本篇筆記主要記錄基于MBD模型設計的PWM輸出步驟和方法。前期工具箱的安裝不在本文檔討論范圍內(nèi)。
    的頭像 發(fā)表于 04-20 14:19 ?986次閱讀
    基于<b class='flag-5'>MBD</b>模型設計的PWM輸出步驟和方法

    初識MBDMBD模型管理

    基于模型的設計( **Model-Based Design,MBD** )是一種圍繞模型搭建展開的一種項目開發(fā)方法。
    的頭像 發(fā)表于 07-13 09:16 ?1996次閱讀
    初識<b class='flag-5'>MBD</b>及<b class='flag-5'>MBD</b>模型管理