13 research outputs found
Creating Reusable Educational Components: Lessons from DLESE
Reuse of educational materials is integral to many educator tasks, from designing a course to preparing for a lab or class. This article describes a study on the reuse of educational materials in the context of the Digital Library for Earth System Education (DLESE), a community-owned and governed facility offering high-quality teaching and learning resources for Earth system education. The study noted that educational resource designers often do not develop components with reuse in mind, making it more difficult or impossible for other educators to find and use their material, and that the 'findability' and reusability of community-created digital educational resources is highly dependent on the presentational and structural design of the resources themselves. The authors recommend that all resources clearly state the creator's name and contact information, relevant copyright restrictions, the most significant date for the resource (specifying creation or revision), and the intended grade level. Educational levels: Graduate or professional, Graduate or professional, Graduate or professional
A Conceptual Framework for Agent-based Information Resource Management
Abstract. The information systems manager is often constrained by maintaining a certain threshold amount of memory for an organization. However, this requires more than technical and managerial resolutions, encompassing knowledge management for the group, eliciting tacit knowledge from the end users, and pattern and time series analyses of utilization for various applications. This paper proposes a framework for building an automated intelligent agent for memory management under the client-server architecture. The emphasis is on collecting the needs of the organization and acquiring the application usage patterns for each client involved in real time. Due to dynamic nature of the tasks, incorporation of a neural network architecture with tacit knowledge base is suggested
Gjxdm Documents and Small Law Enforcement Agencies
The purpose of this paper is to demonstrate that while the Global Justice XML Data Model (GJXDM) is a complete and effective solution for criminal justice agencies it is complex to implement and difficult for smaller law enforcement agencies to put into practice. The paper presents the current implementation steps for a new GJXDM document and describes the process of implementing an existing GJXDM document. The paper also presents a tool for agencies to start using and processing GJXDM documents. Also offered within the paper is a design for a central repository for increasing GJXDM information sharing and dissemination of GJXDM software artifacts
Structuring Documentation to Support State Search: A Laboratory Experiment about Protocol Programming
Abstract. Application Programming Interfaces (APIs) often define object protocols. Objects with protocols have a finite number of states and in each state a different set of method calls is valid. Many researchers have developed protocol verification tools because protocols are notoriously difficult to follow correctly. However, recent research suggests that a major challenge for API protocol programmers is effectively searching the state space. Verification is an ineffective guide for this kind of search. In this paper we instead propose Plaiddoc, which is like Javadoc except it organizes methods by state instead of by class and it includes explicit state transitions, state-based type specifications, and rich state relationships. We compare Plaiddoc to a Javadoc control in a betweensubjects laboratory experiment. We find that Plaiddoc participants complete state search tasks in significantly less time and with significantly fewer errors than Javadoc participants
Komponenttikuvauskanta osana yrityksen Java EE-ympäristön hallintaa ja sovelluskehitystä
Komponenttien kuvaaminen on yksi yrityksen Java EE -ympäristön hallintaan liittyvistä kolmesta osa-alueesta.
Kaksi muuta ovat versionhallinta ja paketointi sekä konfiguraation hallinta.
Kaikkia näitä yhdessä kutsutaan sovelluskehityksen hallintavälineiksi.
Tutkimuksessa keskityttiin komponenttikuvauskantaan, jota käytetään yrityksen komponenttien kuvaamiseen yhtenäisellä tavalla.
Tutkimuksen keskeisin tavoite oli löytää toteutusmalli komponenttikuvauskannalle sekä määritellä komponenteista kuvattavat tiedot.
Myös komponenttikuvauskannan liittymät muihin hallintavälineisiin olivat tärkeässä roolissa.
Lisäksi tutkimuksessa havainnollistettiin välineiden käytöllä saavutettavia parannuksia kehittämisen tehokkuuteen.
Tutkimuksen alkupuolella määriteltiin komponentteihin ja niiden hallintaan keskeisesti liittyvät käsitteet: komponentti, rajapinta, uudelleenkäyttö, Component-Based Software Delevelopment - sovelluskehitysmalli ja Software Configuration Management -järjestelmät.
Käsitteiden jälkeen esiteltiin tarkemmin kunkin sovelluskehityksen hallintavälineen toiminnallisuus liittymineen.
Tutkimuksessa kävi ilmi, ettei valmista toteutusmallia olisi löydettävissä akateemisesta maailmasta tai teollisuudesta.
Myöskään kohdeyritykseen soveltuvaa komponenttikuvauskantavälinettä tai sen sisältävää hallintavälinekokonaisuutta ei ole tullut vastaan tutkimuksen aikana.
Tästä seurasi, että toteutusmalli muodostettiin kohdeyrityksen sisäisten tarpeiden mukaisesti.
Toteutusmallin kannalta oli oleellista esitellä kohdeyrityksen sovelluskehitysprosessiin osallistuvat roolit ja toimintaympäristö.
Näiden jälkeen määriteltiin komponenttikuvauskannan vaatimukset, joihin sisältyvät komponenteista kuvattavat tiedot ja kuvauskannan toiminnallisuus.
Seuraavaksi kuvattiin vaatimusten pohjalta toteutettu komponenttikuvauskanta.
Kohdeyrityksen toteutus arvioitiin tutkimusteorian pohjalta, sillä toteutusta ei ehditty ottaa käyttöön tutkimuksen aikana.
Tutkimuksen keskeisimmät tulokset olivat komponenttikäsitteen rajaus, konkreettisen toteutusmallin muodostaminen sekä komponenteista kuvattavien tietojen kerääminen ja kokoaminen.
Välineiden käytöllä johdettiin saavutettavan parannuksia kehittämisen tehokkuuteen mm. tehokkaamman tiedotuksen, helpomman viestinnän ja nopeamman hallinnoinnin seurauksena.
Myös uudelleenkäytettävyyden ja siihen perustuvan sovelluskehitysmallin kriittinen tarkastelu oli tärkeää tulevaisuuden haasteiden tunnistamisen vuoksi
Recommended from our members
An Information Foraging Theory Perspective on Tools for Debugging, Refactoring, and Reuse Tasks
Theories of human behavior are an important but largely untapped resource for software engineering research. They facilitate understanding of human developers’ needs and activities, and thus can serve as a valuable resource to researchers designing software engineering tools. Furthermore, theories abstract beyond specific methods and tools to fundamental principles that can be applied to new situations. Toward filling this gap, we investigate the applicability and utility of Information Foraging Theory (IFT) for understanding information-intensive software engineering tasks, drawing upon literature in three areas: debugging, refactoring, and reuse. In particular, we focus on software engineering tools that aim to support information-intensive activities, that is, activities in which developers spend time seeking information. Regarding applicability, we consider whether and how the mathematical equations within IFT can be used to explain why certain existing tools have proven empirically successful at helping software engineers. Regarding utility, we applied an IFT perspective to identify recurring design patterns in these successful tools, and consider what opportunities for future research are revealed by our IFT perspective.Keywords: Programming Environments, Software maintenance, Integrated environments, Information foraging, Interactive environments, Programmer workbench, Human Factors, DesignKeywords: Programming Environments, Software maintenance, Integrated environments, Information foraging, Interactive environments, Programmer workbench, Human Factors, Desig
Exploring regularities in software with statistical models and their applications
Software systems are becoming popular. They are used with different platforms for different applications. Software systems are developed with support from programming languages, which help developers work conveniently. Programming languages can have different paradigms with different form, syntactic structures, keywords, and representation ways. In many cases, however, programming languages are similar in different important aspects: 1. They are used to support description of specific tasks, 2. Source codes are written in languages and includes a limit set of distinctive tokens, many tokens are repeated like keywords, function calls, and 3. They follow specific syntactic rules to make machine understanding. Those points also respect the similarity between programming language and natural language.
Due to its critical role in many applications, natural language processing (NLP) has been studied much and given many promising results like automatic cross-language translation, speech-to-text, information searching, etc. It is interesting to observe if there are similar characteristics between natural language and programming language and whether techniques in NLP can be reused for programming language processing? Recent works in software engineering (SE) shows that their similarities between NLP and programming language processing and techniques in NLP can be reused for PLP.
This dissertation introduces my works with contributions in study of characteristics of programming languages, the models which employed them and the main applications that show the usefulness of the proposed models. Study in both three aspects has drawn interests from software engineering community and received awards due to their innovation and applicability. \u27
I hope that this dissertation will bring a systematic view of how advantage techniques in natural language processing and machine learning can be re-used and give huge benefit for programming language processing, and how those techniques are adapted with characteristics of programming language and software systems