JP2021174314A - ソフトウェア開発環境提供システム、ソフトウェア開発環境提供方法、及びソフトウェア開発環境提供プログラム - Google Patents

ソフトウェア開発環境提供システム、ソフトウェア開発環境提供方法、及びソフトウェア開発環境提供プログラム Download PDF

Info

Publication number
JP2021174314A
JP2021174314A JP2020078537A JP2020078537A JP2021174314A JP 2021174314 A JP2021174314 A JP 2021174314A JP 2020078537 A JP2020078537 A JP 2020078537A JP 2020078537 A JP2020078537 A JP 2020078537A JP 2021174314 A JP2021174314 A JP 2021174314A
Authority
JP
Japan
Prior art keywords
development
pointer
component
components
software
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.)
Withdrawn
Application number
JP2020078537A
Other languages
English (en)
Inventor
康 安部
Yasushi Abe
アラグラジャ パンディアン パラニラジ
Pandian Palaniraj Alaguraja
啓希 田端
Hiroki Tabata
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yokogawa Electric Corp
Original Assignee
Yokogawa Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yokogawa Electric Corp filed Critical Yokogawa Electric Corp
Priority to JP2020078537A priority Critical patent/JP2021174314A/ja
Priority to EP21169923.6A priority patent/EP3905028A1/en
Priority to US17/237,548 priority patent/US20210334075A1/en
Priority to CN202110449126.7A priority patent/CN113641349A/zh
Publication of JP2021174314A publication Critical patent/JP2021174314A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Abstract

【課題】ソフトウェア開発環境のユーザインタフェースの利便性を改善することが可能なソフトウェア開発環境提供システム、ソフトウェア開発環境提供方法、及びソフトウェア開発環境提供プログラムを提供する。【解決手段】表示部35は、ビルダ領域210と、ビルダ領域210に配置可能な複数の開発コンポーネントを表示する開発コンポーネント選択領域220とを含むユーザインタフェースを表示し、入力部34は、複数の開発コンポーネントのいずれかにポインタ230を重畳させる入力を受け付け、制御部31は、複数の開発コンポーネントのいずれかにポインタ230が重畳している場合、表示部35に、ポインタが重畳している開発コンポーネントを他の開発コンポーネントよりも遠近感を呈する態様で表示させる。【選択図】図6

Description

