44 research outputs found

    API Documentation Generator

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    EThOS - Electronic Theses Online ServiceGBUnited Kingdo

    A Mobile ECG Monitoring System with Context Collection

    Get PDF
    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

    Full text link
    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
    corecore