3 research outputs found

    S.IM.PL Serialization: Type System Scopes Encapsulate Cross-Language, Multi-Format Information Binding

    Get PDF
    Representing data outside of and between programs is important in software that stores, shares, and manipulates information. Formats for representing information, varying from human-readable verbose (XML) to light-weight, concise (JSON), and non-human-readable formats (TLV) have been developed and used by applications based on their data and communication requirements. Writing correct programs that produce information represented in these formats is a difficult and time-consuming task, as developers must write repetitive, tedious code to map loosely-typed serialized data to strongly-typed program objects. We developed S.IM.PL Serialization, a cross-language multi-format information binding framework to relieve developers from the burdens associated with the serialization of strongly-typed data structures. We developed type system scopes, a means of encapsulating data types and binding semantics as a cross-language abstract semantics graph. In comparison to representing data binding semantics and information structure through external forms such as schemas, configuration files, and interface description languages, type system scopes can be automatically generated from declarations in a data binding annotation language, facilitating software engineering. Validation is based on use in research applications, a study of how computer science graduate students use the software to develop applications, and performance benchmarks. As a case study, we also examine the cross-language development of a Team Coordination (TeC) game

    Meta-Metadata: An Information Semantic Language and Software Architecture for Collection Visualization Application

    Get PDF
    Information collection and discovery tasks involve aggregation and manipulation of information resources. An information resource is a location from which a human gathers data to contribute to his/her understanding of something significant. Repositories of information resources include the Google search engine, the ACM Digital Library, Wikipedia, Flickr, and IMDB. Information discovery tasks involve having new ideas in contexts of information collecting. The information one needs to collect is large and diverse and hard to keep track of. The heterogeneity and scale also make difficult writing software to support information collection and discovery tasks. Metadata is a structured means for describing information resources. It forms the basis of digital libraries and search engines. As metadata is often called, "data about data," we define meta-metadata as a formal means for describing metadata as an XML based language. We consider the lifecycle of metadata in information collection and discovery tasks and develop a metametadata architecture which deals with the data structures for representation of metadata inside programs, extraction from information resources, rules for presentation to users, and logic that defines how an application needs to operate on metadata. Semantic actions for an information resource collection are steps taken to generate representative objects, including formation of iconographic image and text surrogates, associated with metadata. The meta-metadata language serves as a layer of abstraction between information resources, power users, and application developers. A power user can enhance an existing collection visualization application by authoring meta-metadata for a new information resource without modifying the application source code. The architecture provides a set of interfaces for semantic actions which different information discovery and visualization applications can implement according to their own custom requirements. Application developers can modify the implementation of these semantic actions to change the behavior of their application, regardless of the information resource. We have used our architecture in combinFormation, an information discovery and collection visualization application and validated it through a user study
    corecore