本開示は、ソフトウェア開発環境提供システム、ソフトウェア開発環境提供方法、及びソフトウェア開発環境提供プログラムに関する。
IoTに係る技術の進歩に伴い、プラント、工場、ビル、住居等における、あらゆる機器、センサ等がネットワークに接続され、これらを自動制御するシステムが提案されている。例えばプラント、工場等においては、分散制御システム、製造実行システム(MES:Manufacturing Execution System)、プラント情報管理システム(PIMS:Plant Information Management System)、基幹業務システム(ERP:Enterprise Resource Planning)等の種々のシステム(以下、エンジニアリングシステムともいう)が構築されている。
従来、これらのエンジニアリングシステムにおいて実装されるアプリケーション、ワークフロー、プログラム等のソフトウェアの開発は、例えばPLC(Programmable Logic Controller)等のプラントに設置された装置を用いて実現されている。また例えば特許文献1では、ソフトウェア開発環境をクライアント端末にインストールすることなく、クライアント端末からサーバにアクセスし、サーバ上のソフトウェア開発環境を用いてプログラムをコーディングする技術が提案されている。
米国特許第8086664号明細書
しかしながら特許文献1の技術において、開発対象のプログラムコードの編集は、サーバから提供されるエディタを用いて行う必要があり、必ずしも利便性の高いユーザインタフェースとはいえなかった。また、当該エディタにより直接コードを記述する必要があるため、プログラミング言語等の専門知識及び経験を要し、誰でも簡単にソフトウェアを開発できるものではなかった。すなわちソフトウェア開発環境のユーザインタフェースには改善の余地があった。
そこで本開示は、ソフトウェア開発環境のユーザインタフェースの利便性を改善することが可能なソフトウェア開発環境提供システム、ソフトウェア開発環境提供方法、及びソフトウェア開発環境提供プログラムを提供することを目的とする。
幾つかの実施形態に係るソフトウェア開発環境提供システムは、
入力部と、表示部と、制御部とを備える情報処理装置を含み、複数の開発コンポーネントを組み合わせることによりソフトウェアを開発する環境を提供するソフトウェア開発環境提供システムであって、
前記表示部は、ビルダ領域と、該ビルダ領域に配置可能な前記複数の開発コンポーネントを表示する開発コンポーネント選択領域とを含むユーザインタフェースを表示し、
前記入力部は、前記複数の開発コンポーネントのいずれかにポインタを重畳させる入力を受け付け、
前記制御部は、前記複数の開発コンポーネントのいずれかに前記ポインタが重畳している場合、前記表示部に、前記ポインタが重畳している開発コンポーネントを他の開発コンポーネントよりも遠近感を呈する態様で表示させる。
このように、幾つかの実施形態に係るソフトウェア開発環境提供システムによれば、複数の開発コンポーネントを組み合わせることによりソフトウェアを開発する環境が提供される。そして開発コンポーネント選択領域において、ポインタが重畳している開発コンポーネントが他の開発コンポーネントよりも遠近感を呈する態様で表示される。したがって、当該開発コンポーネントに対して、ドラッグアンドドロップ等の操作を行えることをユーザが容易に把握することができる。すなわち、幾つかの実施形態に係るソフトウェア開発環境提供システムによれば、ソフトウェア開発環境のユーザインタフェースの利便性を改善することができる。
一実施形態において、前記制御部は、前記開発コンポーネント選択領域に表示される前記複数の開発コンポーネントのうち、前記ポインタが重畳している開発コンポーネントに矩形枠を付し、該矩形枠の周囲に影を付すことにより、前記開発コンポーネントの遠近感を前記表示部に表示させてもよい。
このように、一実施形態に係るソフトウェア開発環境提供システムによれば、ポインタが重畳している開発コンポーネントに矩形枠が付され、また該矩形枠の周囲の影が付されることで遠近感を伴って表示される。そのため、当該開発コンポーネントに対して、ドラッグアンドドロップ等の操作を行えることをユーザが容易に把握することができる。
一実施形態において、前記制御部は、前記複数の開発コンポーネントのいずれかに前記ポインタが重畳している場合、前記ポインタの形状を変更して前記表示部に表示させてもよい。
このように、一実施形態に係るソフトウェア開発環境提供システムによれば、複数の開発コンポーネントのいずれかにポインタが重畳している場合にポインタの形状が変更して表示するため、当該開発コンポーネントに対して、ドラッグアンドドロップ等の操作を行えることをユーザがより容易に把握することができる。
一実施形態において、前記入力部は、開発コンポーネントを選択する入力を受け付け、
前記制御部は、前記開発コンポーネントが選択された場合、選択された開発コンポーネントを透過表示にした透過表示コンポーネントを前記表示部に表示させ、該透過表示コンポーネントを前記ポインタの移動に対応させて移動させてもよい。
このように、一実施形態に係るソフトウェア開発環境提供システムによれば、開発コンポーネントが選択された場合、選択された開発コンポーネントを透過表示にした透過表示コンポーネントを表示する。そして制御部は、該透過表示コンポーネントをポインタの移動に対応させて移動する。そのため選択された開発コンポーネントに対して、ドラッグアンドドロップ等の操作を行えることをユーザがより容易に把握することができる。
一実施形態において、前記制御部は、前記ポインタが前記ビルダ領域に存在する場合、前記透過表示コンポーネントの表示態様を、前記ポインタが前記開発コンポーネント選択領域に存在する場合と異ならせて前記表示部に表示させてもよい。
このように、一実施形態に係るソフトウェア開発環境提供システムによれば、ポインタがビルダ領域に存在する場合、透過表示コンポーネントの表示態様を開発コンポーネント選択領域にポインタが存在する場合と異ならせる。そのため、例えばドロップ操作等、選択した開発コンポーネントをビルダ領域の所定位置に移動させ配置させる操作が行えることをユーザが容易に把握することができる。
幾つかの実施形態に係るソフトウェア開発環境提供方法は、
複数の開発コンポーネントを組み合わせることによりソフトウェアを開発する環境を提供するソフトウェア開発環境提供方法であって、
ビルダ領域と、該ビルダ領域に配置可能な複数の開発コンポーネントを表示する開発コンポーネント選択領域とを含むユーザインタフェースを表示するステップと、
前記複数の開発コンポーネントのいずれかにポインタを重畳させる入力を受け付けるステップと、
前記複数の開発コンポーネントのいずれかに前記ポインタが重畳している場合、前記ポインタが重畳している開発コンポーネントを他の開発コンポーネントよりも遠近感を呈する態様で表示するステップと、
を含む。
このように、幾つかの実施形態に係るソフトウェア開発環境提供方法によれば、開発コンポーネント選択領域において、ポインタが重畳している開発コンポーネントが、他の開発コンポーネントよりも遠近感を呈する態様で表示される。したがって、当該開発コンポーネントに対して、ドラッグアンドドロップ等の操作を行えることをユーザが容易に把握することができる。すなわち、幾つかの実施形態に係るソフトウェア開発環境提供方法によれば、ソフトウェア開発環境のユーザインタフェースの利便性を改善することができる。
幾つかの実施形態に係るソフトウェア開発環境提供プログラムは、
ソフトウェア開発環境提供プログラムであって、前記ソフトウェア開発環境提供プログラムが実行された場合に、プロセッサに、
ビルダ領域と、該ビルダ領域に配置可能な複数の開発コンポーネントを表示する開発コンポーネント選択領域とを含むユーザインタフェースを表示するステップと、
前記複数の開発コンポーネントのいずれかにポインタを重畳させる入力を受け付けるステップと、
前記複数の開発コンポーネントのいずれかに前記ポインタが重畳している場合、前記ポインタが重畳している開発コンポーネントを他の開発コンポーネントよりも遠近感を呈する態様で表示するステップと、を含む動作を実行させる。
このように、幾つかの実施形態に係るソフトウェア開発環境提供プログラムによれば、開発コンポーネント選択領域において、ポインタが重畳している開発コンポーネントが、他の開発コンポーネントよりも遠近感を呈する態様で表示される。したがって、当該開発コンポーネントに対して、ドラッグアンドドロップ等の操作を行えることをユーザが容易に把握することができる。すなわち、幾つかの実施形態に係るソフトウェア開発環境提供プログラムによれば、ソフトウェア開発環境のユーザインタフェースの利便性を改善することができる。
本開示によれば、ソフトウェア開発環境のユーザインタフェースに係る技術を改善することが可能なソフトウェア開発環境提供システム、ソフトウェア開発環境提供方法、及びソフトウェア開発環境提供プログラムを提供することができる。
本開示の一実施形態に係るソフトウェア開発環境提供システムの機能ブロック図である。 本開示の一実施形態に係るソフトウェア開発環境提供システムにおけるユーザインタフェースを示す図である。 本開示の一実施形態に係るソフトウェア開発環境提供システムにおけるユーザインタフェースにおいて、開発コンポーネントを配置した様子を示す図である。 本開示の一実施形態に係るソフトウェア開発環境提供方法を示すフローチャートである。 本開示の一実施形態に係るソフトウェア開発環境提供方法の動作の概要を示す図である。 本開示の一実施形態に係るソフトウェア開発環境提供方法の動作の概要を示す図である。 本開示の一実施形態に係るソフトウェア開発環境提供方法の動作の概要を示す図である。 本開示の一実施形態に係るソフトウェア開発環境提供方法の動作の概要を示す図である。 本開示の一実施形態に係るソフトウェア開発環境提供方法の動作の概要を示す図である。
以下、本開示の実施形態に係るソフトウェア開発環境提供システム10について、図面を参照して説明する。
各図中、同一又は相当する部分には、同一符号を付している。本実施形態の説明において、同一又は相当する部分については、説明を適宜省略又は簡略化する。
図1乃至図3を参照して、本実施形態に係るソフトウェア開発環境提供システム10の概要及び構成を説明する。
本実施形態に係るソフトウェア開発環境提供システム10は、複数のサーバ20と、情報処理装置30とを備える。各サーバ20と情報処理装置30とは、例えば移動体通信網及びインターネット等を含むネットワーク40と通信可能に接続されている。各サーバ20は、例えばデータセンタ等に設置される。例えば各サーバ20は、クラウドコンピューティングシステム又はその他のコンピューティングシステムに属するサーバである。概略として、ソフトウェア開発環境提供システム10は、複数の開発コンポーネントを組み合わせることによりソフトウェアを開発する環境を、例えばクラウド上でユーザに提供する。ユーザは情報処理装置30を操作し、例えば情報処理装置30上のウェブブラウザにより複数のサーバ20により構成されるクラウドにアクセスし、ウェブブラウザにより表示されるインタフェース上で複数の開発コンポーネントを組み合わせて、ソフトウェア開発を行うことができる。なお図1においてソフトウェア開発環境提供システム10が備えるサーバ20は3台である例が示されているが、これに限られない。ソフトウェア開発環境提供システム10は、3台未満のサーバ20を備えてもよく、4台以上のサーバ20を備えていてもよい。またサーバ20の台数は1台であってもよい。
以下、本実施形態に係るサーバ20及び情報処理装置30の各構成を説明する。
図1に示されるように、サーバ20は、制御部21と、記憶部22と、通信部23とを備える。
制御部21には、少なくとも1つのプロセッサ、少なくとも1つの専用回路、又はこれらの組み合わせが含まれる。プロセッサは、CPU(central processing unit)若しくはGPU(graphics processing unit)などの汎用プロセッサ、又は特定の処理に特化した専用プロセッサである。専用回路は、例えば、FPGA(field-programmable gate array)又はASIC(application specific integrated circuit)である。制御部21は、サーバ20の各部を制御しながら、情報処理装置30の動作に関わる処理を実行する。
記憶部22には、少なくとも1つの半導体メモリ、少なくとも1つの磁気メモリ、少なくとも1つの光メモリ、又はこれらのうち少なくとも2種類の組み合わせが含まれる。半導体メモリは、例えば、RAM(random access memory)又はROM(read only memory)である。RAMは、例えば、SRAM(static random access memory)又はDRAM(dynamic random access memory)である。ROMは、例えば、EEPROM(electrically erasable programmable read only memory)である。記憶部22は、例えば、主記憶装置、補助記憶装置、又はキャッシュメモリとして機能する。記憶部22には、サーバ20の動作に用いられるデータと、サーバ20の動作によって得られたデータとが記憶される。
通信部23には、少なくとも1つの外部通信用インタフェースが含まれる。通信用インタフェースは、有線通信又は無線通信のいずれのインタフェースであってよい。有線通信の場合、通信用インタフェースは例えばLAN(Local Area Network)インタフェース、USB(Universal Serial Bus)である。無線通信の場合、通信用インタフェースは例えば、LTE(Long Term Evolution)、4G(4th generation)、若しくは5G(5th generation)などの移動通信規格に対応したインタフェース、Bluetooth(登録商標)などの近距離無線通信に対応したインタフェースである。通信部23はサーバ20の動作に用いられるデータを受信し、またサーバ20の動作によって得られるデータを送信する。
サーバ20の機能は、本実施形態に係るプログラムを、制御部21に相当するプロセッサで実行することにより実現される。すなわち、サーバ20の機能は、ソフトウェアにより実現される。プログラムは、サーバ20の動作をコンピュータに実行させることで、コンピュータをサーバ20として機能させる。すなわち、コンピュータは、プログラムに従ってサーバ20の動作を実行することによりサーバ20として機能する。
本実施形態においてプログラムは、コンピュータで読取り可能な記録媒体に記録しておくことができる。コンピュータで読取り可能な記録媒体は、非一時的なコンピュータ読取可能な媒体を含み、例えば、磁気記録装置、光ディスク、光磁気記録媒体、又は半導体メモリである。プログラムの流通は、例えば、プログラムを記録したDVD(digital versatile disc)又はCD−ROM(compact disc read only memory)などの可搬型記録媒体を販売、譲渡、又は貸与することによって行う。またプログラムの流通は、プログラムを外部サーバのストレージに格納しておき、外部サーバから他のコンピュータにプログラムを送信することにより行ってもよい。またプログラムはプログラムプロダクトとして提供されてもよい。
サーバ20の一部又は全ての機能が、制御部21に相当する専用回路により実現されてもよい。すなわち、サーバ20の一部又は全ての機能が、ハードウェアにより実現されてもよい。
情報処理装置30は、制御部31と、記憶部32と、通信部33と、入力部34と、表示部35とを備える。
制御部31には、少なくとも1つのプロセッサ、少なくとも1つの専用回路、又はこれらの組み合わせが含まれる。プロセッサは、CPU若しくはGPUなどの汎用プロセッサ、又は特定の処理に特化した専用プロセッサである。専用回路は、例えば、FPGA又はASICである。制御部31は、情報処理装置30の各部を制御しながら、情報処理装置30の動作に関わる処理を実行する。
記憶部32には、少なくとも1つの半導体メモリ、少なくとも1つの磁気メモリ、少なくとも1つの光メモリ、又はこれらのうち少なくとも2種類の組み合わせが含まれる。半導体メモリは、例えば、RAM又はROMである。RAMは、例えば、SRAM又はDRAMである。ROMは、例えば、EEPROMである。記憶部32は、例えば、主記憶装置、補助記憶装置、又はキャッシュメモリとして機能する。記憶部32には、情報処理装置30の動作に用いられるデータと、情報処理装置30の動作によって得られたデータとが記憶される。
通信部33には、少なくとも1つの外部通信用インタフェースが含まれる。通信用インタフェースは、有線通信又は無線通信のいずれのインタフェースであってよい。有線通信の場合、通信用インタフェースは例えばLANインタフェース、USBである。無線通信の場合、通信用インタフェースは例えば、LTE、4G、若しくは5Gなどの移動通信規格に対応したインタフェース、Bluetooth(登録商標)などの近距離無線通信に対応したインタフェースである。通信部33は、情報処理装置30の動作に用いられるデータを受信し、また情報処理装置30の動作によって得られるデータを送信する。
入力部34には、少なくとも1つの入力用インタフェースが含まれる。入力用インタフェースは、例えば、物理キー、静電容量キー、ポインティングデバイス、ディスプレイと一体的に設けられたタッチスクリーンである。入力部34は、情報処理装置30の動作に用いられるデータを入力する操作を受け付ける。入力部34は、情報処理装置30に備えられる代わりに、外部の入力機器として情報処理装置30に接続されてもよい。接続方式としては、例えば、USB(Universal Serial Bus)、HDMI(登録商標)(High-Definition Multimedia Interface)、又はBluetooth(登録商標)などの任意の方式を用いることができる。
表示部35には、少なくとも1つの表示出力用インタフェースが含まれる。出力用インタフェースは、例えば、ディスプレイである。ディスプレイは、例えば、LCD(liquid crystal display)又は有機EL(electro luminescence)ディスプレイである。表示部35は、情報処理装置30の動作によって得られるデータを表示出力する。表示部35は、情報処理装置30に備えられる代わりに、外部の出力機器として情報処理装置30に接続されてもよい。接続方式としては、例えば、USB、HDMI(登録商標)、又はBluetooth(登録商標)などの任意の方式を用いることができる。
情報処理装置30の機能は、本実施形態に係るプログラムを、制御部31に相当するプロセッサで実行することにより実現される。すなわち、情報処理装置30の機能は、ソフトウェアにより実現される。プログラムは、情報処理装置30の動作をコンピュータに実行させることで、コンピュータを情報処理装置30として機能させる。すなわち、コンピュータは、プログラムに従って情報処理装置30の動作を実行することにより情報処理装置30として機能する。
本実施形態においてコンピュータは、例えば、可搬型記録媒体に記録されたプログラム又はサーバから送信されたプログラムを、一旦、主記憶装置に格納する。そして、コンピュータは、主記憶装置に格納されたプログラムをプロセッサで読み取り、読み取ったプログラムに従った処理をプロセッサで実行する。コンピュータは、可搬型記録媒体から直接プログラムを読み取り、プログラムに従った処理を実行してもよい。コンピュータは、外部サーバからプログラムを受信する度に、逐次、受け取ったプログラムに従った処理を実行してもよい。外部サーバからコンピュータへのプログラムの送信は行わず、実行指示及び結果取得のみによって機能を実現する、いわゆるASP(application service provider)型のサービスによって処理を実行してもよい。プログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるものが含まれる。例えば、コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータは、「プログラムに準ずるもの」に該当する。
情報処理装置30の一部又は全ての機能が、制御部31に相当する専用回路により実現されてもよい。すなわち、情報処理装置30の一部又は全ての機能が、ハードウェアにより実現されてもよい。
図2は、情報処理装置30の表示部35において表示されるユーザインタフェースの一例である。ユーザは、情報処理装置30の入力部34を操作して、例えばウェブブラウザによりサーバ20にアクセスする。そしてユーザは、ウェブブラウザにおいて表示されたユーザインタフェース上で複数の開発コンポーネントを組み合わせてソフトウェア開発を行う。すなわち本実施形態において、情報処理装置30には、ソフトウェア開発環境提供システム10に特化したアプリケーション等をインストールする必要はない。換言すると情報処理装置30がウェブブラウザソフトを備えていれば、情報処理装置30からサーバ20に接続することでユーザはソフトウェア開発を行うことができる。
図2に示されるようにユーザインタフェース200は、ビルダ領域210と、開発コンポーネント選択領域220とを含む。ビルダ領域210は、複数の開発コンポーネントを配置、接続等するための領域である。すなわちユーザは、ビルダ領域210において複数の開発コンポーネントを組み合わせて、ソフトウェア開発を行う。開発コンポーネント選択領域220は、ビルダ領域210に配置可能な複数の開発コンポーネント221〜230を表示する領域である。
本実施形態において開発コンポーネントは、例えばトリガー、アクション、コネクタ、及びロジック等の種別に分類される。また図2に示される開発コンポーネント221〜224は、トリガーに分類される。トリガーに分類される開発コンポーネントは、例えば温度センサ、湿度センサ、圧力センサ等のセンサからのセンサ値の取得、所定時間の経過、デバイスからの所定アラームの発生等、何らかのイベントの発生に係るコンポーネントである。開発コンポーネント225〜229は、アクションに分類される。アクションに分類される開発コンポーネントは、演算処理、通知、データのアップロード等、イベントが生じた場合に行う動作及び処理等に係るコンポーネントである。また図2に示される開発コンポーネント2210は、コネクタに分類される。コネクタに分類される開発コンポーネントは、データベース、機器等への接続、情報の追加、更新、削除等、外部リソースとの情報処理にかかるコンポーネントである。またロジックに分類される開発コンポーネントは、入力情報の論理和、フィルタリング処理等に係るコンポーネントである。ユーザは、ポインタ230をマウス等により操作してユーザインタフェース200上でソフトウェアの開発を行う。例えばユーザは、ポインタ230を操作して開発コンポーネント選択領域220から所望の開発コンポーネントを選択し、ビルダ領域210に選択した所望の開発コンポーネントを配置及び接続等する。
図3は、ビルダ領域210に複数の開発コンポーネントを配置及び接続した状態において表示されるユーザインタフェースの一例である。図3に示されるユーザインタフェース200は、2つのセンサから取得したセンサ値に対して所定の演算(ここでは例えば平均値の演算)を行い、演算結果をアップロードするソフトウェアを表示している。当該ソフトウェアは、複数の開発コンポーネント301〜304により構築されている。図3に示すように複数の開発コンポーネント301〜304は、コネクタ311〜313により接続されている。コネクタ311は、開発コンポーネント301の出力が開発コンポーネント303の入力であることを示す。コネクタ312は、開発コンポーネント302の出力が開発コンポーネント303の入力であることを示す。コネクタ313は、開発コンポーネント303の出力が開発コンポーネント304の入力であることを示す。図3に示すように、図3に示されるユーザインタフェース200は、ビルダ領域210に隣接した位置に、プロパティ領域240を備える。プロパティ領域240は、ビルダ領域210において選択された開発コンポーネントに係る設定値情報等を表示する領域である。ユーザはプロパティ領域240において、各種の変数、条件式等をプルダウンメニュー等から選択して設定することにより、各開発コンポーネントに係る各種の動作等を規定する。ユーザインタフェース200を用いることでユーザは、プログラムコードを一切書く必要なく、開発コンポーネントの配置、接続、プロパティの設定をすればソフトウェア開発することができる。
上述したように、ユーザはポインタ230を操作してユーザインタフェース200上での開発を行う。例えばユーザは、ポインタ230をマウス等により操作し、開発コンポーネント選択領域220から所望の開発コンポーネントを選択し、ビルダ領域210に配置する。以下、ポインタ230をマウスにより操作する場合の本実施形態のソフトウェア開発環境提供システム10の動作の一例を説明する。図4は、ソフトウェア開発環境提供システム10による当該動作、すなわちソフトウェア開発環境提供方法の一例を示すフローチャートである。ここでは、ユーザがマウスによるドラッグアンドドロップ操作により、所望の開発コンポーネントを選択及び配置する例について説明する。
はじめに情報処理装置30の制御部31は、表示部35にユーザインタフェース200を表示させる(ステップS10)。図5は、表示されるユーザインタフェース200の一例である。上述したようにユーザインタフェース200は、ビルダ領域210と、ビルダ領域210に配置可能な複数の開発コンポーネントを表示する開発コンポーネント選択領域220とを含む。ユーザインタフェース200の表示要求は、ユーザからの入力操作に基づく。例えば制御部31は、ユーザによるウェブブラウザ上での入力操作を入力部34により受け付ける。当該入力操作があると制御部31は、サーバ20と通信部33を介して通信し、ユーザインタフェース200に係るデータを受信する。そして制御部31は当該データに基づきユーザインタフェース200を表示部35に表示させる。なおサーバ20と情報処理装置30とにより、適宜、ユーザに係る認証処理等が行われてもよい。
続いて入力部34は、開発コンポーネント選択領域220に表示された複数の開発コンポーネント221〜230のいずれかにポインタ230を重畳させる入力を受け付ける(ステップS20)。
上述のポインタ230を重畳させる入力があった場合、制御部31は、表示部35にポインタ230が重畳している開発コンポーネントを他の開発コンポーネントよりも遠近感を呈する態様で表示させる(ステップS30)。図6は、かかる動作の概要を示す図である。図6では、ポインタ230が、開発コンポーネント221に重畳して表示されている。したがって当該開発コンポーネント221が、他の開発コンポーネント(例えば開発コンポーネント222)よりも遠近感を呈する態様で表示されている。ポインタ230が重畳している開発コンポーネント221は、遠近感を呈する態様で表示されているため、浮遊している(ホバリングしている)ように見える。
ここで図6では、ポインタ230が重畳している開発コンポーネント221に矩形枠を付し、さらに該矩形枠の周囲に影を付すことにより遠近感を呈する態様で表示させている。より具体的には矩形枠の底辺及び右側辺に影を付すことにより、開発コンポーネント221を、遠近感を呈する態様で表示部35により表示させている。
また、図6に示すように、複数の開発コンポーネントのいずれかにポインタ230が重畳している場合、ポインタ230の表示態様を、手を開いたような形状の表示態様に変更する。ポインタ230に係る表示変更により、ポインタ230が重畳している開発コンポーネントに対して、ドラッグアンドドロップ等の操作を行えることをユーザがより容易に把握することができる。
続いて入力部34は、開発コンポーネントを選択する入力を受け付ける(ステップS40)。開発コンポーネントを選択する入力は、例えばユーザによるマウスのドラッグ操作である。マウスのドラッグ操作は、マウスボタンの押下操作及びマウスによるポインタ230の移動開始操作を含む。
開発コンポーネントを選択する入力があった場合、制御部31は、選択された開発コンポーネントを透過表示にした透過表示コンポーネントを表示部35に表示させ、該透過表示コンポーネントをポインタ230の移動に対応させて移動させる(ステップS50)。図7はかかる動作の概要を示す図である。図7に示すように選択された開発コンポーネント221に対応する、透過表示コンポーネント231が表示される。さらに当該透過表示コンポーネント231は、ポインタ230の移動に対応して移動して表示される。つまりユーザによるドラッグ操作に応じて、透過表示コンポーネント231が移動して表示される。図7に示すようにポインタ230は、手を閉じたような形状の表示態様に変更される。
続いて入力部34は、ポインタ230をビルダ領域210に移動させる入力を受け付ける(ステップS60)。つまり入力部34は、ポインタ230の移動により、透過表示コンポーネントをビルダ領域210に移動させる入力を受け付ける。
上述のポインタ230を移動させる入力があった場合、制御部31は、透過表示コンポーネントの表示態様を変更して表示部35に表示させる(ステップS70)。図8はかかる動作の概要を示す図である。図8に示すように、透過表示コンポーネント232の表示態様が、例えば図7における透過表示コンポーネント232の表示態様から変更される。図8では、ビルダ領域210において配置される開発コンポーネントと同一形状であり、かつ透過表示にした表示態様に変更されている。
続いて入力部34は、開発コンポーネントを配置する入力を受け付ける(ステップS80)。開発コンポーネントを配置する入力は、例えばユーザによるマウスのドロップ操作である。マウスのドロップ操作は、マウスボタンのリリース操作である。
開発コンポーネントを配置する入力があった場合、制御部31は、開発コンポーネントをビルダ領域210に配置する(ステップS90)。図9はかかる動作の概要を示す図である。図9に示すように、透過表示コンポーネント232に対応する開発コンポーネント301がビルダ領域210に配置される。図9に示すように、ポインタ230の表示態様は、矢印形状に戻る。
このように、本実施形態に係るソフトウェア開発環境提供システム10によれば、開発コンポーネント選択領域220において、ポインタ230が重畳している開発コンポーネントが、他の開発コンポーネントよりも遠近感を呈する態様で表示される。したがって、当該開発コンポーネントに対して、ドラッグアンドドロップ等の操作を行えることをユーザが容易に把握することができる。すなわち、本実施形態に係るソフトウェア開発環境提供システム10によれば、ソフトウェア開発環境のユーザインタフェースの利便性を改善することができる。
また、本実施形態に係るソフトウェア開発環境提供システム10によれば、図6に示されるように、ポインタ230が重畳している開発コンポーネント221に矩形枠を付し、該矩形枠の周囲に影を付すことにより遠近感を呈する態様で表示する。そのため、当該開発コンポーネントに対して、ドラッグアンドドロップ等の操作を行えることをユーザが容易に把握することができる。
また、本実施形態に係るソフトウェア開発環境提供システム10によれば、図6に示されるように、複数の開発コンポーネントのいずれかにポインタ230が重畳している場合、ポインタ230の表示態様を、手を開いたようなポインタに変更する。そのため、本実施形態に係るソフトウェア開発環境提供システム10によれば、ポインタ230が重畳している開発コンポーネントに対して、ドラッグアンドドロップ等の操作を行えることをユーザがより容易に把握することができる。
また、本実施形態に係るソフトウェア開発環境提供システム10によれば、図7に示されるように、選択された開発コンポーネント221を透過表示にした透過表示コンポーネント231が表示され、透過表示コンポーネント231をポインタ230の移動に対応させて移動させる。そのためユーザは、選択された開発コンポーネント221を判別しやすく、また選択された開発コンポーネント221に対して、ドラッグアンドドロップ等の操作を行えることをユーザが容易に把握することができる。
また、本実施形態に係るソフトウェア開発環境提供システム10によれば、図8に示されるように、ポインタ230がビルダ領域210に存在する場合、透過表示コンポーネント231の表示態様が、ポインタ230が開発コンポーネント選択領域220に存在する場合と異なる。そのため例えばドロップ操作等、選択した開発コンポーネントをビルダ領域210の所定位置に移動させ配置させる操作が行えることをユーザが容易に把握することができる。
本開示を諸図面及び実施例に基づき説明してきたが、当業者であれば本開示に基づき種々の変形及び修正を行うことが容易であることに注意されたい。したがって、これらの変形及び修正は本開示の範囲に含まれることに留意されたい。例えば、各構成又は各ステップ等に含まれる機能等は論理的に矛盾しないように再配置可能であり、複数の構成又はステップ等を1つに組み合わせたり、或いは分割したりすることが可能である。
例えば上記ではポインタ230が重畳している開発コンポーネント221に矩形枠を付し、該矩形枠の底辺及び側辺に影を付すことにより遠近感を呈する態様で開発コンポーネント221を表示する例を示したがこれに限られない。例えば矩形枠の底辺又は側辺のいずれか一方のみに影が付されてもよい。また例えば、矩形枠の他の辺の少なくともいずれかに影が付されてもよい。また例えば開発コンポーネント221に付す枠の形状は円形、楕円形、矩形以外の多角形形状等、いかなる形状であってもよい。この場合において、枠に付す影の位置は、任意の場所であってよい。また、枠及び影を付す他に、遠近感を呈する表示態様であれば任意の表示態様にて開発コンポーネント221が表示させてもよい。
また本実施形態では、図4〜9において、マウスによってポインタ230を操作する例を示したがこれに限られない。例えば、物理キー、静電容量キー、マウス以外のポインティングデバイス、ディスプレイと一体的に設けられたタッチスクリーン等によってポインタ230が操作されてもよい。
また本実施形態では、情報処理装置30がサーバ20にウェブブラウザによりアクセスすることにより、ソフトウェア開発環境がユーザに提供される例を示したがこれに限られない。例えば情報処理装置30に、ソフトウェア開発環境提供システム10に係るアプリケーションをインストールして、当該アプリケーションを介してサーバ20と通信することにより、ソフトウェア開発環境がユーザに提供されてもよい。
10 ソフトウェア開発環境提供システム
20 サーバ
21 制御部
22 記憶部
23 通信部
30 情報処理装置
31 制御部
32 記憶部
33 通信部
34 入力部
35 表示部
40 ネットワーク
200 ユーザインタフェース
210 ビルダ領域
220 開発コンポーネント選択領域
221〜229、2210 開発コンポーネント
230 ポインタ
231、232 透過表示コンポーネント
240 プロパティ領域
301〜304 開発コンポーネント
311〜313 コネクタ

