12 research outputs found
Lampu Pijar Pada Analogi Instalasi Listrik Fase-tiga Terkendali Melalui Smartphone Berbasis Android Terhubung Internet Berbantuan Mikrokontroler
Telah dilakukan (a) perakitan (assembling) untuk perolehan bentuk fisis minimum system melalui keberhasilan handshaking secara (i) hardware dan (ii) software dan (b) pengukuran kinerja minimum system melalui (i) pembuatan tampilan kebutuhan sistem secara hardware dan software dan (ii) pemberian kondisi untuk pemantauan dan pengendalian pada analogi instalasi listrik fase-tiga. Handshaking secara hardware diperoleh melalui: (i) integrasi sejumlah peranti elektronika, yaitu: i) mikrokontroler Arduino UNO R3, ii) Arduino ethernet shield W5100, iii) Mikrotik RouterBrand, iv) modul relai, dan v) smartphone berbasis Android dan analogi instalasi listrik fase-3. Handshaking secara software diperoleh dengan tahapan berupa 4 (empat) langkah, yaitu: (i) pemasangan Arduino IDE versi 1.8.1 berbasis bahasa C untuk comfiling dan uploading ke peranti mikrokontroler Arduino UNO R3, (ii) pembuatan aplikasi untuk smartphone berbasis Android, (ii) pengunduhan software untuk pemasangan aplikasi pada smartphone berbasis Android, dan (iv) pemasangan file dengan format apk pada smartphone berbasis Android. Minimum system terpasang dengan pengontrol mikro pada mikrokontroler Arduino UNO R3 dan perangkat smartphone berbasis Android sebagai pusat kendali. Keberadaan tampi;an untuk pelaksanaan pengamatan terhadap pengukuran kinerja minimum system didasarkan kepada 2 (dua) kebutuhan system, sistem hardware dan software. Pengukuran kinerja dilakukan dengan pemantauan dan pengendalian pada analogi instalasi listrik fase-tiga, melalui 3 (tiga) pemberian kondisi berbeda pada jalur fase-R atau fase-S atau fase-T. Pemantauan dan pengengalian dengan pemberian kondisi telah sesuai dengan keberadaan minimum system. Kata
Documentation Reuse: Hot or Not? An Empirical Study
International audienceHaving available a high quality documentation is critical for software projects. This is why documentation tools such as Javadoc are so popular. As for code, documentation should be reused when possible to increase developer productivity and simplify maintenance. In this paper, we perform an empirical study of duplications in JavaDoc documentation on a corpus of seven famous Java APIs. Our results show that copy-pastes of JavaDoc documentation tags are abundant in our corpus. We also show that these copy-pastes are caused by four different kinds of relations in the underlying source code. In addition, we show that popular documentation tools do not provide any reuse mechanism to cope with these relations. Finally, we make a proposal for a simple but efficient automatic reuse mechanism
On Using Machine Learning to Identify Knowledge in API Reference Documentation
Using API reference documentation like JavaDoc is an integral part of
software development. Previous research introduced a grounded taxonomy that
organizes API documentation knowledge in 12 types, including knowledge about
the Functionality, Structure, and Quality of an API. We study how well modern
text classification approaches can automatically identify documentation
containing specific knowledge types. We compared conventional machine learning
(k-NN and SVM) and deep learning approaches trained on manually annotated Java
and .NET API documentation (n = 5,574). When classifying the knowledge types
individually (i.e., multiple binary classifiers) the best AUPRC was up to 87%.
The deep learning and SVM classifiers seem complementary. For four knowledge
types (Concept, Control, Pattern, and Non-Information), SVM clearly outperforms
deep learning which, on the other hand, is more accurate for identifying the
remaining types. When considering multiple knowledge types at once (i.e.,
multi-label classification) deep learning outperforms na\"ive baselines and
traditional machine learning achieving a MacroAUC up to 79%. We also compared
classifiers using embeddings pre-trained on generic text corpora and
StackOverflow but did not observe significant improvements. Finally, to assess
the generalizability of the classifiers, we re-tested them on a different,
unseen Python documentation dataset. Classifiers for Functionality, Concept,
Purpose, Pattern, and Directive seem to generalize from Java and .NET to Python
documentation. The accuracy related to the remaining types seems API-specific.
We discuss our results and how they inform the development of tools for
supporting developers sharing and accessing API knowledge. Published article:
https://doi.org/10.1145/3338906.333894
An Unsupervised Approach for Discovering Relevant Tutorial Fragments for APIs
Developers increasingly rely on API tutorials to facilitate software
development. However, it remains a challenging task for them to discover
relevant API tutorial fragments explaining unfamiliar APIs. Existing supervised
approaches suffer from the heavy burden of manually preparing corpus-specific
annotated data and features. In this study, we propose a novel unsupervised
approach, namely Fragment Recommender for APIs with PageRank and Topic model
(FRAPT). FRAPT can well address two main challenges lying in the task and
effectively determine relevant tutorial fragments for APIs. In FRAPT, a
Fragment Parser is proposed to identify APIs in tutorial fragments and replace
ambiguous pronouns and variables with related ontologies and API names, so as
to address the pronoun and variable resolution challenge. Then, a Fragment
Filter employs a set of nonexplanatory detection rules to remove
non-explanatory fragments, thus address the non-explanatory fragment
identification challenge. Finally, two correlation scores are achieved and
aggregated to determine relevant fragments for APIs, by applying both topic
model and PageRank algorithm to the retained fragments. Extensive experiments
over two publicly open tutorial corpora show that, FRAPT improves the
state-of-the-art approach by 8.77% and 12.32% respectively in terms of
F-Measure. The effectiveness of key components of FRAPT is also validated.Comment: 11 pages, 8 figures, In Proc. of 39rd IEEE International Conference
on Software Engineering (ICSE'17
Trajectory Tracking of a Four Degree of Freedom Robotic Manipulator
A robotic manipulator can be utilized for multiple applications. As there are some expensive and bulky robotic manipulators with multi-functionalities are available in the market but not affordable for many people, a low-cost robotic manipulator, Dobot Magician, available in the market is used in this research to add more features in it. The forward kinematics and inverse kinematics are analyzed in this research besides studying about PID and computed torque control approaches. In this research, alphabets and numbers are coded using an object-oriented programming language (C#) to make the learning of alphabet, numbers, words, and sentence writing more fun to the children. Moreover, it has been found that the same robot and the same operation can be implemented in other applications. A speech recognizer is implemented to control the robot to execute some activities of daily living tasks which make it more accessible to the elderly individuals and the people with disabilities
What should developers be aware of?:an empirical study on the directives of API documentation
Application Programming Interfaces (API) are exposed to developers in order to reuse software libraries. API directives are natural-language statements in API documentation that make developers aware of constraints and guidelines related to the usage of an API. This paper presents the design and the results of an empirical study on the directives of API documentation of object-oriented libraries. Its main contribution is to propose and extensively discuss a taxonomy of 23 kinds of API directives