In this paper we present the experience gained and lessons learned when the IT department at Statoil ASA, a large Oil and Gas company in Norway, applied Domain-Driven design techniques in combination with agile softwa...
详细信息
ISBN:
(纸本)9781595938657
In this paper we present the experience gained and lessons learned when the IT department at Statoil ASA, a large Oil and Gas company in Norway, applied Domain-Driven design techniques in combination with agile software development practices to assess the software architecture of our next generation oil trading and supply chain application. Our hypothesis was that the use of object oriented techniques, Domain-Driven design and a proper objectrelational mapping tool would significantly improve the performance and reduce the code base compared with current legacy systems. The legacy system is based on several Oracle databases serving a variety of clients written in Java, Gupta Centura Team Developer and HTML. The databases have a layer of business logic written in PL/SQL offering various system services to the clients. To validate our new object oriented software architecture, we re-implemented one of the most computationally heavy and data intensive services using Test First and Domain-Driven design techniques. The resulting software was then tested on a set of servers with a representative subset of data from the production environment. We found that using these techniques improved our software architecture with respect to performance as well as code quality when running on top of our Oracle databases. We also tested the switch to an object database from Versant and achieved additional performance gains.
Data structure corruptions are insidious bugs that reduce reliability of software systems. Constraint-based data repair promises to help programs recover from crippling corruption errors. Prior work repairs variety of...
详细信息
ISBN:
(纸本)1595937862
Data structure corruptions are insidious bugs that reduce reliability of software systems. Constraint-based data repair promises to help programs recover from crippling corruption errors. Prior work repairs variety of relatively small data structures, usually with of nodes. present STARC which uses static analysis to repair structures with tens of thousands of nodes. Given a predicate method that describes the integrity constraints a structure, STARC statically analyzes the method to : (1) the recurrent fields, i.e., fields that the predicate uses to traverse the structure; and (2) local fieldconstraints, i.e., how the value of an object field is related to value of a neighboring object field. STARC executes the method on the structure and monitors its execution identify corrupt object fields, which STARC then repairs a systematic search of a neighborhood of the given. Each repair action is guided by the result of the analysis, which enables more efficient and effective compared to prior work. Experimental results show STARC can repair structures with tens of thousands of, up to 100 times larger than prior work. efficiency is probably not practical for very large structures in deployed systems, but opens a promising direction for future work. Copyright 2007 ACM.
A highly scalable flash-based Field Programmable Gate Array (FPGA) technology has been achieved with Deep Trench Isolation (DTI). The DTI allows for a reduced cell size and enables Independent Pwell (IPW) array operat...
详细信息
A highly scalable flash-based Field Programmable Gate Array (FPGA) technology has been achieved with Deep Trench Isolation (DTI). The DTI allows for a reduced cell size and enables Independent Pwell (IPW) array operation. The IPW FPGA array operation requires less than + 10 V during Uniform Channel FN-FN programming and shows negligible gate disturb. Additionally, it eliminates Gate-Induced Drain Leakage (GIDL) during programming. Characterization of a FPGA cell and array with 90 nm design rules is demonstrated with excellent electrical characteristics.
A pattern language consists of a cascade or hierarchy of parts, linked closely together by patterns, which solve generically recurring problems that are associated with the parts. Each pattern has a title, and collect...
详细信息
ISBN:
(纸本)9781595938657
A pattern language consists of a cascade or hierarchy of parts, linked closely together by patterns, which solve generically recurring problems that are associated with the parts. Each pattern has a title, and collectively the titles form a language for design [1] Pattern Languages are in life, simply a collection of interrelated patterns [2]. These interrelated patterns are combined in any way and combination to create new environments, where practitioners can solve context-specific ***, the concept of pattern languages has invaded over into the software engineering field, to describe prior experiences and the processes that stem from them, in a very simple language, where patterns are tactfully woven as a whole, and can be combined in any manner to solve a particular and complex problem. Yet, this process is still done in an ad-hoc manner and is not straightforward enough, to ease and speed up the software development ***, this workshop is driven forward by three main ***, how can we classify, develop, and utilize analysis and design patterns together towards the path of a problem resolution? Second, what is the "behind-the-"language that guides the sewing of patterns together as a whole? And third, how can we overcome and face challenges, other than patterns composition problems (patterns traceability, etc.) that can hinder the development of a system of patterns?
Monitoring-Oriented programming (MOP1) [21, 18, 22, 19] is a formal framework for software development and analysis, in which the developer specifies desired properties using definable specification formalisms, along ...
详细信息
A 1.8V 4 Mb floating-gate flash test chip utilizing back bias assisted band-to-band tunneling induced hot electron (B4-HE) injection mechanism (B4-Flash) has been fabricated. Double source line architecture (DSLA) and...
详细信息
A 1.8V 4 Mb floating-gate flash test chip utilizing back bias assisted band-to-band tunneling induced hot electron (B4-HE) injection mechanism (B4-Flash) has been fabricated. Double source line architecture (DSLA) and selective verifying method (SVM), applied to NOR arrayed B4-Flash enables to achieve 100 MB/s programming speed. The MLC capability of B4-Flash memory is also shown by realizing three levels of programmed Vth distribution with 0.8V width.
Recently, we proposed a new clock-free nanowire crossbar architecture based on a delay- insensitive paradigm called Null Convention logic (NCL). The proposed architecture has simple periodic structure that is suitable...
详细信息
ISBN:
(纸本)0769528856
Recently, we proposed a new clock-free nanowire crossbar architecture based on a delay- insensitive paradigm called Null Convention logic (NCL). The proposed architecture has simple periodic structure that is suitable for non-deterministic nanoscale assembly and does not require a clock distribution network - so it is intrinsically free from timing-related failure modes. Even though the proposed architecture offers improved manufacturability, it is still not free from defects. This paper elaborates on the different programming techniques to map a given threshold gate macro on a random PGMB (Programmable Gate Macro Block) with predefined dimension. Defect-Aware and Defect Unaware approaches have been considered to map a given threshold gate onto a PGMB without affecting its functionality. Defect aware approach uses a defect map, gate table which help in efficient programming and also conservative use of resources. Defect unaware approach on the other hand is faster than defect aware approach, does not use defect maps and is not as efficient as defect aware approach. Parametric simulation results using MATLAB are used to show the programmability of these approaches under various circumstances.
Software verification presents many challenges. One of these isproviding programmers with automated tool support for verification, another is providing specification support that captures common programming idioms. In...
详细信息
ISBN:
(纸本)9781595938824
Software verification presents many challenges. One of these isproviding programmers with automated tool support for verification, another is providing specification support that captures common programming idioms. In this talk, I will discuss these two challenges, drawing from experience with building program verifiersfor Spec# and C. I will also give a demo of the Spec# programming system, which includes the automatic static program verifier Boogie.
Higher-level languages interface with lower-level languages such as C to access platform functionality, reuse legacy libraries, or improve performance. This raises the issue of how to best integrate different language...
详细信息
Higher-level languages interface with lower-level languages such as C to access platform functionality, reuse legacy libraries, or improve performance. This raises the issue of how to best integrate different languages while also reconciling productivity, safety, portability, and efficiency. This paper presents Jeannie, a new language design for integrating Java with C. In Jeannie, both Java and C code are nested within each other in the same file and compile down to JNI, the Java platform's standard foreign function interface. By combining the two languages' syntax and semantics, Jeannie eliminates verbose boiler-plate code, enables static error detection across the language boundary, and simplifies dynamic resource management. We describe the Jeannie language and its compiler, while also highlighting lessons from composing two mature programming languages.
暂无评论