Claims (7)

  1. 入力部と、表示部と、制御部とを備える情報処理装置を含み、複数の開発コンポーネントを組み合わせることによりソフトウェアを開発する環境を提供するソフトウェア開発環境提供システムであって、
    前記表示部は、ビルダ領域と、該ビルダ領域に配置可能な複数の開発コンポーネントを表示する開発コンポーネント選択領域とを含むユーザインタフェースを表示し、
    前記入力部は、前記複数の開発コンポーネントのいずれかにポインタを重畳させる入力を受け付け、
    前記制御部は、前記複数の開発コンポーネントのいずれかに前記ポインタが重畳している場合、前記表示部に、前記ポインタが重畳している開発コンポーネントを他の開発コンポーネントよりも遠近感を呈する態様で表示させる、ソフトウェア開発環境提供システム。
  2. 請求項1に記載のソフトウェア開発環境提供システムであって、
    前記制御部は、前記開発コンポーネント選択領域に表示される前記複数の開発コンポーネントのうち、前記ポインタが重畳している開発コンポーネントに矩形枠を付し、該矩形枠の周囲に影を付すことにより、前記開発コンポーネントの遠近感を前記表示部に表示させる、ソフトウェア開発環境提供システム。
  3. 請求項1又は2に記載のソフトウェア開発環境提供システムであって、
    前記制御部は、前記複数の開発コンポーネントのいずれかに前記ポインタが重畳している場合、前記ポインタの形状を変更して前記表示部に表示させる、ソフトウェア開発環境提供システム。
  4. 請求項1乃至3のいずれか一項に記載のソフトウェア開発環境提供システムであって、
    前記入力部は、開発コンポーネントを選択する入力を受け付け、
    前記制御部は、前記開発コンポーネントが選択された場合、選択された開発コンポーネントを透過表示にした透過表示コンポーネントを前記表示部に表示させ、該透過表示コンポーネントを前記ポインタの移動に対応させて移動させるソフトウェア開発環境提供システム。
  5. 請求項4に記載のソフトウェア開発環境提供システムであって、
    前記制御部は、前記ポインタが前記ビルダ領域に存在する場合、前記透過表示コンポーネントの表示態様を、前記ポインタが前記開発コンポーネント選択領域に存在する場合と異ならせて前記表示部に表示させる、ソフトウェア開発環境提供システム。
  6. 複数の開発コンポーネントを組み合わせることによりソフトウェアを開発する環境を提供するソフトウェア開発環境提供方法であって、
    ビルダ領域と、該ビルダ領域に配置可能な複数の開発コンポーネントを表示する開発コンポーネント選択領域とを含むユーザインタフェースを表示するステップと、
    前記複数の開発コンポーネントのいずれかにポインタを重畳させる入力を受け付けるステップと、
    前記複数の開発コンポーネントのいずれかに前記ポインタが重畳している場合、前記ポインタが重畳している開発コンポーネントを他の開発コンポーネントよりも遠近感を呈する態様で表示するステップと、
    を含むソフトウェア開発環境提供方法。
  7. ソフトウェア開発環境提供プログラムであって、前記ソフトウェア開発環境提供プログラムが実行された場合に、プロセッサに、
    ビルダ領域と、該ビルダ領域に配置可能な複数の開発コンポーネントを表示する開発コンポーネント選択領域とを含むユーザインタフェースを表示するステップと、
    前記複数の開発コンポーネントのいずれかにポインタを重畳させる入力を受け付けるステップと、
    前記複数の開発コンポーネントのいずれかに前記ポインタが重畳している場合、前記ポインタが重畳している開発コンポーネントを他の開発コンポーネントよりも遠近感を呈する態様で表示するステップと、を含む動作を実行させるソフトウェア開発環境提供プログラム。
