314,573 research outputs found
Recommended from our members
User interface development and software environments : the Chiron-1 system
User interface development systems for software environments have to cope with the broad, extensible and dynamic character of such environments, must support internal and external integration, and should enable various software development strategies. The Chiron-1 system adapts and extends key ideas from current research in user interface development systems to address the particular demands of software environments. Important Chiron-1 concepts are: separation of concerns, dynamism, and open architecture. We discuss the requirements on such user interface development systems, present the Chiron-1 architecture and a scenario of its usage, detail the concepts it embodies, and report on its design and prototype implementation
An Architecture for Multi-User Software Development Environments
We present an architecture for multi-user software development environments, covering general, process-centered and rule-based MUSDEs. Our architecture is founded on componentization, with particular concern for the capability to replace the synchronization component - to allow experimentation with novel concurrency control mechanisms - with minimal effects on other components while still supporting integration. The architecture has been implemented in the MARVEL SD
Recommended from our members
A metaphor and a conceptual architecture for software development environments
A conceptual architecture for software development environments (SDEs) is presented in terms of a new metaphor drawn from business enterprises. A metaphor is employed as the architecture is complex, requiring understanding from several perspectives. The metaphor provides a rich set of familiar concepts that strongly aid in understanding the environment architecture and software production. The metaphor is applicable to individual programming environments, software development environments supporting teams of developers, and to large-scale software production as a whole.The paper begins by considering three perspectives on SDEs, a function-based view, an objects-and-relations view, and a process-centered view. The process view, being the most encompassing, is held through the remainder of the paper. Three metaphors for organizing and explaining a process-centered environment are then examined, including the hierarchical contract model and the individual/family/city/state model. Next the corporation model is introduced and a detailed analogy is drawn between corporations and software development environments. Within the context of the corporation metaphor, three corporate organization schemes are reviewed and federal decentralization is argued to be most appropriate for an SDE. Relationships induced by such an organization are discussed and a mapping between the conceptual architecture and a possible implementation architecture is briefly discussed
Adaptive enterprise architecture drivenagiledevelopment
Agile development practices focus on developing and delivering working software systems in small iterations with minimal documentation. However, locally project focused agile practices overlook the need for holistic enterprise architecture. Lack of enterprise architecture in agile, especially in the large agile environments, may lead to a number of problems such as technical debt, unnecessary re-work, inconsistent communication, locally focused isolated architecture, design and implementation. There is a missing link between the enterprise architecture and agile development. Enterprise architecture is a strategic capability that should enable and enhance agility of agile development. However, organisations are not sure how best to approach strategic enterprise architecture capability for supporting agile development. This paper proposes and demonstrate the applicability of an integrated adaptive enterprise architecture driven agile development approach for large agile environments
Software Defined Media: Virtualization of Audio-Visual Services
Internet-native audio-visual services are witnessing rapid development. Among
these services, object-based audio-visual services are gaining importance. In
2014, we established the Software Defined Media (SDM) consortium to target new
research areas and markets involving object-based digital media and
Internet-by-design audio-visual environments. In this paper, we introduce the
SDM architecture that virtualizes networked audio-visual services along with
the development of smart buildings and smart cities using Internet of Things
(IoT) devices and smart building facilities. Moreover, we design the SDM
architecture as a layered architecture to promote the development of innovative
applications on the basis of rapid advancements in software-defined networking
(SDN). Then, we implement a prototype system based on the architecture, present
the system at an exhibition, and provide it as an SDM API to application
developers at hackathons. Various types of applications are developed using the
API at these events. An evaluation of SDM API access shows that the prototype
SDM platform effectively provides 3D audio reproducibility and interactiveness
for SDM applications.Comment: IEEE International Conference on Communications (ICC2017), Paris,
France, 21-25 May 201
Mobile application platform heterogeneity: Android vs Windows phone vs iOS vs Firefox OS
Modern smartphones have a rich spectrum of increasingly sophisticated features, opening opportunities for software-led innovation. Of the large number of platforms to develop new software on, in this paper we look closely at three platforms identified as market leaders for the smartphone market by Gartner Group in 2013 and one platform, Firefox OS, representing a new paradigm for operating systems based on web technologies. We compare the platforms in several different categories, such as software architecture, application development, platform capabilities and constraints, and, finally, developer support. Using the implementation of a mobile version of the tic-tac-toe game on all the four platforms, we seek to investigate strengths, weaknesses and challenges of mobile application development on these platforms. Big differences are highlighted when inspecting community environments, hardware abilities and platform maturity. These inevitably impact upon developer choices when deciding on mobile platform development strategies
Adaptive development and maintenance of user-centric software systems
A software system cannot be developed without considering the various facets of its environment. Stakeholders â including the users that play a central role â have their needs, expectations, and perceptions of a system. Organisational and technical aspects of the environment are constantly changing. The ability to adapt a software system and its requirements to its environment throughout its
full lifecycle is of paramount importance in a constantly changing environment. The continuous involvement of users is as important as the constant evaluation of the system and the observation of evolving environments. We present a methodology for adaptive software systems development and
maintenance. We draw upon a diverse range of accepted methods including participatory design, software architecture, and evolutionary design. Our focus is on user-centred software systems
Towards an Energy-Aware Framework for Application Development and Execution in Heterogeneous Parallel Architectures
The Transparent heterogeneous hardware Architecture deployment for eNergy Gain in Operation (TANGO) projectâs goal is to characterise factors which affect power consumption in software development and operation for Heterogeneous Parallel Hardware (HPA) environments. Its main contribution is the combination of requirements engineering and design modelling for self-adaptive software systems, with power consumption awareness in relation to these environments. The energy efficiency and application quality factors are integrated into the application lifecycle (design, implementation and operation). To support this, the key novelty of the project is a reference architecture and its implementation. Moreover, a programming model with built-in support for various hardware architectures including heterogeneous clusters, heterogeneous chips and programmable logic devices is provided. This leads to a new cross-layer programming approach for heterogeneous parallel hardware architectures featuring software and hardware modelling. Application power consumption and performance, data location and time-criticality optimization, as well as security and dependability requirements on the target hardware architecture are supported by the architecture
Recommended from our members
Intelligent Assistance for Software Development and Maintenance
This article presents an architecture for controlled automation in software development environments.
Controlled automation enables environments to behave as intelligent assistants by
answering questions about the software project and automatically invoking tools to further the
usersâ goal of producing a working software system. The discussion of the architecture focuses
primarily on the programming stages of development and maintenance. An environment assists
programmers by understanding the technical aspects of the evolving software system and by actively
participating in the programming process. The architecture supports these capabilities by
providing two kinds of knowledge representation: (1) the knowledge specific to a particular
software project is represented as entities in a database and (2) the knowledge that models programming
activities in general is represented as rules amenable to forward and backward chaining.
These rules enable an environment to automatically carry out each activity sometime between
when its conditions are satisfied and its results are required. The rules are grouped into
collections called strategies. One or more specific strategies are employed according to each
userâs current context and goals, and determine when forward or backward chaining should be
applied and which rules are considered during chaining. This architecture has been validated
through a prototype implementation that models the capabilities of an existing environment that
supports automation
SmartTools: a generator of interactive environments tools
SmartTools is a development environment generator that provides a structure editor and semantic tools as main features. The well-known visitor pattern technique is commonly used for designing semantic analysis, it has been automated and extended. SmartTools is easy to use thanks to its graphical user interface designed with the Java Swing APIs. It is built with an open architecture convinient for a partial or total integration of SmartTools in other environments. It makes the addition of new software components in SmartTools easy. As a result of the modular architecture, we built a distributed instance of SmartTools which required minimal effort. Being open to the XML technologies offers all the features of Smart Tools to any language defined with those technologies. But most of all, with its open architecture, SmartTools takes advantage of all the developments made around those technologies, like DOM, through the XML APIs. The fast development of SmartTools (which is a young project, one year old) validates our choices of being open and generic. The main goal of this tool is to provide help and support for designing software development environments for programming languages as well as application languages defined with XML technologies
- âŠ