44 research outputs found
API Documentation Generator
The importance of Application Programming Interfaces (APIs) in contemporary software development processes is growing. It can be challenging for developers to rapidly comprehend how to utilize a new API; therefore, good documentation is required.
For efficient documentation support, we must understand how developers utilize widely available tools today. We provide the results of an exploratory study that examined the pros and cons of observing programmers as they used a basic application programming interface to find solutions. By utilizing an existing API documentation, you can save time and money by not having to reinvent the wheel when integrating with third-party enterprise systems and devices.
This thesis describes and evaluates a unique technique to meeting API documentation requirements. I present a list of standards for the documentation of a selection of API tools based on my analysis of the existing literature and standard industry practice. I compare and contrast the documentation processes of Postman, Redocly, SwaggerHub, JavaDoc, and AutoREST with my own prototype implementation, which includes sample code for interacting with the API. I did a randomized study to establish the optimal method for determining the significance of API documentation requirements and to identify a strategy for simplifying documentation, with a focus on fulfilling the needs of user developers.
Using Postman, Redocly, SwaggerHub, JavaDoc, and AutoREST, I found reoccurring difficulties that may be minimized with the suggested documentation
Enabling technologies for a web-based urban street construction permit system
Thesis (M.Eng.)--Massachusetts Institute of Technology, Dept. of Civil and Environmental Engineering, 2001.Includes bibliographical references (leaves 87-88).This thesis is focused on the enabling technologies for a web-based urban street construction permit system. The web-based application system can automatically verify the various constraints, issue the permit if the constraints are met, notify the relevant persons of the issuance of the permit, update the pavement status for the affected street and prepare the billing report for further processing with the existing billing system. The web-based permit system is divided into two sub-systems: External System and Internal System. The external system is used by contractor/utility companies for permit application, and the internal system is used solely by authorized internal users for maintenance of the system or permit application on behalf of contractor/utility companies when there is such a necessity. These two sub-systems share the same underlying database system. In order to develop this web-based permit system, the following J2EE technologies have been used: Enterprise JavaBeans, JavaServer Pages, Servlet and JDBC API. Other J2EE technologies such as Transaction, JNDI and XML are also discussed where appropriate. The following development environments to support these technologies are also presented in this thesis: Red Hat Linux 7.0, Java 2 Platform, Tomcat Server 3.2.1, Database MySQL 2.1.4, and JDBC Driver 2.0.4 for MySQL. As an example, Arlington permit system was used to demonstrate the design of an Entity- Relationship model, and an Enterprise JavaBeans application.by Changxin Qi.M.Eng
Generalized Platform for Creating of Testing Games
The thesis is an extension and a generalization of a previous theses done by Antonio Carro and Eduard MartĂnez. The goal of this work is to create a virtual platform where the teachers will be able to define different structures for the tests,create tests and follow the students progress. This virtual platform will have an architecture of server-client allowing the platform independence and the future development of mobile clients also the possible integration of other e-learning platforms in the market. The main programming languages will be PHP, Javascriptii, CSS for the Internet platform and web services
Virtual Java Machines for Small Embedded Systems
Die objektorientierte Programmiersprache Java ist auf eingebetteten Systemen noch nicht stark verbreitet, meist aus KostengrĂŒnden. Eine virtuelle Java Maschine erfordert normalerweise ein leistungsfĂ€higeres System. Diese Arbeit befasst sich damit, Java auf besonders preiswerten 8-Bit-Mikrocontrollern auszufĂŒhren. Das eröffnet fĂŒr Java die Welt der Messung, Steuerung und Regelung und verknĂŒpft sie mit Benutzerinteraktion und Kommunikation. Java kann mit geringerem Programmieraufwand dazu beitragen, beispielsweise einen Haushalt zu steuern und zu ĂŒberwachen. FĂŒr die speichereffiziente Umsetzung von Java werden einige Techniken evaluiert und auf einem Mikrocontroller (ST7) integriert. Mittels einer Vorverarbeitung von Java-Programmen und der virtuellen Maschine selbst auf einem Entwicklungssystem wird der Platzbedarf auf dem Zielsystem verringert. Geeignete Datenstrukturen und Klassenbibliotheken (API) belegen nur wenig Laufzeitspeicher mit Daten. Die Kombination von Java-Bytecode mit zielsystemabhĂ€ngigen nativen Code ermöglicht die Ansteuerung von Peripheriekomponenten. Geeignete Zeitsteuerungen (zeitschrankenbasiertes Thread-Scheduling) machen Java auch fĂŒr zeitkritische Anwendungen geeignet. Zusammen mit einer Software-Umgebung auf dem Entwicklungssystem entstand ein einsatzfĂ€higes Java-System fĂŒr einen Mikrocontroller. Die bei der Entwicklung dieser JavaVM gemachten Erfahrungen werden schlieĂlich in neue Entwurfsverfahren zur Erstellung spezieller eingebetteter virtueller Maschinen umgesetzt. Dabei kommt ein vollstĂ€ndig in Java beschriebenes mehrschichtiges Modell zum Einsatz, das sich flexibel an verschiedene Zielsysteme anpassen lĂ€sst. Das Modell enthĂ€lt die virtuelle Maschine bestehend aus Kern und Laufzeitbibliothek sowie eine allgemeine Anwendungsprogrammierschnittstelle. Erst Code-Generatoren fĂŒgen den zielsystemabhĂ€ngigen nativen Code in das Modell ein.Java is an object oriented programming language. But mainly because of the costs itâs not widely used on embedded systems. Typical Java virtual machines require larger systems. This work aims for integration of Java on inexpensive 8-bit microcontrollers. This makes Java possible in the world of measurement, control and automation and allows the combination of control, user interaction and communication on a single system. E. g. Java can be used to enable home automation with less programming effort. To integrate Java on small embedded systems with low memory consumption, some techniques are explored and realized on a microcontroller (ST7). Due to preprocessing of Java programs and the virtual machine itself on a development system, the program memory allocation on the target system is reduced. Applicable data structures and class libraries (API) are designed to use as little data memory as possible. If Java bytecode is combined with the target systemâs native code, peripheral components can be utilized. Furthermore deadline based thread scheduling can be used for time critical tasks. Together with a software environment for development systems this results in an operative Java system on a microcontroller. Experiences developing this JavaVM are now resulting to new development practices for creation of specialized embedded virtual machines. A completely Java based multilayered model is able to match various target systems. The model contains the virtual machine (kernel and runtime) and a generic application programming interface. Only at the end, code generators insert target system specific native code into the model
Semantic technologies: from niche to the mainstream of Web 3? A comprehensive framework for web Information modelling and semantic annotation
Context: Web information technologies developed and applied in the last decade
have considerably changed the way web applications operate and have
revolutionised information management and knowledge discovery. Social
technologies, user-generated classification schemes and formal semantics have a
far-reaching sphere of influence. They promote collective intelligence, support
interoperability, enhance sustainability and instigate innovation.
Contribution: The research carried out and consequent publications follow the
various paradigms of semantic technologies, assess each approach, evaluate its
efficiency, identify the challenges involved and propose a comprehensive framework for web information modelling and semantic annotation, which is the thesisâ original contribution to knowledge. The proposed framework assists web information
modelling, facilitates semantic annotation and information retrieval, enables system interoperability and enhances information quality.
Implications: Semantic technologies coupled with social media and end-user
involvement can instigate innovative influence with wide organisational implications that can benefit a considerable range of industries. The scalable and sustainable business models of social computing and the collective intelligence of organisational social media can be resourcefully paired with internal research and knowledge from interoperable information repositories, back-end databases and legacy systems.
Semantified information assets can free human resources so that they can be used to better serve business development, support innovation and increase productivity
The busy coder's guide to Android development
380 p. ; il. , Indice.Libro ElectrĂłnicoIf you are interested in programming for Android, you will need at least basic understanding of how to program in Java. Android programming is done using Java syntax, plus a class library that resembles a subset of the Java SE library (plus Android-specific extensions). If you have not programmed in Java before, you probably should quick learn how that works before attempting to dive into programming for Android.
The book does not cover in any detail how to download or install the Android development tools, either the Eclipse IDE flavor or the standalone flavor. The Android Web site covers this quite nicely. The material in the book should be relevant whether you use the IDE or not. You should download, install, and test out the Android development tools from the Android Web site before trying any of the examples listed in this book.Welcome to the Warescription!xiii
Prefacexv
Welcome to the Book!xv
Prerequisitesxv
Warescriptionxvi
Book Bug Bountyxvii
Source Code Licensexviii
Creative Commons and the Four-to-Free (42F) Guaranteexviii
The Big Picture1
What Androids Are Made Of3
Activities3
Content Providers4
Intents4
Services4
Stuff At Your Disposal5
Storage5
Network5
Multimedia5
GPS5
Phone Services6
Project Structure7
Root Contents7
The Sweat Off Your Brow8
iii
Subscribe to updates at http://commonswarecom Special Creative Commons BY-NC-SA 30 License Edition
And Now, The Rest of the Story8
What You Get Out Of It9
Inside the Manifest11
In The Beginning, There Was the Root, And It Was Good11
Permissions, Instrumentations, and Applications (Oh, My!)12
Your Application Does Something, Right?13
Creating a Skeleton Application17
Begin at the Beginning17
The Activity18
Dissecting the Activity19
Building and Running the Activity21
Using XML-Based Layouts23
What Is an XML-Based Layout?23
Why Use XML-Based Layouts?24
OK, So What Does It Look Like?25
What's With the @ Signs?26
And We Attach These to the JavaHow?26
The Rest of the Story27
Employing Basic Widgets29
Assigning Labels29
Button, Button, Who's Got the Button?30
Fleeting Images31
Fields of Green Or Other Colors31
Just Another Box to Check34
Turn the Radio Up37
It's Quite a View39
Useful Properties39
Useful Methods39
Working with Containers41
Thinking Linearly42
Concepts and Properties42
Example45
All Things Are Relative50
iv
Subscribe to updates at http://commonswarecom Special Creative Commons BY-NC-SA 30 License Edition
Concepts and Properties50
Example53
Tabula Rasa56
Concepts and Properties56
Example59
Scrollwork60
Using Selection Widgets65
Adapting to the Circumstances65
Using ArrayAdapter66
Other Key Adapters67
Lists of Naughty and Nice68
Spin Control70
Grid Your Lions (Or Something Like That)74
Fields: Now With 35% Less Typing!78
Galleries, Give Or Take The Art82
Employing Fancy Widgets and Containers83
Pick and Choose83
Time Keeps Flowing Like a River88
Making Progress89
Putting It On My Tab90
The Pieces91
The Idiosyncrasies91
Wiring It Together93
Other Containers of Note96
Applying Menus97
Flavors of Menu97
Menus of Options98
Menus in Context100
Taking a Peek102
Embedding the WebKit Browser107
A Browser, Writ Small107
Loading It Up109
Navigating the Waters111
v
Subscribe to updates at http://commonswarecom Special Creative Commons BY-NC-SA 30 License Edition
Entertaining the Client111
Settings, Preferences, and Options (Oh, My!)114
Showing Pop-Up Messages117
Raising Toasts117
Alert! Alert!118
Checking Them Out119
Dealing with Threads123
Getting Through the Handlers123
Messages124
Runnables127
Running In Place127
Utilities (And I Don't Mean Water Works)128
And Now, The Caveats128
Handling Activity Lifecycle Events131
Schroedinger's Activity131
Life, Death, and Your Activity132
onCreate() and onCompleteThaw()132
onStart(), onRestart(), and onResume()133
onPause(), onFreeze(), onStop(), and onDestroy()134
Using Preferences137
Getting What You Want137
Stating Your Preference138
A Preference For Action138
Accessing Files143
You And The Horse You Rode In On143
Readin' 'n Writin'147
Working with Resources151
The Resource Lineup151
String Theory152
Plain Strings152
String Formats153
Styled Text153
Styled Formats154
vi
Subscribe to updates at http://commonswarecom Special Creative Commons BY-NC-SA 30 License Edition
Got the Picture?158
XML: The Resource Way160
Miscellaneous Values163
Dimensions163
Colors164
Arrays165
Different Strokes for Different Folks166
Managing and Accessing Local Databases171
A Quick SQLite Primer172
Start at the Beginning173
Setting the Table174
Makin' Data174
What Goes Around, Comes Around176
Raw Queries176
Regular Queries177
Building with Builders177
Using Cursors179
Change for the Sake of Change179
Making Your Own Cursors180
Data, Data, Everywhere180
Leveraging Java Libraries183
The Outer Limits183
Ants and Jars184
Communicating via the Internet187
REST and Relaxation187
HTTP Operations via Apache Commons188
Parsing Responses190
Stuff To Consider192
Email over Java193
Creating Intent Filters199
What's Your Intent?200
Pieces of Intents200
Stock Options201
vii
Subscribe to updates at http://commonswarecom Special Creative Commons BY-NC-SA 30 License Edition
Intent Routing202
Stating Your Intent(ions)203
Narrow Receivers205
Launching Activities and Sub-Activities207
Peers and Subs208
Start 'Em Up208
Make an Intent209
Make the Call209
Finding Available Actions via Introspection215
Pick 'Em216
Adaptable Adapters220
Would You Like to See the Menu?223
Asking Around225
Using a Content Provider229
Pieces of Me229
Getting a Handle230
Makin' Queries231
Adapting to the Circumstances233
Doing It By Hand235
Position235
Getting Properties236
Setting Properties237
Give and Take238
Beware of the BLOB!239
Building a Content Provider241
First, Some Dissection241
Next, Some Typing242
Step #1: Create a Provider Class243
ContentProvider243
DatabaseContentProvider252
Step #2: Supply a Uri252
Step #3: Declare the Properties252
Step #4: Update the Manifest253
viii
Subscribe to updates at http://commonswarecom Special Creative Commons BY-NC-SA 30 License Edition
Notify-On-Change Support254
Requesting and Requiring Permissions257
Mother, May I?258
Halt! Who Goes There?259
Enforcing Permissions via the Manifest260
Enforcing Permissions Elsewhere261
May I See Your Documents?262
Creating a Service263
Getting Buzzed264
Service with Class264
When IPC Attacks!266
Write the AIDL267
Implement the Interface268
Manifest Destiny270
Where's the Remote?271
Invoking a Service273
Bound for Success274
Request for Service276
Prometheus Unbound276
Manual Transmission276
Alerting Users Via Notifications279
Types of Pestering279
Hardware Notifications280
Icons281
Letting Your Presence Be Felt281
Accessing Location-Based Services287
Location Providers: They Know Where You're Hiding288
Finding Yourself288
On the Move292
Are We There Yet? Are We There Yet? Are We There Yet?292
TestingTesting296
Mapping with MapView and MapActivity299
The Bare Bones299
ix
Subscribe to updates at http://commonswarecom Special Creative Commons BY-NC-SA 30 License Edition
Exercising Your Control301
Zoom301
Center302
Reticle303
Traffic and Terrain303
Follow You, Follow Me305
Layers Upon Layers307
Overlay Classes308
Drawing the Overlay308
Handling Screen Taps310
Playing Media313
Get Your Media On314
Making Noise315
Moving Pictures321
Handling Telephone Calls325
No, No, No â Not That IPhone326
What's Our Status?326
You Make the Call!326
Searching with SearchManager333
Hunting Season333
Search Yourself335
Craft the Search Activity336
Update the Manifest340
Try It Out342
The TourIt Sample Application347
Installing TourIt347
Demo Location Provider347
SD Card Image with Sample Tour348
Running TourIt349
Main Activity350
Configuration Activity352
Cue Sheet Activity354
Map Activity355
x
Subscribe to updates at http://commonswarecom Special Creative Commons BY-NC-SA 30 License Edition
Tour Update Activity357
Help Activity358
TourIt's Manifest359
TourIt's Content360
Data Storage361
Content Provider361
Model Classes361
TourIt's Activities362
TourListActivity362
TourViewActivity363
TourMapActivity367
TourEditActivity367
HelpActivity367
ConfigActivity36
Ontology-based context management for mobile devices
EThOS - Electronic Theses Online ServiceGBUnited Kingdo
A Mobile ECG Monitoring System with Context Collection
An objective of a health process is one where patients can stay healthy with the support of expert medical advice when they need it, at any location and any time. An associated aim would be the development of a system which places increased emphasis on preventative measures as a first point of contact with the patient. This research is a step along the road towards this type of preventative healthcare for cardiac patients. It seeks to develop a smart mobile ECG monitoring system that requests and records context information about what is happening around the subject when an arrhythmia event occurs. Context information about the subjectâs activities of daily living will, it is hoped, provide an enriched data set for clinicians and so improve clinical decision making. As a first step towards a mobile cardiac wellness guidelines system, the focus of this work is to develop a system that can receive bio-signals wirelessly, analyzing and storing the bio-signal in a handheld device and can collect context information when there are significant changes in bio-signs. For this purpose the author will use a low cost development environment to program a state of the art wireless prototype on a handheld computer that detects and responds to changes in the heart rate as calculated form the interval between successive heart beats. Although the general approach take in this work could be applied to a wide range of bio-signals, the research will focus on ECG signals. The pieces of the system are, A wireless receiver, data collection and storage module An efficient real time ECG beat detection algorithm A rule based (Event-Condition-Action) interactive system A simple user interface, which can request additional information form the user. A selection of real-time ECG detection algorithms have been investigated and one algorithm was implemented in MATLAB [110] and then in Java [142] for this project. In order to collect ECG signals (and in principle any signals) the generalised data collection architecture has also been developed utilizing Java [142] and Bluetooth [5] technology. This architecture uses an implementation of the abstract factory pattern [91] to ensure that the communication channel can be changed conveniently. Another core part of this project is a âwellnessâ guideline based on Event-Condition-Action (E-C-A) [68] production rule approach that originated in active databases. The work also focuses on design of a guideline based expert system which an E-C-A based implementation will be fully event driven using the Java programming language. Based on the authorâs experience and the literature review, some important issues in mobile healthcare along with the corresponding reasons, consequences and possible solutions will be presented
Proceedings of the 4th International Conference on Principles and Practices of Programming in Java
This book contains the proceedings of the 4th international conference on principles and practices of programming in Java. The conference focuses on the different aspects of the Java programming language and its applications