JP2020078537A 2020-04-27 2020-04-27 ソフトウェア開発環境提供システム、ソフトウェア開発環境提供方法、及びソフトウェア開発環境提供プログラム Withdrawn JP2021174314A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2020078537A JP2021174314A (ja) 2020-04-27 2020-04-27 ソフトウェア開発環境提供システム、ソフトウェア開発環境提供方法、及びソフトウェア開発環境提供プログラム
EP21169923.6A EP3905028A1 (en) 2020-04-27 2021-04-22 System for providing software development environment, method for providing software development environment, and non-transitory computer readable medium
US17/237,548 US20210334075A1 (en) 2020-04-27 2021-04-22 System for providing software development environment, method for providing software development environment, and non-transitory computer readable medium
CN202110449126.7A CN113641349A (zh) 2020-04-27 2021-04-25 软件开发环境提供系统、方法和非临时性计算机可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020078537A JP2021174314A (ja) 2020-04-27 2020-04-27 ソフトウェア開発環境提供システム、ソフトウェア開発環境提供方法、及びソフトウェア開発環境提供プログラム

Publications (1)

Publication Number Publication Date
JP2021174314A true JP2021174314A (ja) 2021-11-01

Family

ID=75639820

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020078537A Withdrawn JP2021174314A (ja) 2020-04-27 2020-04-27 ソフトウェア開発環境提供システム、ソフトウェア開発環境提供方法、及びソフトウェア開発環境提供プログラム

Country Status (4)

Country Link
US (1) US20210334075A1 (ja)
EP (1) EP3905028A1 (ja)
JP (1) JP2021174314A (ja)
CN (1) CN113641349A (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1139145A (ja) * 1997-07-24 1999-02-12 Casio Comput Co Ltd プログラム構築支援装置及び記憶媒体
JPH11250276A (ja) * 1998-03-03 1999-09-17 Sonny Kihara Kenkyusho:Kk 画像編集装置及び方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8086664B2 (en) 2001-09-24 2011-12-27 Siemens Industry, Inc. Method and apparatus for programming programmable controllers and generating configuration data from a centralized server
JP2005070898A (ja) * 2003-08-20 2005-03-17 Toshiba Corp 情報処理装置および表示制御方法
US7716194B2 (en) * 2005-01-12 2010-05-11 Microsoft Corporation File management system employing time line based representation of data
US8726194B2 (en) * 2007-07-27 2014-05-13 Qualcomm Incorporated Item selection using enhanced control
US10121171B1 (en) * 2014-12-18 2018-11-06 Amazon Technologies, Inc. Component-level rating system and method
US10587464B2 (en) * 2017-07-21 2020-03-10 Accenture Global Solutions Limited Automatic provisioning of a software development environment
CN107992301B (zh) * 2017-11-27 2020-02-21 腾讯科技(上海)有限公司 用户界面实现方法、客户端及存储介质
US10901707B2 (en) * 2018-09-21 2021-01-26 Salesforce.Com, Inc. Declarative container components for builders

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1139145A (ja) * 1997-07-24 1999-02-12 Casio Comput Co Ltd プログラム構築支援装置及び記憶媒体
JPH11250276A (ja) * 1998-03-03 1999-09-17 Sonny Kihara Kenkyusho:Kk 画像編集装置及び方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
MIA-PO: "「マウスオーバーした時にHTML要素が沈んだように見せるCSSの例」", BBH -BIZ BRANDING HUB- [オンライン], JPN6022025911, 18 August 2019 (2019-08-18), ISSN: 0004812438 *
MSLGT: "「AngularのAnimate2」", VAGUELY [オンライン], JPN6022025913, 16 March 2017 (2017-03-16), ISSN: 0004812439 *
上野 学: ""システム開発におけるUI設計を見直す!!"", システム開発ジャーナル VOL.2, vol. 初版, JPN6022025918, 29 January 2008 (2008-01-29), pages 72 - 88, ISSN: 0004812440 *

Also Published As

Publication number Publication date
CN113641349A (zh) 2021-11-12
US20210334075A1 (en) 2021-10-28
EP3905028A1 (en) 2021-11-03

Similar Documents

Publication Publication Date Title
US11816309B2 (en) User interface logical and execution view navigation and shifting
US11609771B2 (en) Hierarchical data binding for industrial control systems
US9792354B2 (en) Context aware user interface parts
US11733669B2 (en) Task based configuration presentation context
US10846065B2 (en) Messaging between components in graphical user interfaces for industrial control systems
US11775142B2 (en) Preferential automation view curation
EP3905030A1 (en) System for providing software development environment, method for providing software development environment, and non-transitory computer readable medium
JP2021174314A (ja) ソフトウェア開発環境提供システム、ソフトウェア開発環境提供方法、及びソフトウェア開発環境提供プログラム
JP2022012393A (ja) ソフトウェア開発環境提供システム、ソフトウェア開発環境提供方法、及びソフトウェア開発環境提供プログラム
JP7115506B2 (ja) ソフトウェア開発環境提供システム、ソフトウェア開発環境提供方法、及びソフトウェア開発環境提供プログラム
Grøtte et al. Building and deploying an open plug-and-play solution for supervisory well construction automation
JP2022012394A (ja) ソフトウェア開発環境提供システム、ソフトウェア開発環境提供方法、及びソフトウェア開発環境提供プログラム
US11934315B1 (en) Controlled activation of interdependent bindings
CN115840422A (zh) 工业自动化控制器项目在线/离线状态分离

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210616

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220525

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220628

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20220801